Commit graph

151 commits

Author SHA1 Message Date
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 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 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 5a50d07e54 [gen] Replaced attributes tool.enableAdvancedSearchForX by klass.searchAdvanced.show. 2013-06-07 16:37:00 +02:00
Gaetan Delannay 1b3af98305 [pod] Bugfix in function 'pod'; added new method 'pageBreak' allowing to insert a page break via a note 'do xxx from pageBreak()' 2013-05-31 15:23:28 +02:00
Gaetan Delannay 7049e4780e [gen] Improvement in the management of Unauthorized exceptions. 2013-05-31 09:59:25 +02:00
Gaetan Delannay fd33e73efa [gen] Add the possibility, for an admin, to unlock a page that was locked for too long by some user. 2013-05-22 10:27: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 97ddf7a2c4 [gen] Bugfix: do not show the Calendar widget (search and edit layouts) if field.calendar is False. 2013-04-30 11:45:31 +02:00
Gaetan Delannay 049ddb20b4 [gen] Bugfix in the query engine. 2013-04-30 11:12:02 +02:00
Gaetan Delannay e5d6887b65 [gen] Bugfix. 2013-04-29 21:37:55 +02:00
Gaetan Delannay a94d400d03 [pod] Bugfix: error when a pod template does not have a 'mimetype' file inside (https://bugs.launchpad.net/bugs/1173009); bugfix: error when parsing some ods pod templates: some cells do not have attribute 'office:value-type' (see bug https://bugs.launchpad.net/bugs/1173301). [gen] Added a basic integration of gen applications with Google Analytics. 2013-04-29 21:32:05 +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 d480e58d01 [gen] UI improvements. 2013-04-11 16:01:52 +02:00
Gaetan Delannay 1d2a19a1c6 [gen] Minor updates. 2013-04-09 10:57:21 +02:00
Gaetan Delannay 4e09a40807 [gen] Integrated ckeditor inline editing via boolean parameter field.inlineEdit. 2013-03-29 14:50:12 +01:00
Gaetan Delannay 48c7c50122 [gen] Make ckeditor work with IE. 2013-03-28 21:32:47 +01:00
Gaetan Delannay e1e1b90921 [gen] Integrated ckeditor 4.1. 2013-03-25 16:38:52 +01:00
Gaetan Delannay da1f2699cd [gen] Allow to show transitions on 'view' and/or 'result' layout types. 2013-03-18 13:13:29 +01:00
Gaetan Delannay da4f502ddc [gen] appyclass.getIcons now receives the nav param, in case one wants to reproduce, on an icon or a picture, the link to the element. For example, on a artist's site that presents its artworks, getIcons can be used to create a clickable link to a small version of the artwork, that leads to the full-size picture. Bugfix in result.pt (numbering of elements in the grid view). 2013-03-10 08:29:53 +01:00
Gaetan Delannay c5ec54f0e5 [gen] Added field appyclass.breadcrumb, allowing to show/hide the breadcrumb when displaying instances of this class; added field appyclass.resultMode, allowing to choose between 'list' or 'grid' mode (previously, only list mode was enabled) when showing instances of this class as a result of some query. 2013-03-09 16:06:12 +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 f6b2afc423 [gen] Added params Type.swidth and Type.sheight to allow for different sizes for the search widgets. 2013-02-19 09:57:02 +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 b3ff087e8f [gen] Added, on edit.pt (the unique Appy form) a handler window.onbeforeunload to warn the user that data can be lost or a lock can stay on the object. 2013-01-18 14:32:29 +01:00
Gaetan Delannay d42dffacad [gen] Improved the page lock system. 2013-01-18 11:26:01 +01:00
Gaetan Delannay bdf41adf36 [gen] First draft of a system for locking pages when editing it. 2013-01-14 16:58:30 +01:00
Gaetan Delannay b76af3e0c2 [gen] Allow Managers to delete data change events if things go wrong. 2013-01-11 10:52:54 +01:00
Gaetan Delannay 90e46f11e7 [gen] Bigfixees in cleaning of XHTML fields. 2013-01-10 15:59:01 +01:00
Gaetan Delannay f4e40caf5c [gen] Bugfixes in historization. 2013-01-10 11:47:39 +01:00
Gaetan Delannay c863b47db5 [gen] field.history can now be a method. This way, historization can be enabled/disabled, field by field, according to any custom condition. 2013-01-10 10:56:22 +01:00
Gaetan Delannay ab00917df6 [gen] Allow to show the cumulative differences performed on historized String fields with format=String.XHTML. 2013-01-08 16:58:29 +01:00
Gaetan Delannay 240ce59519 [gen] Allow to display, in history, differences between successive versions of XHTML fields via appy.shared.diff.HtmlDiff (which was not integrated to appy.gen until now). Improved rendering of XHTML fields. [pod] bugfix while generating filenames for files included into pod results. 2013-01-07 15:30:13 +01:00
Gaetan Delannay 446a2d9a16 [gen] Bugfixes. 2012-12-18 22:49:26 +01:00
Gaetan Delannay 0dae8b1888 [gen] Added the possibility to span widgets on several columns on the search screen (param Field.scolspan). 2012-12-14 09:23:33 +01:00
Gaetan Delannay 4db5e9d995 [gen] Bugfixes. 2012-12-12 17:26:01 +01:00
Gaetan Delannay 68ae08b75a [gen] Simplified management and rendering of phases. 2012-12-07 11:23:08 +01:00
Gaetan Delannay 823ada17da [gen] Bugfix. 2012-12-05 17:47:19 +01:00
Gaetan Delannay 387fbaea7c [gen] Ergonomic improvements: added a breadcrumb, more compact design. 2012-11-29 20:45:21 +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 c3aa01a554 [gen] Added the possility to get an XML version of every object by calling URL <objectUrl>/xml; added the possiblity to call any method on any object by calling <objectUrl>?do=myMethod and retrieve the result as XML. 2012-11-23 15:20:12 +01:00
Gaetan Delannay 5269b278f7 [gen] It is now possible to define, via method 'getDynamicSearches', dynamic searches for a class. 2012-11-14 17:40:52 +01:00
Gaetan Delannay 4872e5d8b8 [gen] Searches can now be grouped into groups of groups of..., creating a tree structure in the portlet. 2012-11-14 11:36:48 +01:00
Gaetan Delannay 0dd870c042 [gen] Allow to use class Group as parameter of Search.group (soon, we will be able to get groups of groups of groups... of searches, to produce a tree of searches); refactored i18n-related code. 2012-11-06 11:32:39 +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 f31cbc4d12 [gen] for Type.shownInfo and tool.resultColumns..., added the possibility to define the name, width and alignment of every column (=notion of 'column layout'). 2012-11-02 22:27:54 +01:00
Gaetan Delannay 4a69a3beb2 [gen] For Strings with validator=String.URL, an HTML link is rendered in view layouts; added a 'real' 'state' field to any Appy class, allowing to use it in search screens for example; added 2 hook methods: getIcons and getSubTitles, allowing to add, in lists of objects (Refs or queries), icons besides the title and anything below it; optimized query.pt: for every new query, 1 server request is done (previously, one standard request + one ajax request were done); removed columns 'actions' (Refs, query): action icons are not included in the column containing the title (we avoid having empty columns whhen no action is available). 2012-10-31 21:17:31 +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 9954edf71a [gen] Improved performance of the Ref field and added an icon for dissociating referred objects. 2012-10-08 10:08:54 +02:00
Gaetan Delannay 93bde7a0f5 [gen] Added a new calendar field, allowing to add a single (typed) event by day. 2012-10-03 14:44:34 +02:00
Gaetan Delannay d799398de1 [gen] Graphical improvements. 2012-09-19 17:48:49 +02:00
Gaetan Delannay b985b5998d Various bugfixes. 2012-09-19 11:29:29 +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 6801188496 [gen] ckeditor now works with IE. 2012-09-10 11:44:22 +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 3393effd7b [gen] Ogone field: bugfixes. 2012-08-07 17:38:54 +02:00
Gaetan Delannay 47cd8ee277 [gen] Add param Config.activateForgotPassword to allow to disable this functionality for sites where the email of users may be unknown. 2012-07-27 11:01:35 +02:00
Gaetan Delannay b2e1e8c780 [gen] First version of a Ogone Appy plug-in. 2012-07-26 17:22:22 +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 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 ad14c1258c [gen] Implemented a mechanism 'forgot password?'. 2012-07-09 15:47:38 +02:00
Gaetan Delannay 1b375d387c [gen] Added support for right-to-left (RTL) languages. 2012-06-27 13:27:24 +02:00
Gaetan Delannay 8f57163c2a [gen] Finalized pending i18n. 2012-06-03 18:34:56 +02:00
Gaetan Delannay 77331cd216 [gen] Possibility to define, programmatically, for a given class, the default view and edit pages, by defining, respectively, methods getDefaultViewPage and getDefaultEditPage; various bugfixes. 2012-06-02 17:39:05 +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 aaaccb0669 [gen] added the possibility to define a sortOrder of a Search class. 2012-05-25 14:27:53 +02:00
Gaetan Delannay d3a2b85a10 appy.gen: bugfixes. 2012-05-09 09:45:15 +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 9b8064b0cd appy.gen: bugfix while searching the catalog based on object state; added XHTML cleanup code; added String.generatePassword; bugfix: mising HTTP header while sending some responses back to Apache (caused a bug in ckeditor image upload); bugfix while importing images via an image resolver (Zope behind a reverse proxy). 2012-04-25 16:21:23 +02:00
Gaetan Delannay 094e571b74 ckeditor 3.6.3 2012-04-24 16:22:12 +02:00
Gaetan Delannay af351f87d3 Minor changes and bugfixes. 2012-04-19 09:20:15 +02:00
Gaetan Delannay 40e8a5f258 appy.gen: bugfix while using Zope behind Apache and using the VHM; Ref.view macro is not called via Ajax anymore for single-valued Refs (when displaying lists containing single-valued Ref fields, it produces too many ajax requests, leading to ConflictErrors in the ZODB). 2012-03-27 15:49:41 +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 1e9e4df5a6 appy.gen: added the possibility to create and manage web pages into an app; every class can now define a method showPortlet. If the class does not define it or if it returns False, the portlet won't be shown when showing/editing instances of this class. 2012-03-26 19:09:45 +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 cbb8d5cd12 appy.pod: variable named 'loop' is now available in the POD context of any section within a 'for' statement, with attributes like loop.[iterVariableName].length (=total number of looped elements) and loop.[iterVariableName].nb (=index of currently looped element). 2012-03-16 14:59:59 +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 7d605d1fbb appy.gen: bugfixes in the List field. 2012-03-01 17:35:23 +01:00
Gaetan Delannay 13f3400577 appy.pod: bugfix while including a PDF file into a document; ease the inclusion of Plone images from a Plone/Zope DB through 'do text from document' statements; appy.gen: added obj.mayAct method that allows to display conditionnally the column 'Actions' when an object is shown in a list (query or ref); improved navigation from sub-objects to parent objects; improved layout. 2012-02-23 15:58:06 +01:00
Gaetan Delannay 9c5f92337b appy.gen: improvements in user management. 2012-02-21 12:09:42 +01:00
Gaetan Delannay 9394490d33 appy.gen: allow to define a method Tool.getHomePage that returns the URL of the home page for any user (authenticated, anonymous, manager, or any other code-based distinction); allow an app to define a 'ui' folder for storing new UI-related elements (pages, images, etc) or overriding standard Appy UI elements; logo.jog is replaced with banner.jpg (size 900 x 75px). 2012-02-18 19:48:00 +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 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 30a51b7c1d appy.gen: added params String.allowImageUpload and String.styles for tuning the in-line editor corresponding to a String instance with format=XHTML; managed borders images uploaded in such a field; bugfix for https://bugs.launchpad.net/appy/+bug/913171 (appy.shared.dav). 2012-01-09 17:00:47 +01:00
Gaetan Delannay 2bd3fe1eeb appy.pod: xhtml2odt: ability to include images from img tags (anonymously). Non-anonymous solution for a Appy/Zope server only; function 'document': allow to specify size of images in cm or px, or via a 'style' tag; appy.gen: allow to upload images in ckeditor fields; improved error management. 2012-01-04 18:03:46 +01:00
Gaetan Delannay 98fafad14a appy.gen: configured ckeditor for Appy; bugfix in jscalendar integration. 2012-01-02 16:59:11 +01:00
Gaetan Delannay 0e7dfa3aaf appy.gen: replaced tiny_mce with ckeditor. 2012-01-02 13:54:03 +01:00
Gaetan Delannay 6ece750d9a appy.bin: updated publish.py, that is now able to generate a DistUtils tar.gz for Appy; publish.py can now be called with option '-s' (silent): in this mode no question is asked to the user, default values are used; updated new.py that generates a better Plone4-ready simple Zope instance; appy: moved FileWrapper from appy.gen.utils to appy.shared.utils to avoid circular package dependencies; appy.gen: use of .pyt extensions for template Python classes in appy.gen.templates in order to avoid byte-compilation errors when distutils installs the package; appy.pod: when using function 'document' in 'from' statements, first arg can now be a appy.shared.utils.FileWrapper instance. 2011-12-15 22:56:53 +01:00
Gaetan Delannay c1174fac79 appy.gen: solved a tricky encoding problem. 2011-12-08 16:01:57 +01:00
Gaetan Delannay d5f26dd1df appy.gen: bugfixes. 2011-12-05 18:15:45 +01:00
Gaetan Delannay c5a8968bd3 appy.gen: Refactoring due to De-Plonization. 2011-12-05 15:11:29 +01:00