Commit graph

122 commits

Author SHA1 Message Date
Gaetan Delannay 307f4e152e [gen] Bugfix: one could authentify with a ldap user even if ldap.enabled was False. 2015-01-21 14:30:42 +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 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 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 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 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 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 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 1d721d61f4 [gen] Wrapper.getLastEvent: parameter 'not before' can also hold a list of transitions. 2014-11-25 12:50:59 +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 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 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 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 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
Gaetan Delannay ccf7e44eef [gen] [gen] Action field: param confirm can be 'text': in this case, the confirm popup contains a textarea whose content is passed as param to the method speficied in param 'action'. Action fields can now be defined in a new layout 'buttons' (show='buttons') in order to appear, on the view layout, besides the extsting series of buttons (edit, next/previous pages...). 2014-10-22 22:17:26 +02:00
Gaetan Delannay 960a4c6a46 [gen] Added an utility method on any wrapper class for removing an event from an object's history. 2014-10-21 15:39:29 +02:00
Gaetan Delannay 7484fbca93 [gen] Added the possibility to navigate to tied object number X within a list of tied objects from a Ref that is numbered. 2014-10-21 09:25:37 +02:00
Gaetan Delannay 3dfb90b5b3 [gen] Allow to have data change events that contain comments. 2014-10-15 15:39:11 +02:00
Gaetan Delannay abe56a5add [gen] Ref.linkObject and unlinkObject (and caller methods like wrapper.create) can now be called with attr 'executeMethods' being False: in this case, all methods defined in attrs like 'insert', 'beforelink', 'afterLink' will not be called. Can be useful while migrating data or duplicating objects. 2014-09-29 10:06:40 +02:00
Gaetan Delannay 1d81dc768b [gen] Allow to bypass class.onEdit when creating an object. 2014-09-25 09:52:22 +02:00
Gaetan Delannay 701eae1b19 [gen] Performance improvements. 2014-09-23 12:47:44 +02:00
Gaetan Delannay f64493764f [gen] bugfixes in the pod field. 2014-09-15 18:32:45 +02:00
Gaetan Delannay 4d12293dc8 [gen] Added wrapper.createFrom, similar to wrapper.create, but allows to create an object with data from another object (kind of 'duplicate' functionality). 2014-09-14 21:40:35 +02:00
Gaetan Delannay 400158a0a1 [gen] Users have now a workflow allowing them to deactivated. An inactive user can't log in anymore. This is useful if the User is tied to other objects and cannot be removed without braking the data model, but does not correspond anymore to an active user that is allowed to log in. 2014-09-11 16:41:08 +02:00
Gaetan Delannay 194b455816 [gen] pod field: one of the listed templates in field.template can simply be a pointer to another template from the list. For example, template=('Item.odt', 'Item.odt.variant'). The second file is an empty file and gen will use the first one for the second template. It allows to have similar files for templates that, in the UI, are different, ie, can have different names and appear under different conditions. Note that in the default context of every template, variable 'template' contains the name of the template file. It allows the template to know if he is 'called' under the name 'Item.odt' or 'Item.odt.variant'. 2014-09-10 16:26:19 +02:00
Gaetan Delannay 71bc58a8b0 [gen] While <obj>.<fieldName> allows to get the 'DB' value of some field, <obj>.getValue allows to get a variant of it, ie, the formatted version (via an internal call to field.getFormattedValue). 2014-09-08 15:13:18 +02:00
Gaetan Delannay f8a7103c7a [gen] Changes in parameters of some basic field methods to enable field.languages to be defined dymanically via a method. 2014-09-05 17:13:23 +02:00
Gaetan Delannay c8cf3911fa [gen] Historization of multilingual fields. 2014-09-03 18:18:27 +02:00
Gaetan Delannay 4131ba899e [gen] More work on string multilingual fields. 2014-08-13 17:17:25 +02:00
Gaetan Delannay 9cccdebe24 [gen] Minor improvements. 2014-08-05 14:53:08 +02:00
Gaetan Delannay 636def8d24 [gen] Updated the Ajax system to be able to call a method on a Appy wrapper instead of a Zope object. 2014-08-05 09:48:05 +02:00
Gaetan Delannay 302d54c7ce [gen] Positioned checkboxes on the left. 2014-07-29 19:21:37 +02:00
Gaetan Delannay dda894089a [gen] When param Ref.select is a Search instance, Search.name can be ommitted; added code that shows a warning: Appy is not compatible with MSIE below 9. 2014-07-28 17:35:49 +02:00
Gaetan Delannay 0bcd0055a3 [gen] More work on Refs with popup='true'. 2014-07-25 15:07:31 +02:00
Gaetan Delannay b2a2aa5210 [gen] Ref.select can now hold a Search instance; began implementation of Ref.link == 'popup'. 2014-07-18 16:54:11 +02:00
Gaetan Delannay a466513fb3 [gen] Added Wrapper.isTemp to know if an object is a temporary one or not. 2014-07-14 13:21:38 +02:00
Gaetan Delannay 25f0e8184e [pod] When inserting an image via statement do... from document(...), parameter 'sizeUnit' can now be 'pc' (percentage): in this case, percentages are expressed as a tuple (widthPercentage, heightPercentage) in parameter 'size' and must be integers from 1 to 100. [bin] backup.py: better error handling when contacting SMTP server. [gen] Calendar widget for Date fields: bugfix (when the date range is in reverse chronological order). [gen] Ref field: added hook 'afterLink' allowing to execute a method just after an object has been linked. [gen] Ref field: added attribute 'unlinkElement' allowing to define a specific condition for unlinking a given object (before, it was only possible to define, in attribute 'unlink', a global condition allowing to unlink any object from the Ref. [gen] Bugfix: the link to the home page, when clicking on the logo, is fixed. 2014-07-10 09:46:39 +02:00
Gaetan Delannay 98b748cfb1 [gen] Added for Ref field, param 'insert' that defines at what position a newly tied object is inserted among referred objects. 2014-06-24 17:07:59 +02:00
Gaetan Delannay e11e754305 [gen] Class.popup: finalized the development of 'popup' classes. 2014-06-16 00:58:45 +02:00
Gaetan Delannay 6494bf22c7 [gen] Added some utility methods. 2014-06-01 11:44:07 +02:00
Gaetan Delannay b4e6333472 [gen] Bugfix: slave groups; bugfix: security check for pod fields; security bugfix for pod fields: write access to the field is required for performing any freeze-related action; migration to Appy 0.9.0: dump frozen pod fields on disk; repaired test system for Appy 0.9.0; more explicit error message when using, on some field, a specific write or read permission that is not used in the workflow. 2014-05-14 15:10:41 +02:00
Gaetan Delannay 61598b91f7 [gen] Removed appywide.css: css class which is specific to the wide layout are now in appy.css but are used conditionally in PXs. 2014-05-13 16:41:59 +02:00
Gaetan Delannay 5c6a7f0f97 [gen] Security improvements. 2014-05-03 22:45:51 +02:00
Gaetan Delannay b83f6d512d [gen] More methods on AbstractWrapper. 2014-05-02 14:34:10 +02:00