blob: 31c04eec75fbb041a5d6f8c44a597b4e82bcd7d9 [file] [log] [blame] [view] [edit]
# Parameters
Parameters are usually system-wide and they contain information for handling redirects, templates, sidebar entries, url patterns, dynamic fields & forms, and more in views. Parameters related methods are defined in **soc.views.helper.params**:
* **constructParams(params)** receives a dictionary type argument with predefined parameters. _constructParams_ defines the default values (_newParams_) for all or most of the parameters and then it merges them with _params_. If defined, values in _params_ are going to override any values in _newParameters_. Some default values are shown below, for a complete list see this method.
* **getDynaFields(fields)** Retrieves the fields for the Dynaform class
* **getEditForm(params, base\_form)** Retrieves the form used on the edit page
* **getAdminForm(base\_form)**
* **getKeyFieldsPattern(params)** Retrieves the pattern for the keyfields
* **getPattern(params)**
* **getScopePattern(params)**
## Redirects
* **edit\_redirect** defines the url pattern for redirection to the edit page. It is used on public pages, for example document's public page for generating the "Edit this document" link.
* **missing\_redirect** defines the url pattern for redirection to the page that should be displayed if the entity is missing.
* **delete\_redirect** defines the url pattern for redirection after deleting an entity.
* **cancel\_redirect** defines the URL when the cancel button is pressed on the edit page
* **public\_redirect** defines the URL for redirecting to the entities Public page
## Url patterns
* **link\_id\_arg\_pattern**
* **link\_id\_pattern\_core**
* **scope\_path\_pattern**
* **sans\_link\_id\_pattern**
* **no\_edit** if defined the default edit url pattern will not be included in _django\_patterns\_defaults_
* **no\_delete** if defined the default delete url pattern will not be included in _django\_patterns\_defaults_
* **no\_create\_raw** if defined the URL pattern for creation without any keyfields is not included
* **no\_list\_raw** if defined the URL pattern for the list page without keyfields is not included
* **no\_show** if defined the default public page url pattern will not be included in _django\_patterns\_defaults_
* **no\_admin** if defined the default admin url pattern will not be included in _django\_patterns\_defaults_
* **sans\_link\_id\_create**
* **sans\_link\_id\_list**
* **sans\_link\_id\_public\_list**
* **django\_patterns** if defined they are going to be the only url patterns used for a specific view.
* **extra\_django\_patterns** this is where you should define any additional django patterns to be used with _django\_patterns\_default_. They are omited if _django\_patterns_ is defined.
* **django\_patterns\_default** are the default django url patterns and they will be used if _django\_patterns_ isn't defined. They are dynamicaly constructed in _constructParams_.
* **no\_create\_with\_scope** The URL pattern for the create page with a given scope is not included
* **no\_create\_with\_key\_fields** The URL pattern for the create page with all the key fields is no included
* **key\_fields\_pattern** pattern for the keyfields of an entity
## Sidebar
Sidebar entries are defined as a three-element tuple (url, text, access\_type ?). Sidebar related methods are in **soc.views.helper.sidebar**.
* **sidebar** is used instead of _sidebar\_default_ if defined.
* **sidebar\_grouping** is used to indicate to which sidebar group _sidebar_ or _sidebar\_defaults_ entries belong to.
* **sidebar\_defaults** are the default sidebar entries.
* **sidebar\_additional** are additional sidebar entries.
## Templates and messages
Templates parameters are paths to django template files with soc/app/soc/temlates being the root.
* **public\_template** is used in the entity's public page (show)
* **export\_template** is used in the entity's export page
* **edit\_template** is used in the entity's edit page
* **admin\_template** is used in the entity's admin page
* **list\_template** is used in the entity's list page
* **list\_main** is the list layout django template for the list page ?
* **error\_public** is used for showing errors in the public page ?
* **error\_export** is used for showing errors in the export page.? It defaults to _error\_public_.
* **error\_edit** is used for showing errors in the edit page. ? It defaults to _error\_public_.
## Strings
Some strings are used system-wide so they are defined in the parameters.
* **save\_msg** is used on the create page when saving or deleting an entity. It holds two values where the first one is used to indicate a succesfull entity creation, for example 'Document saved' and the other one is used to indicate that an entity couldn't be deleted for example 'Cannot delete document'.
* **no\_lists\_msg**
* **list\_description** is the message used when showing the list page, for example 'List of documents'.
* **name** is the name of the entity.
* **name\_short** is the short name of the entity, which defaults to _name_.
* **name\_plural** is the plural name of the entity, which defaults to _name_+'s'.
* **module\_package** is the module package name, which defaults to 'soc.views.models'
* **module\_name** is the module name.
* **url\_name** is the module name used in the url. Defaults to _module\_name_.
* **document\_prefix**
* **list\_msg** Default message used on the lists page
## Exporting
Data of some entities can be exported and these parameters are used to define that process.
* **export\_template** see Templates
* **error\_export** see Templates
* **export\_content\_type** holds the mime content type of the exported data. If defined default url pattern for export will be added to _django\_patterns\_default_ (see Url patterns).
* **export\_extension** defines the export file extension. If not predefined it defaults to '.txt'.
* **csv\_fieldnames** if the export content type is text/csv this parameter is used to indicate the field names.
## Javascript modules
* **js\_uses\_all**
* **js\_uses\_edit**
* **js\_uses\_list**
* **js\_uses\_show**
## Needs to be sorted and defined
* **rights** The rights instance this View uses for checking access
* **logic** The Logic instance this View uses
* **pickable**
* **list\_params** Defines the mapping of params entry to an entry that is used in generating lists
* **submit\_msg\_param\_name** Name of the parameter appended to URL when a form is submitted to show the saved message.
* **edit\_params**
* **cannot\_delete\_params**
* **dynabase**
* **references**
* **create\_dynainclude**
* **create\_dynaexclude** Form fields to exclude from the create/edit form per default
* **create\_dynaproperties** Properties for the Create form
* **edit\_dynaproperties** Properties for the Edit form
* **create\_form** Form used on the default Create page for this View
* **edit\_form** Form used on the default Edit page for this View
* **admin\_form** Admin Form