Commit graph

204 commits

Author SHA1 Message Date
Gaetan Delannay dcf90f2b94 [gen] Created method mixin.getListTitle that is responsible for displaying an object's title in the various lists (queries, refs). 2014-09-23 18:38:55 +02:00
Gaetan Delannay 701eae1b19 [gen] Performance improvements. 2014-09-23 12:47:44 +02:00
Gaetan Delannay ecc3f07a09 [gen] SMTP and LDAP configuration updated. Module appy.gen.mail can now be used independently of a gen-application. 2014-09-18 11:08:29 +02:00
Gaetan Delannay 4947e2956c [gen] Pod field: send pod results by emails. 2014-09-17 18:09:30 +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 8aed007623 [gen] Bugfixes: handle multilingual titles in queries, references, breadcrumbs... 2014-09-06 15:20:59 +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 7889277328 [gen] Adapted all logged messages because thhe logged user is now automatically prepended to any message. 2014-09-01 14:14:32 +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 a45dfa8dd0 [gen] Ref field: first cmplete version of Ref with link='popup'. 2014-07-28 12:29:16 +02:00
Gaetan Delannay 0bcd0055a3 [gen] More work on Refs with popup='true'. 2014-07-25 15:07:31 +02:00
Gaetan Delannay a14bff45a7 [gen] More work on Ref.link='popup'. 2014-07-23 22:29:47 +02:00
Gaetan Delannay 792db32f27 [gen] Allow to show checkboxes for search results. 2014-07-19 13:42:39 +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 1c2936d76d [gen] Pod field: added param 'getChecked': if you specify there the name of a Ref field of the same gen class, within the pod template you will be able to know what linked objects are currently selected in the user interface. 2014-07-10 21:22:52 +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 b3a72ade24 [gen] Bugfixes; for Ref field, replaced render mode 'titles' with 'minimal', allowing to display all fields defined in shownInfo. 2014-05-19 12:12:33 +02:00
Gaetan Delannay 57bab29447 [gen] Bugfixes. 2014-05-17 16:44:56 +02:00
Gaetan Delannay 79837d3f00 [gen] Bugfix: rendering of pod fields. 2014-05-14 17:05:50 +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 b2dbef2bc4 Improved class appy.Hack to be able to hack static methods as well; [gen] pod field can now accept a string in param 'showTemplate' if a single format is accepted; when showing linked objects in a ref field, we show a message and no data for every object the currently logged user is not allowed to read; improved the default UI layout (less table borders). 2014-05-03 15:18:41 +02:00
Gaetan Delannay 0a174098f1 [gen] Some CSS changes. 2014-05-02 20:22:33 +02:00
Gaetan Delannay b83f6d512d [gen] More methods on AbstractWrapper. 2014-05-02 14:34:10 +02:00
Gaetan Delannay 1d0ee7a614 [gen] Bugfix in the Ref field; added method workflow.Transition.getBack that finds the 'back' transition of a given transition. 2014-05-02 12:35:09 +02:00
Gaetan Delannay 4d78996938 [gen] Fixed some problems with groups having style='tabs'. 2014-04-30 15:10:11 +02:00
Gaetan Delannay 7adbc7e4bc [gen] Fixed groups with style 'tabs'; reused the same tabs for representing phases; pages and phases are now outside the portlet, rendered horizontally below the breadcrumb; methods getSupBreadCrumb and getSubBreadCrumb can now be defined on every gen-class to customize what is shown above and below the breadcrumb (=title with a prefix) on view layouts (those methods are similar to getSubTitle and getSupTitle when displaying lists of objects). 2014-04-29 19:02:06 +02:00
Gaetan Delannay ef21375410 [gen] Bugfixes and use of Ref.autoref fto avoid circular references within cross-class Ref fields. 2014-04-22 19:37:36 +02:00
Gaetan Delannay e1b6b1b951 [gen] Buttons for workfow conditions are now smaller when shown in lists of objects; added the possibility to define a specific icon for every workflow transition. 2014-04-21 17:19:27 +02:00
Gaetan Delannay f0c1f69573 [gen] Optimisations, bugfixes and refactorings. 2014-04-21 12:11:41 +02:00
Gaetan Delannay 822e1a7c63 [gen] Buttons can now be stretched to fit the size of the inner label. 2014-04-20 19:22:40 +02:00
Gaetan Delannay 75f5407e48 [gen] Added and changed some methods on the basic workflow objects in order to ease modifications on workflow objects (states, transitions). 2014-04-17 17:10:38 +02:00
Gaetan Delannay 036856f07e [gen] Within Ref fields, added 2 icons for moving tied objects to top or bottom + bugfixes. 2014-04-15 13:01:39 +02:00
Gaetan Delannay ac08d2d795 [gen] Various bugfixes: single-temlplate pod fields, ajax master/slaves and IE10, popup management. 2014-04-14 20:55:23 +02:00
Gaetan Delannay 977cd0a225 [gen] Ref field improved. 2014-04-05 10:54:40 +02:00
Gaetan Delannay e7c20f8d2b [gen] Ref field: allow to insert many selected items at once (Ref fields with link='list'). 2014-04-03 17:32:57 +02:00
Gaetan Delannay 084f1f9a23 [gen] Ref field: param 'link' can now be 'list' (ongoing work). 2014-04-01 18:34:12 +02:00
Gaetan Delannay d5a9450d72 [gen] Bugfixin the sync of i18n files; allow to include XHTML within messages in Appy popups. 2014-03-26 14:01:03 +01:00
Gaetan Delannay aa10572c81 [gen] Added an icon for unlocking single-page objects. 2014-03-25 12:53:10 +01:00
Gaetan Delannay e969bbf362 [gen] Pod field: allow to upload a replacement file for a frozen pod document. 2014-03-25 12:05:07 +01:00
Gaetan Delannay d0749cc365 [gen] Added 'freeze actions' to pod fields. 2014-03-24 22:55:00 +01:00
Gaetan Delannay 0834356487 [gen] Pod field can now freeze and unfreeze any of its multiple templates. 2014-03-21 16:50:48 +01:00
Gaetan Delannay ecc3a8c39b [gen] Pod fields can now be configured with several templates. 2014-03-19 23:13:31 +01:00
Gaetan Delannay eba86ae6bc [gen] Bugfix in Ref field. 2014-03-11 16:22:28 +01:00
Gaetan Delannay 62e2d49953 [gen] Added a transparent clickable logo at the top left (or right if rtl) of the page. 2014-03-05 22:01:51 +01:00
Gaetan Delannay f629f2b323 [gen] Removed obsolete function to create objects via an import form. 2014-03-05 16:48:54 +01:00
Gaetan Delannay 6d6c842f12 [gen] Allow for ajax-based master-slave relationships within the search screen for Ref fields. 2014-03-05 13:25:36 +01:00
Gaetan Delannay ea08d7981f [gen] Added field.persist to avoid storing values for fields that do not require it (like master fields only used to determine selectable values among slave fields). 2014-03-04 15:03:37 +01:00
Gaetan Delannay b8ceb66a49 [gen] Master-slave fields: slave values can now ajax-change when the user modifies master values. 2014-03-03 18:54:21 +01:00
Gaetan Delannay fe56ee27a0 [gen] Bugfixes. 2014-02-27 12:54:05 +01:00
Gaetan Delannay c002b5cb59 [gen] Added px.override allowing to modify PX code; bugfixes; added migration code for converting File instances to FileInfo instances. 2014-02-26 23:40:27 +01:00
Gaetan Delannay be145be254 [gen] Binary files stored in fields appy.fields.File are now stored outside the ZODB, on the filesystem; Ref fields can now also be rendered as dropdown menus: every menu represents a coherent group of link
ed objects. The main menu entry can be textual or an icon; computed fields are by default rendered in view and cell layouts.
2014-02-26 10:40:27 +01:00
Gaetan Delannay b9dcc94bdb Bugfixes for IE. 2014-01-20 18:43:18 +01:00
Gaetan Delannay 3b9c078fbb Appy web interface has now 2 skins: the default one, with a fixed with; the one named 'wide', that takes the whole screen width. Choosing the skin is made via de Conf instance, attribute 'skin'. 2014-01-20 16:30:14 +01:00
Gaetan Delannay e1d0597694 [gen] list field now takes into account 'show' attribute of sub-fields. 2014-01-14 09:07:42 +01:00
Gaetan Delannay 1faba191b2 [gen] Allow to edit external users, excepted data like login, name... that come from the external source. 2013-10-18 16:42:52 +02:00
Gaetan Delannay 6a83285e64 [gen] Extended the HTTP-XML system to be able to call a method via a HTTP POST containing XML data (SOAP or REST-like). 2013-10-08 22:41:21 +02:00
Gaetan Delannay 91e0bd2240 [gen] Allow to group transitions. 2013-09-24 12:26:31 +02:00
Gaetan Delannay 180b3473e8 [pod,px] Allow to reference an already defined variable instead of defining one in a var statement, via the '@' prefix. For example, in PX: var='@i = i + 1'. [pod] Repaired broken tests [gen] Bugfixes. 2013-09-23 22:36:09 +02:00
Gaetan Delannay bd80d63eda [gen] Bugfixs. 2013-09-22 22:08:48 +02:00
Gaetan Delannay 1f901e5545 [gen] klass.creators can now be a method that either returns a list of global roles allowed to create instances of this class, or a boolean indicating if the currently logged user can create instances of this class or not. [gen] Bugfixes. 2013-09-22 16:33:32 +02:00
Gaetan Delannay e1b83574c5 [gen] pod fields now read pod templates directly from disk. Fields 'template' and 'formats' that were generated into the database (and editable through-the-web) are now removed. This simplification will allow in a second step to define several templates for a unique pod field, ie: multiDoc = Pod(template='od/Item*.odt'). [gen] Additionally, fields tool.numberOfSearchColumnsForXXX and tool.searchFieldsForXXX are not generated anymore and are replace by static class attributes class.numberOfSearchColumns and class.searchFields. 2013-09-21 17:46:42 +02:00
Gaetan Delannay c5930edd2d [gen] Added wrapper.getLastEvent, allowing to perform kinds of queries into an object's history. 2013-09-20 23:15:54 +02:00
Gaetan Delannay 6206dbe59c [fields] computed.py: plainText is now False by default, method can now be a PX [fields] list.py: bugfixes in the validation process; [gen] within aby PX, its context is now available as a special var '_ctx_': to use with caution only for the needs of Appy itself. It is not meant to be used by Appy developers. 2013-09-20 17:42:07 +02:00
Gaetan Delannay 809a553cf4 [gen] Replaced database fields tool.resultColumnsFor[class] by static attributes class.listColumns. [gen] Bugfixes and removed unused code. 2013-09-18 12:06:07 +02:00
Gaetan Delannay 383af4a687 [gen] BPX bugfixes. 2013-09-11 22:11:44 +02:00
Gaetan Delannay 7f88c7cca8 [gen] Show a special icon for users that are local copies of external sources. 2013-09-10 17:55:10 +02:00
Gaetan Delannay e344ff51e2 [gen] LDAP bugfixes. 2013-09-09 23:14:50 +02:00
Gaetan Delannay e51308b277 [gen] More work on LDAP authentication. 2013-09-09 15:54:06 +02:00
Gaetan Delannay 5223af2a62 [gen] Get rid of some Zope-specific security aspects. This is a preparatory work to extend the Appy authentication system to perform ldap authentication as well. 2013-08-23 18:57:27 +02:00
Gaetan Delannay 04852360fa [gen] Goodbye Zope Page Templates. 2013-08-21 22:25:27 +02:00
Gaetan Delannay 34e3a3083e [gen] More work ZPT->PX. 2013-08-21 12:35:30 +02:00
Gaetan Delannay 8833f7b0ae [gen] Changed the way to customize the Config in an app. 2013-07-24 15:53:19 +02:00
Gaetan Delannay 88bd5e5bce [gen] Created param config.groupsForGlobalRoles that disabled by default creation of a group for every global role. On a appy class it is now possible to define a static method 'generateUid' that generates a UID for every instance of this class, instead of using the standard Appy way to produce such UIDs. [shared] dav.Resource: allow to retrieve the result encoded or not in utf8. 2013-07-23 17:07:27 +02:00
Gaetan Delannay d385b8514e [gen] Optimized PXs, that are almost ready. This is the last gen version where PTs are still working. 2013-07-23 10:29:39 +02:00
Gaetan Delannay efd918f175 [gen] Replaced, in PXs, function 'img' by function 'url', that returns the URL of an external resource to be included in the XHTML, like an image, a Javascript file or a CSS file. 2013-07-20 19:56:17 +02:00
Gaetan Delannay f2b19e4141 [gen] Bugfixes. 2013-07-15 16:41:45 +02:00
Gaetan Delannay 5d350de491 [gen] Optimized PXs. 2013-07-15 13:39:05 +02:00
Gaetan Delannay 1810373304 [gen] Optimized PXs. [px] added tag 'var2', similar to 'var', but that is executed after tags 'for' and 'if'. 2013-07-15 11:23:29 +02:00
Gaetan Delannay 25b4edfc1d [gen] Moved Appy fields into appy/fields together with their PX. 2013-07-08 23:39:16 +02:00
Gaetan Delannay 2b5d286668 [gen] On Page instances, one may now define a method for conditionnally showing the 'edit' button on 'view' layout. [gen] An app may now, on its Config class, define a method getHomeObject that must return an object that will be the home object for a given (class of) user(s). This object's menu will appear when the user is consulting a page with no tied menu (like a search for example). [gen] More ZPT->PX work. 2013-06-28 15:00:02 +02:00
Gaetan Delannay 7fcd2f44d3 [gen] More ZPT->PX work. 2013-06-27 17:40:01 +02:00
Gaetan Delannay cb6fea7631 [pod,px] 'loop' variable allows to know if we are managing an even or odd elem via loop.<elem>.odd and loop.<elem>.even. [gen] In the process of migrating from ZPT (Zope Page Templates) to appy.px (Python Xml). 2013-06-27 11:57:39 +02:00
Gaetan Delannay e6cacd10dd [px] Better error reporting when encountering a parsing error in a PX. 2013-06-26 17:06:06 +02:00
Gaetan Delannay e4b84be05e [px] Managed special HTML attributes like 'checked' and 'selected'. 2013-06-26 13:44:31 +02:00
Gaetan Delannay 5ece5c9831 [px] Added the possibility to have several PX actions in the same XHTML tag. If several PX action are defined, they are evaluated in this order: var, for, if. 2013-06-25 23:22:33 +02:00