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
|
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
|
cee7b49e3c
|
[gen] Added method Mixin.onCall allowing to call a specific method on a gen-class from the UI.
|
2014-04-25 12:14:50 +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
|
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
|
b5d38ad150
|
[gen] Moved action-related stuff from mixins/__init__.py to field/action.py.
|
2014-04-15 21:46:13 +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
|
81a201dcad
|
[gen] Allow to specify several folder within an app where to store static ui content (js, css, images). [gen] When browser settings are ignored or absent, default language is the first one listed in Config.languages.
|
2014-03-28 12:25:42 +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
|
889289407f
|
[gen] Bugfix: in batch mode (Zope 'zopectl run'), the Appy user must be 'system'.
|
2014-03-18 12:11:21 +01:00 |
|
Gaetan Delannay
|
4515eb1f80
|
[gen] Bugfixes in the search engine.
|
2014-03-18 11:22:08 +01:00 |
|
Gaetan Delannay
|
2b33c420a4
|
[gen] Bugfix in portlet.
|
2014-03-06 14:09:19 +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
|
b98da33d47
|
[gen] Removed obsolete attribute Field.sync.
|
2014-03-05 16:19:11 +01:00 |
|
Gaetan Delannay
|
5bea4e728b
|
[gen] Allow for ajax-based master-slave relationships within the search screen for String fields.
|
2014-03-05 15:47:12 +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
|
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
|
e031e5b138
|
[gen] method Mixin.xml: if the method result is already XML, it is not marshalled again.
|
2013-10-09 21:23:49 +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
|
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
|
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
|
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
|
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
|
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
|
369e41b43c
|
[gen] Continued PX-based refactoring.
|
2013-07-10 09:56:35 +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
|
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 |
|