Gaetan Delannay
|
91e0bd2240
|
[gen] Allow to group transitions.
|
2013-09-24 12:26:31 +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
|
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
|
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
|
79d89aca2b
|
[gen, shared] More work on LDAP.
|
2013-09-06 16:19:56 +02:00 |
|
Gaetan Delannay
|
1be7d9f0ab
|
[bin] backup.py: remove Data.fs.old before packing the ZODB to avoid disk space problems; [checkldap] added a param to define the scope of the LDAP query (base, onelevel or subtree); [shared] xml_parser: convert nbsp entity to the equivalent utf-8 char.
|
2013-09-05 10:42:19 +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
|
f91972c21a
|
[gen] Minor updates.
|
2013-08-08 12:00:33 +02:00 |
|
Gaetan Delannay
|
af7a775570
|
[gen] Bugfix.
|
2013-07-25 10:37:22 +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
|
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
|
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
|
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
|
1d2a19a1c6
|
[gen] Minor updates.
|
2013-04-09 10:57:21 +02: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
|
90e46f11e7
|
[gen] Bigfixees in cleaning of XHTML fields.
|
2013-01-10 15:59:01 +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
|
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
|
387fbaea7c
|
[gen] Ergonomic improvements: added a breadcrumb, more compact design.
|
2012-11-29 20:45:21 +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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
094e571b74
|
ckeditor 3.6.3
|
2012-04-24 16:22:12 +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
|
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
|
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
|
98fafad14a
|
appy.gen: configured ckeditor for Appy; bugfix in jscalendar integration.
|
2012-01-02 16:59:11 +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 |
|
Gaetan Delannay
|
d934f49a99
|
appy.gen: refactoring due to De-Plonization.
|
2011-12-05 10:52:18 +01:00 |
|