Commit graph

190 commits

Author SHA1 Message Date
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
Gaetan Delannay 1d931cfb96 [px] Made PX thread-safe. 2013-06-25 12:04:23 +02:00
Gaetan Delannay 244826194b [gen] Added a mechanism for caching method calls that are performed several times for displaying a single ui page (ie: field.show methods). 2013-06-10 00:13:29 +02:00
Gaetan Delannay b12ea0a64d [gen] Removed obsolete fields 'enableAdvancedSearchX' generated on the tool. 2013-06-08 00:10:27 +02:00
Gaetan Delannay 0d0d7c1123 [gen] Added attributes 'created' and 'modified', now accessible on Appy wrappers; added method AbstractWrapper.countRef that allows to count the number of objects tied to a given object via a Ref field whose name is given as method param. 2013-06-07 11:32:23 +02:00
Gaetan Delannay 4c6c72935a [gen] Bugfix in AbstractWrapper. 2013-05-17 17:11:22 +02:00
Gaetan Delannay d45e314ac1 [gen] Calendar: bugfix; wrapper.appyUser returns the admin if the user is 'System Processes', the virtual user that runs when Zope is starting. 2013-05-17 15:00:31 +02:00
Gaetan Delannay 820d3ef241 [gen] Added Config.discreetLogin allowing to put a discreet link on the main page for logging in, instead of the login form in the central strip, for sites where logged users do not represent the majority of visitors (only some admins). 2013-05-10 12:16:57 +02:00
Gaetan Delannay 1c3555fd28 [gen] Added the possibility to define dict someClass.styles (with, currently, a single entry 'title'), allowing to specify alternative CSS classes for class-related elements (here, 'title' allows to define an alternative CSS class for the link allowing to click on some instance of the class on a query or ref). 2013-04-27 02:15:44 +02:00
Gaetan Delannay 0a8e06f1d9 [gen] Various bugfixes. 2013-04-16 19:56:47 +02:00
Gaetan Delannay 5cc7884c03 [gen] Bugfix: sort references. 2013-03-10 16:31:49 +01:00
Gaetan Delannay 46f5b8e464 [gen] Removed obsolete code; a Page instance that does not have sub-pages does not show the portlet. 2013-03-08 16:16:25 +01:00
Gaetan Delannay b717a001d4 [gen] added tool.sendMail as an easy access method for function appy.gen.mail.sendMail. 2013-02-28 23:00:06 +01:00
Gaetan Delannay 24089ef674 [gen] Improved search abilities. [pod] Bugfix: import several times an image from the same URL. 2013-02-18 15:03:26 +01:00
Gaetan Delannay 2307a284cc [gen] Wrapper.reindex: allow to specify attribute 'fields' containing the list of fields that must be reindexed. If not given, all object fields are reindexed. [pod] POD ODS templates: into POD results from ODS templates, Python expressions that produce ints, floats or dates (Zope DateTime only for the moment) produce cells with typed values. 2013-02-06 17:15:01 +01:00
Gaetan Delannay 43261fde60 [pod+gen] Added POD rendering based on ODS templates. Integrated with gen. 2013-02-05 08:51:25 +01:00
Gaetan Delannay cb77418dda [gen] Stop using param 'cmp' in method [].sort (deprecated in Python3). Used para 'key' instead. 2013-01-22 09:12:00 +01:00
Gaetan Delannay f091b25c98 [gen] One can now specify a different source language for every translation. 2013-01-09 10:46:14 +01:00
Gaetan Delannay 3ec1270fc2 [gen] Added appy.gen.Pod.rLayouts, a default layout for rendering POD templates on query result pages; various security and bugfixes. 2012-11-26 13:58:27 +01:00
Gaetan Delannay fcb1d36da0 [gen] Remove attributes showWorkflowFor...; buttons for triggering workflow transitions are not located besides the standard actions (icons): edit, save, etc. 2012-11-05 13:12:18 +01:00
Gaetan Delannay 21585df6a1 [gen] Added an index 'Modified' on every object (it represents the date of the last modification); removed obsolete workflow-related code; removed attributes Tool.showAllStatesInPhaseFor...; changed the way to display the object's current state in the UI. 2012-11-05 10:21:27 +01:00
Gaetan Delannay 7240561f7f [gen] Added param Search.default allowing to define a default Search. The default search, if present, will be triggered when clicking on the main link for a class, instead of the query that collects all instances of this class; appy.gen.Type: removed 3 obsolete params: 'index', 'editDefault' and 'optional'. For achieving the same result than using 'editDefault', one may define 'by hand' an attribute on the Tool for storing the editable default value, and define, on the appropriate field in param 'default', a method that returns the value of the tool attribute; Added Type.defaultForSearch, allowing, for some sub-types, to define a default value when displaying the corresponding widget on the search screen; added a default 'state' field allowing to include workflow state among search criteria in the search screens; removed obsolete test applications. 2012-10-31 13:20:25 +01:00
Gaetan Delannay ba148c51aa [gen] Calendar: display weekend days in a special way. 2012-10-18 20:57:03 +02:00
Gaetan Delannay 8d1a88bd27 [shared] xml_parser.XmlParser: added param 'raiseOnError' allowing to raise or not an exception when a SAX fatal parsing error is encountered; [gen] fine-tuned indexing machinery with more accurate text extraction from text and xhtml fields. 2012-09-26 23:13:02 +02:00
Gaetan Delannay 5f530d9f9e [gen] Now it is possible to index and search Ref fields. 2012-09-17 21:11:54 +02:00
Gaetan Delannay c2eaab4b44 [gen] Cleaner and more robust approach when using Zope database indexes. 2012-09-04 18:00:22 +02:00
Gaetan Delannay 61b0ed2fce [gen] Minor updates. 2012-08-17 17:12:15 +02:00
Gaetan Delannay 178059ba1b [gen]: method Wrapper.do: added param 'noSecurity' allowing to bypass check of roles mentioned as conditions for triggering worfklow actions. 2012-07-23 15:24:44 +02:00
Gaetan Delannay 699cc8346b [gen] Field.indexed, instead of being a Boolean, can be a str, to represent the name of a Zope Index. This way, it is possible to bypass the standard Appy choice for index types, ie for Computed fields whose content may produce any type of value; added missing translation labels in the macro displaying object's history; added default fields Tool.dateFormat and Tool.hourFormat that give application-wide default formats for dates with/without hour; added a table in Config->Users that shows the connected users and the date/time of their last access to the app; added the missing search macro for a Computed field. 2012-07-18 21:58:11 +02:00
Gaetan Delannay 21ffa7b46d [gen] Added UserWrapper.checkPassword allowing to check if a password is the right one for a user. 2012-07-12 17:54:14 +02:00
Gaetan Delannay a0837a758f [gen] Bugfix in the 'change user id' function. Now, the method browses every object in the database and updates local roles where the old ID was potentially mentioned. 2012-07-11 17:27:40 +02:00
Gaetan Delannay a7bcd1a098 [gen] allow Manager to change the login of a user; bugfix in dumping XHTML tables whose column sizes are automatically computed; bugfix: apply styles mapping to 'p' tags that are added automatically by xhtml2odt (was only implemented for p tags inside li tags). 2012-07-10 14:21:08 +02:00
Gaetan Delannay e13575c506 Added method Wrapper.isEmpty(name) that checks if the content of some field is empty or not on a given object. 2012-06-13 09:31:09 +02:00
Gaetan Delannay 8f57163c2a [gen] Finalized pending i18n. 2012-06-03 18:34:56 +02:00
Gaetan Delannay 2710fb6c39 [gen] Bugfix: attribute Field.focus and UserWrapper password management. 2012-06-02 20:55:25 +02:00
Gaetan Delannay f843d5b7d6 [gen] Security: added missing checks at the code level, ensuring that a user can create instances of a given class (root classes, or instances created via an initiator field); bugfixes in the test system, which works again (was broken after deplonization); [shared] XmlUnmarshaller can now be ran in 'non utf-8' mode: if enabled, any marshalled string will no be Python unicode, but simple str. 2012-06-02 14:36:49 +02:00
Gaetan Delannay 0d7afb685f [gen] added obj.mayEdit, an additional condition for editing an object (similar to mayDelete); bugfix: specifying a workflow for a User class crashed because, in installer.py, Appy took into account the standard workflow on this Class instead of the custom one. 2012-06-01 15:57:19 +02:00
Gaetan Delannay ede29fb6c1 [gen] Bugfix while managing languages, ui improvements. 2012-05-29 20:50:18 +02:00
Gaetan Delannay 028040351c appy.gen: improved cleaning and formatting of XHTML content; appy.pod: added some default appy-related table styles for producing cells with text in bold/normal, aligned right/left, etc. 2012-05-14 17:35:34 +02:00
Gaetan Delannay 8cc20b0d34 appy.gen: bugfixes. 2012-05-08 14:49:45 +02:00
Gaetan Delannay 6245023365 appy.bin: backup.py: added field 'To' to mails sent by the backup procedure (so it not less directly considered as junk mail); bugfix in job.py used with Appy > 0.8; appy.gen: optimized performance (methods defined in 'show' attrs were called twice on edit.pt and view.pt); appy.gen: added String.richText allowing to have ckeditor with more text-formatting icons; added ckeditor 'show source' button by default (impossible to live without that); appy.gen: solved security-related problems; appy.gen.mail: allowto send mail as authenticated user; appy.gen: bugfixes in pages when rendered by IE. 2012-05-05 17:04:19 +02:00
Gaetan Delannay 459a714b76 appy.bin: adapted job.py for Appy >0.8; appy.gen: improved mail notification mechanism. 2012-05-03 10:51:54 +02:00
Gaetan Delannay 5928996730 appy.gen: added Ref.navigable: if True, referenced objects can appear within the portlet. 2012-03-27 10:37:41 +02:00
Gaetan Delannay f6a828bc13 appy.gen: removed fields Tool.showWorkflowCommentFieldForxx (workflow comment may not be entered into the confirm popup); appy.gen: security-related bugfixes. 2012-03-19 17:00:44 +01:00
Gaetan Delannay 0dd8b72dca appy.gen: bugfixes. 2012-03-08 20:56:14 +01:00
Gaetan Delannay 7b0b7e147d appy.gen: allow to define several layoutTypes (ie: ('edit', 'result')) as a tuple/list in 'show' attributes of fields. 2012-03-06 17:02:41 +01:00
Gaetan Delannay 431511026c appy.gen: bugfixes. 2012-03-03 23:29:32 +01:00
Gaetan Delannay 9c5f92337b appy.gen: improvements in user management. 2012-02-21 12:09:42 +01:00
Gaetan Delannay a80ef513ff appy.gen: added new format 'captcha' for a String. 2012-02-16 18:13:51 +01:00
Gaetan Delannay 0b6d2d2165 appy.gen: added method wrapper.search1 that returns a single result (which is the only difference with wrapper.search); bugfix while getting objects from the catalog (bypass security when called from code). 2012-02-09 16:36:50 +01:00
Gaetan Delannay 1275df5753 appy.shared: improved deployment of a Appy app (creation of a Zope instance is no more required; corresponding folders are created in standard unix locations: /etc for the config file, /var/log for logs, /var/lib for the database, /usr/bin for scripts that start and stop the instance). appy.gen: first draft of a migration script that allows to migrate data from Plone-dependent Appy apps (<= 0.7.1) to Ploneless Appy 0.8.0. 2012-02-02 17:30:54 +01:00
Gaetan Delannay 7d844070df appy.pod: improved styles mapping system: one may now express things like: 'p[text-align=center]':'StandardCentered' (ie, map an HTML tag having some CSS attributes to a specific ODT style). See verbose docstrings in styles_manager.py. 2012-01-12 21:49:23 +01:00
Gaetan Delannay c1174fac79 appy.gen: solved a tricky encoding problem. 2011-12-08 16:01:57 +01:00
Gaetan Delannay c5a8968bd3 appy.gen: Refactoring due to De-Plonization. 2011-12-05 15:11:29 +01:00
Gaetan Delannay d934f49a99 appy.gen: refactoring due to De-Plonization. 2011-12-05 10:52:18 +01:00