Commit graph

604 commits

Author SHA1 Message Date
Gaetan Delannay 45192ca4bc [gen] Ajaxified query result and tied object rows. 2015-02-04 09:27:07 +01:00
Gaetan Delannay 1bd6cf29a3 [gen] Modified Ajax system to be able to ajax-refresh a single row within query results or ref tied object (ongoing work). 2015-02-03 10:56:15 +01:00
Gaetan Delannay 9d6aa23ae6 [gen] Changes in the way binary files are downloaded. 2015-01-29 16:36:43 +01:00
Gaetan Delannay 9566a7d788 [gen] Bugfixes in mail and ldap configs. 2015-01-27 15:45:15 +01:00
Gaetan Delannay bfb10675de [gen] String.inlineEdit can now be a method; [gen] mail.py: more log info when something is wrong. 2015-01-27 12:10:38 +01:00
Gaetan Delannay fcf6a52974 [gen] Added parameter Ref.collapsible allowing to show/hide (via a cookie in the UI, similar to object history) available or tied items. 2015-01-26 17:26:05 +01:00
Gaetan Delannay 73f81d9304 [gen] Bug and performance fixes in the authentication mechanism. 2015-01-26 14:10:50 +01:00
Gaetan Delannay 0961dc591f [gen] More translations in German. 2015-01-23 20:37:03 +01:00
Gaetan Delannay 6f488644e3 [gen] Table of indexes: indexed date values are now correctly displayed as DateTime instances. 2015-01-22 18:43:10 +01:00
Gaetan Delannay 195adf8d11 [gen] ToolMixin::getHomePage: removed unneeded calls to m_goto. 2015-01-21 15:59:28 +01:00
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 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 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 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 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 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 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 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 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 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 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 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
Gaetan Delannay c316ab896b [gen] SOme CSS changes. 2014-10-23 16:05:19 +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 4577855d60 [gen] Added a new hook in the object creation algorithm: 'onEditEarly', called before an object being created is linked to its initiator object. Indeed, 'onEdit' is called after the link has been done, and sometimes, the linking may need some information that must be set before calling onEdit, thus via this new method onEditEarly. 2014-10-17 11:22:49 +02:00
Gaetan Delannay 1ed4f0bf23 [pod] Bugfix: repeated error in a for loop (https://bugs.launchpad.net/appy/+bug/394267). [gen] pod field: get the value of appy cookie 'showSubTitle' in any pod template. 2014-10-16 17:35:35 +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 a16871f4b5 [gen] Ref field: added a confirmation popup when the user wants to sort the ref. Indeed, most users think it is like sorting query results: they are not conscious it is a permanent change in the database, with effect for all users. 2014-10-07 15:03:07 +02:00
Gaetan Delannay c2676c9cf8 [gen] pod field: bugfix with attr 'formats' without method 'showTemplate'; [shared] bugfix: renamed module ldap to ldap_connector. 2014-10-07 13:14:16 +02:00
Gaetan Delannay 441dc0b423 [gen] Bugfix: display bilingual info in object history. 2014-10-03 12:44:26 +02:00
Gaetan Delannay a671094167 [gen] When duplicating a file via appy.fields.file::FileInfo.replicateFile, the source file can be binary data in a str instead of an opened file handler. 2014-10-01 16:21:12 +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 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 2f30730d3b [gen] Complete NL translation, thanks to Winand Eerens. 2014-09-21 21:24:59 +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 b565f38d97 [gen] Pod field: more work on mailing lists. 2014-09-17 14:23:05 +02:00
Gaetan Delannay e6f2b5213e [gen] Pod field: more work on mailing lists. 2014-09-17 14:22:36 +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 4fc74b36e7 [gen] Some changes in ckeditor config. 2014-09-11 11:24:53 +02:00
Gaetan Delannay c40e133113 [gen] Integrated ckeditor 4.4.4. 2014-09-11 10:49:48 +02:00
Gaetan Delannay 1e29611746 [gen] Removed old ckeditor (4.1) version. 2014-09-11 10:28:29 +02:00
Gaetan Delannay 326523cc3a [gen] Cached the user language on the request. 2014-09-10 18:21:14 +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 fb65cf82d8 [gen] More work on string multilingual fields. 2014-08-15 10:46:28 +02:00
Gaetan Delannay 7c2d4c1b7a [gen] More work on multilingual string fields. 2014-08-14 16:46:37 +02:00
Gaetan Delannay 4131ba899e [gen] More work on string multilingual fields. 2014-08-13 17:17:25 +02:00
Gaetan Delannay 6770d23a50 [gen] Boolean field can now be rendered as 2 radio buttons. 2014-08-08 12:36:19 +02:00
Gaetan Delannay f8d5cb546d [gen] Bugfix. 2014-08-07 14:17:21 +02:00
Gaetan Delannay c8a9c04141 [gen] Log: prepend the user login. 2014-08-06 14:29:18 +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 268309045a [gen] Ref field: added params 'beforeLink' and 'afterUnlink' allowing to hold methods that execute respectively before an item is linked via a Ref or after it has been unlinked; bugfix in mixin::getUrl. 2014-06-25 15:42:34 +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