Added djpcms.views.apps.contactus module which implements a “Contact Us” application. Nice and simple.
Refactoring of djpcms.views.baseview.get_page() function.
The djpcms.views.appview.AppViewBase.name attribute is given by the attribute name in the application. For example:
class MyApp(appsite.ModelApplication):
add = appview.AddView()
The name of the only view in MyApp is add.
Added djpcms.views.response.DjpResponse.has_own_page() function to check if a response has its own page object (rather than the ancestor one).
Added djpcms.models.Page.application_view field.
Page url calculation moved into form validation.
Added djpcms.views.appview.AppViewBase.plugin_form attribute used to specify the djpcms.plugins.DJPplugin.form for an application view.
Added djpcms.core.models module for handling models from different libraries/frameworks. djpcms.views.appsite.ModelApplication can handle database models other than Django.
More documentation.
42 unit tests.
Added djpcms.models.ObjectPermission model for handling granular permissions at object level. To use the new permissions add:
AUTHENTICATION_BACKENDS = (
'djpcms.permissions.Backend',
)
in the settings file.
Added djpcms.models.BlockContent.requires_login boolean field. If set to True (default is False) the content block will be displayed only to authenticated users.
Added djpcms.models.BlockContent.for_not_authenticated boolean field. If set to True (default is False) the content block will be displayed only to non authenticated users.
Added yui-simple3.html template to templates/djpcms/yui directory.
djpcms.utils.uniforms.FormLayout injects its default_style to djpcms.utils.uniforms.UniFormElement instances without a style class defined.
38 unit tests.
BACKWARD INCOMPATIBLE CHANGES
To use this version, changes needs to be made when importing the djpcms.urls module. Your site urls file can simply be:
from djpcms.urls import *
urlpatterns = site_urls.patterns()
http://djpcms.com has gone live!
Three working examples. One is running http://djpcms.com, one is the subject of the tutorial and one is used for testing.
If no pages are available in the database a root page is created by the framework.
Phased out form.py in djpcms.utils.html module.
Migrations included in the source. Compatible with South.
HTML plugin removed. Raw html is handled by the djpcms.plugins.text.Text plugin when no markup is selected.
Introduced djpcms.views.apps.docs.DocApplication.master_doc attribute for specifying the master document of sphinx.
Fixed a silly bug in inline editing. The delete link did not have the ajax class.
Documentation and tests for djpcms.contrib.jdep.
Added DJPCMS_STYLING_FUNCTION setting for specifying custom styles.
Added DJPCMS_SITE_MAP setting to opt out of sitemap urls.
Added the new djpcms.plugins.defaults.SoftNavigation plugin.
Added SITE_NAVIGATION_LEVELS setting for controlling the number of nesting on the main site navigation. The site navigation is included in the template by using {{ sitenav.render }}.
Refactored djpcms.utils.uniforms so that djpcms.utils.uniforms.FormLayout.default_style is passed to the djpcms.utils.uniforms.UniFormElement.render() method.
YUI-grid templates completed in djpcms/yui template directory.
Refactoring in djpcms.plugins.
23 unit tests.