Commit graph

671 commits

Author SHA1 Message Date
Gaetan Delannay
30dbcb7dc7 [gen] Stop caching methods used as default values for gen field: it can lead to headaches. 2015-01-20 14:02:57 +01:00
Gaetan Delannay
d9a89f7ad5 [gen] Allow Refs with render='menus' to appear in layout 'buttons'. 2015-01-20 01:03:23 +01:00
Gaetan Delannay
34cafcdbc1 [gen] Improvements in the rendering of buttons throughout the web UI. [gen] Ref field and Search: added param 'showActions' allowing to show or not the range of icons and buttons below or besides every tied or queried object. 2015-01-19 15:44:09 +01:00
Gaetan Delannay
a905aaa139 [shared] Added utils::flipDict allowing to flip keys<->values of a dict. [gen] file.py: added missing i18n labels. [gen] Added css style for rendering nice tables within the message popup. 2015-01-16 20:22:29 +01:00
Gaetan Delannay
ffb8bed189 [pod] If you define a variable named 'tableName' inside a table, it will be used to name the table. For information, with Calc, every spreadsheet is represented as a table; the table name is the name that appears in the corresponding tab, in the bottom of the screen. 2015-01-14 11:46:25 +01:00
Gaetan Delannay
1730ce3c19 [pod] In an ods template, you can now define a variable 'columnsRepeated' that specifies, for every column of the table representing a spreadsheet, how much times it will be repeated bysubsequent 'for... cell' statements. For example, if you have a spreadsheet with 2 columns, and you will need to repeat the second one 100 times, define a statement 'do table with columnsRepeated=(1,100)'. If you don't do that, pod will be unable to guess what column must be repeated and how, will consider your table has having 2 columns and will produce a resulting table spreading the cells within a 2-columns wide table. 2015-01-13 17:02:59 +01:00
Gaetan Delannay
70906b0117 [gen] Indexes: bugfix. 2015-01-09 13:18:45 +01:00
Gaetan Delannay
863952ac3d [gen] Table of indexed fields: for managers only; added local roles in it. 2015-01-09 12:05:49 +01:00
Gaetan Delannay
bccc9c8320 [gen] Ensure the tool can't be deleted. [gen] Wrapper.sort can now sort according to param field.insert if sortKey is None. 2015-01-08 13:18:14 +01:00
Gaetan Delannay
90657e0faf [gen] Executng actions from list of tied objects (ref field): bugfix. 2015-01-07 18:20:48 +01:00
Gaetan Delannay
746a6cd52d [gen] Display action fields with layout 'buttons' in query results and tied objects for refs, besides transitions. [gen] Show delete button when allowed on the view layout. [gen] Improved method AbstractWrapper::createFrom. 2015-01-06 21:13:30 +01:00
Gaetan Delannay
225ea927a4 [gen] Bugfixes in the search machinery. 2015-01-02 16:16:48 +01:00
Gaetan Delannay
cf2cbc52d6 [gen] Highlight keywords in query results. 2014-12-30 11:23:03 +01:00
Gaetan Delannay
92d1276ffb [gen] Implemented live search. 2014-12-29 15:55:17 +01:00
Gaetan Delannay
8591611aac [gen] Added param Field.mustIndex, that, for indexed fields, defines (via a method) when indexation must occur or not. Indeed, in some cases, an index is required on some field but we don't want all objects to have an index value for this field at any time. 2014-12-26 17:29:14 +01:00
Gaetan Delannay
4461cbb9a8 [gen] Authorize anyone to get static content (images, css, js...) from any Appy app. 2014-12-26 13:51:40 +01:00
Gaetan Delannay
fd5e88928d [gen] Indexer: textual content of indexes now keep only words of more than 2 chars and other improvements. 2014-12-26 12:24:38 +01:00
Gaetan Delannay
06c656d278 [gen] Added the possibility to display the content of indexes for a given object on its view layout (param 'indexed' in the request). 2014-12-19 11:21:43 +01:00
Gaetan Delannay
982ae08997 [gen] Added method UserWrapper.addRole (add a role programmatically). Added to the LDAP config, a user map allowing to automatically assign roles and groups to ldap-imported users. 2014-12-18 13:54:12 +01:00
Gaetan Delannay
865e6bf08e [gen] Added the possiblity to synchronize external users from a LDAP. 2014-12-17 16:19:45 +01:00
Gaetan Delannay
6cd64fdc50 [gen] Bugfixes. 2014-12-15 19:36:00 +01:00
Gaetan Delannay
50bd996c3b [gen] Bugfixes. 2014-12-15 10:30:24 +01:00
Gaetan Delannay
8511c22612 [gen] Mixin.xml: if an error occurs, log it before xml-marshalling it to the caller app. 2014-12-12 14:47:39 +01:00
Gaetan Delannay
897b183b01 [shared] LinesCounter now counts lines of XML code. 2014-12-10 12:32:09 +01:00
Gaetan Delannay
e01615476b [gen] Added attribute Field.view allowing to specify, for any field, an alternative pxView. 2014-12-09 15:19:28 +01:00
Gaetan Delannay
186175250d [gen] Bugfix: the mime type received by Zope in FileUpload instances seems to be wrong under some unknown circumnstances. 2014-12-09 12:22:09 +01:00
Gaetan Delannay
b39c5553ea [shared] Improvements to the XmlMarshaller and bugfix: Mixin.xml returns appy.Object instances correctly marshalled. 2014-12-09 11:40:30 +01:00
Gaetan Delannay
12836a40dc [gen] Ref field: param 'shownInfo' can now be a method. 2014-12-09 09:27:40 +01:00
Gaetan Delannay
c53654a1a1 [gen] Added attribute 'xml' on every field allowing to customize the XML marshalling process. [gen] Added new layout 'xml', now different from the 'view' layout, allowing to define which fields are to be dumped in the XML version of some object. [gen] Security fix in ToolMixin::getUser. [gen] Bugfix in Mixin::getUrl. [shared] dav.py: method 'get' can now accept parameters. [shared] xml_parser: changes to the XmlMarshaller (due to XML-related changes). 2014-12-08 14:52:04 +01:00
Gaetan Delannay
f055ec1754 [gen] Bugfix: For showing a field on layout buttons, the buttons layout must explicitly be returned by the show method. [gen] Action.py: added param 'icon' allowing to specify a specific icon. 2014-12-05 11:55:25 +01:00
Gaetan Delannay
2ef3cdb006 [shared] List of MIME types completed. 2014-12-02 00:19:01 +01:00
Gaetan Delannay
fa9ef1b76c [gen] Boolean field: bugfix (defaut layouts). 2014-11-30 11:38:29 +01:00
Gaetan Delannay
c11002b7d5 [gen] Class.listColumns can now be a static method (accepting the tool as single arg). [gen] Indexed Ref fields are now sortable. For every such field, 2 indexes are created: a list index for searching, and a standard index for sorting (by their title). 2014-11-28 14:42:32 +01:00
Gaetan Delannay
5c41f1b3d2 [gen] Bugfix while creating default users. Bugfix: do not perform LDAP authhentication when ldapConfig.enabled is False. 2014-11-26 10:49:59 +01:00
Gaetan Delannay
79ebc1cbf9 [gen] Bugfix in model.py::class User. 2014-11-25 22:15:46 +01:00
Gaetan Delannay
02a7be98ff [gen] One can define statis attribute 'showHistory', being a method or a boolean value. It indicates if the history is visible or not. Added on the User, passwords fields on the main page. This way, when creating a user, those fields are used. When the user wants to change it own password, passwords on the 'passwords' page are then used. 2014-11-25 14:56:38 +01:00
Gaetan Delannay
1d721d61f4 [gen] Wrapper.getLastEvent: parameter 'not before' can also hold a list of transitions. 2014-11-25 12:50:59 +01:00
Gaetan Delannay
7821280d35 [gen] appy.Hack: added method 'inject' taht injects from some class all static attributes and method to another one. 2014-11-22 13:14:52 +01:00
Gaetan Delannay
477a533728 [gen] appy.Object: allow to get object attributes like accessing dict keys, ie object[attr]; Pod field: bugfix (download name of pod template being links to other pod templates + UI bug); Pod field: Manager does not have all output formats anymore, because in some situations, generating a doc in some formats does make sens (ie for frozen docs); Wrapper.getLastEvent can now work on some history given as parameter instead of object.history. 2014-11-20 09:47:37 +01:00
Gaetan Delannay
e6adfe39d4 [gen] string.py: bugfixes: show differences in multilingual fields. 2014-11-17 11:44:00 +01:00
Gaetan Delannay
0465fae6dc [gen] appy.gen.mail.py: bugfix (management of recipients). When Config.userLink is False, still display the user name, but as non-clickable text. 2014-11-14 13:19:47 +01:00
Gaetan Delannay
f3849d4f92 [gen] Added boolean param Config.userLink allowing to show/hide (show by default) the link, in the user strip, to go to the user page. 2014-11-13 15:02:33 +01:00
Gaetan Delannay
55c36a1123 [gen] Added UserWrapper.isSpecial that returns True fr special users (admin, system, anon). 2014-11-12 08:49:11 +01:00
Gaetan Delannay
4a393e76af [gen] Allow an ajax request to return a message, carried as a custom HTTP header and retrieved by appy.js to display a message. 2014-11-10 13:34:52 +01:00
Gaetan Delannay
8d03f6ca9c [gen] Wrapper.sendMailIf can now send a mail to an individual user. 2014-11-10 10:01:20 +01:00
Gaetan Delannay
d560738718 [gen] Workflow.onTrigger method now accepts one more arg, fromState, the name of the state from which the triggered transition starts. 2014-11-05 19:57:31 +01:00
Gaetan Delannay
717128047e [gen] Wrapper.sendMailIf: one may now send mail to everyone belonging to some group. 2014-11-04 12:50:36 +01:00
Gaetan Delannay
50544aaecf [gen] Removed the obsolete mail notification system. 2014-10-28 17:48:54 +01:00
Gaetan Delannay
cc776dc2f0 [gen] Bugfix. 2014-10-24 16:34:47 +02:00
Gaetan Delannay
412d9f939f [gen] A page can now be visible on edit but not on view (ie, the new User page containing only fields 'password' and 'retype password'. Default User class has now 2 pages: the 2 password fields are on a separate page. Zone containing user name in the user strip has evolved. 2014-10-24 15:55:45 +02:00