Joseph Spiros [Thu, 6 Jan 2011 19:23:19 +0000 (14:23 -0500)]
Modified the feed behavior for blogs and newsletters to always use the full content of entries and articles.
I am of the opinion that people using feed readers should not have to click through to the website to read the full text of either.
Joseph Spiros [Thu, 6 Jan 2011 19:15:09 +0000 (14:15 -0500)]
Merge branch 'master' of git://github.com/melinath/philo
* 'master' of git://github.com/melinath/philo:
Added markdown-formatted README, and added a note to the readme re: the IRC channel. Removed the replace_sender_response function as it was a terrible abomination that was bound to encourage hackish solutions.
Improved NodeAdmin list_display options. Added use of default validators to JSONField and JSONFormField.
Simplified waldo's AccountMultiView to rely just on an AccountForm rather than a complicated mix of a UserForm and an AccountForm generated based on a number of attributes.
Minor correction to TreeModel.get_path to allow for subclasses that use an alternate level attribute. Minor correction to TreeManager.get_with_path to only return root as the deepest node if there is actually no deepest_found node. Added MultiView.reverse() shortcut method to handle the common pattern of getting the absolute url for the subpath of a multiview. Adjusted waldo MultiViews to use their reverse() method. Added make_confirmation_link() method to LoginMultiView to provide a standard, reusable way to handle this task. Brought waldo's multiview get_context method use in line with penfield by removing the optional extra dictionary passed in.
Minor correction to embed template tag: updating the context adds an additional context layer, which means the explicitly pushed layer was never popped.
Minor changes to penfield to return feed urls only when feeds are actually enabled and to allow BlogEntry.objects.latest(). Corrected TreeManager.get_with_path to return the root node (if defined) as the deepest node if nothing else is found along the path. Removed embed tag error raising for an expected behavior.
Minor corrections to node_url and embed templatetags to avoid raising unnecessary errors.
Corrected embed handling to ignore embedded instances which do not appear in the context.
Further polished embedding system - allowed for context-dependent embed nodes to be correctly added to the embed context and to correctly render in extending templates even if not within blocks. Added notes to README about how to use philo. Fixed docstring typo for {% node_url %} templatetag.
Improved the initial mptt migration by adding automated tree rebuilds.
Stephen Burrows [Wed, 5 Jan 2011 21:18:32 +0000 (16:18 -0500)]
Added markdown-formatted README, and added a note to the readme re: the IRC channel. Removed the replace_sender_response function as it was a terrible abomination that was bound to encourage hackish solutions.
Stephen Burrows [Tue, 4 Jan 2011 16:36:06 +0000 (11:36 -0500)]
Added a custom QuerySet subclass to handle cache clearing for Navigation mass updates and deletions.
Stephen Burrows [Mon, 3 Jan 2011 22:18:35 +0000 (17:18 -0500)]
Added is_active method to Navigation class. Replaced the get_navigation and is_active filters with a recursenavigation template tag.
Stephen Burrows [Thu, 23 Dec 2010 20:35:32 +0000 (15:35 -0500)]
Switched nav caching to cache the entire set of nodes for the navigation, not just the roots. Tweaked NavigationManager.clear_cache method to accout for this. Set Navigation model save and delete methods to call the cache clearer if appropriate. Tweaked get_navigation filter to take advantage of the changes.
Stephen Burrows [Thu, 23 Dec 2010 17:08:34 +0000 (12:08 -0500)]
Merge branch 'master' into navigation
Stephen Burrows [Thu, 23 Dec 2010 17:07:48 +0000 (12:07 -0500)]
Improved NodeAdmin list_display options. Added use of default validators to JSONField and JSONFormField.
Stephen Burrows [Thu, 23 Dec 2010 17:04:11 +0000 (12:04 -0500)]
Moved NavigationManager cache handling into custom methods for better readability and compartmentalization. Added NavigationManager to Navigation model. Tweaked navigation generation filter to work based on a Node instead of roots.
Stephen Burrows [Thu, 23 Dec 2010 15:19:08 +0000 (10:19 -0500)]
Tweaked admin and models. Added filters to manage navigation display.
Stephen Burrows [Tue, 21 Dec 2010 22:36:36 +0000 (17:36 -0500)]
Moved all navigation-related code to contrib/navigation. Refactored navigation to be more independant of the Node tree structure and allow for absolute urls, links to nodes, links to node subpaths, and links to reversed node subpaths.
Stephen Burrows [Tue, 21 Dec 2010 15:12:03 +0000 (10:12 -0500)]
Merge branch 'master' into navigation
Stephen Burrows [Mon, 20 Dec 2010 21:56:43 +0000 (16:56 -0500)]
Simplified waldo's AccountMultiView to rely just on an AccountForm rather than a complicated mix of a UserForm and an AccountForm generated based on a number of attributes.
Stephen Burrows [Mon, 20 Dec 2010 19:24:04 +0000 (14:24 -0500)]
Minor correction to TreeModel.get_path to allow for subclasses that use an alternate level attribute. Minor correction to TreeManager.get_with_path to only return root as the deepest node if there is actually no deepest_found node. Added MultiView.reverse() shortcut method to handle the common pattern of getting the absolute url for the subpath of a multiview. Adjusted waldo MultiViews to use their reverse() method. Added make_confirmation_link() method to LoginMultiView to provide a standard, reusable way to handle this task. Brought waldo's multiview get_context method use in line with penfield by removing the optional extra dictionary passed in.
Stephen Burrows [Thu, 16 Dec 2010 21:59:02 +0000 (16:59 -0500)]
Minor correction to embed template tag: updating the context adds an additional context layer, which means the explicitly pushed layer was never popped.
Stephen Burrows [Wed, 15 Dec 2010 17:59:57 +0000 (12:59 -0500)]
Minor changes to penfield to return feed urls only when feeds are actually enabled and to allow BlogEntry.objects.latest(). Corrected TreeManager.get_with_path to return the root node (if defined) as the deepest node if nothing else is found along the path. Removed embed tag error raising for an expected behavior.
Stephen Burrows [Wed, 8 Dec 2010 19:47:13 +0000 (14:47 -0500)]
Minor corrections to node_url and embed templatetags to avoid raising unnecessary errors.
Stephen Burrows [Wed, 1 Dec 2010 21:49:35 +0000 (16:49 -0500)]
Corrected embed handling to ignore embedded instances which do not appear in the context.
Stephen Burrows [Tue, 30 Nov 2010 15:35:42 +0000 (10:35 -0500)]
Further polished embedding system - allowed for context-dependent embed nodes to be correctly added to the embed context and to correctly render in extending templates even if not within blocks. Added notes to README about how to use philo. Fixed docstring typo for {% node_url %} templatetag.
Stephen Burrows [Mon, 29 Nov 2010 16:06:57 +0000 (11:06 -0500)]
Improved the initial mptt migration by adding automated tree rebuilds.
Joseph Spiros [Mon, 29 Nov 2010 19:11:37 +0000 (14:11 -0500)]
Merge branch 'master' of git://github.com/melinath/philo
* 'master' of git://github.com/melinath/philo:
Added {% include_string %} tag to allow passing of context from templates to template code from arbitrary sources (such as a NewsletterArticle).
Added get_path tests back in. Special-cased get_path if root and self are equal to return '' instead of raising an exception.
Corrected Node's get_path method to only fetch the path since the given root (if any)
Brought tests in line with mptt branch. Added assertQueryLimit method as a rough measure of efficiency. Added get_with_path tests. Made corrections to get_with_path for cases where root != None.
Added {% embed <instance> %} syntax for embedding. Switched to actually using the EmbedNode get_instance and get_template methods for greater flexibility.
Added MPTTModelAdmin integration. Committed docstring changes for get_with_path.
Initial mptt commit. Implements a much more efficient get_with_path method for TreeManager, optimized with mptt features. Also increases efficiency of TreeModel.get_path(). mptt admin features to come.
Stephen Burrows [Mon, 29 Nov 2010 15:59:21 +0000 (10:59 -0500)]
Added NodeOverrideInlineFormSet to clean up admin editing of node overrides by only displaying overrides where both the override's parent and the override's child__parent are the current instance. Cleaned up migrations by merging the change of NodeNavigationOverride.parent to allow null into the original migration that created NodeNavigationOverrides. Made navigation include the root node in the top-level navigation... not sure this is the correct way to handle things. Added navigation-generating template tag.
Stephen Burrows [Tue, 16 Nov 2010 16:39:05 +0000 (11:39 -0500)]
Minor improvements to navigationoverrides, including admin support and working navigation construction.
Stephen Burrows [Thu, 11 Nov 2010 18:26:41 +0000 (13:26 -0500)]
Initial navigation commit. Steps towards Model-managed navigation overrides.
Stephen Burrows [Mon, 29 Nov 2010 18:32:20 +0000 (13:32 -0500)]
Merge branch 'feature/include_string_tag'
Stephen Burrows [Wed, 17 Nov 2010 18:51:13 +0000 (13:51 -0500)]
Added {% include_string %} tag to allow passing of context from templates to template code from arbitrary sources (such as a NewsletterArticle).
Stephen Burrows [Mon, 29 Nov 2010 18:25:19 +0000 (13:25 -0500)]
Merge branch 'mptt'
Conflicts:
tests.py
Stephen Burrows [Mon, 22 Nov 2010 15:45:31 +0000 (10:45 -0500)]
Added get_path tests back in. Special-cased get_path if root and self are equal to return '' instead of raising an exception.
Stephen Burrows [Fri, 19 Nov 2010 06:46:38 +0000 (01:46 -0500)]
Corrected Node's get_path method to only fetch the path since the given root (if any)
Stephen Burrows [Tue, 16 Nov 2010 21:00:07 +0000 (16:00 -0500)]
Brought tests in line with mptt branch. Added assertQueryLimit method as a rough measure of efficiency. Added get_with_path tests. Made corrections to get_with_path for cases where root != None.
Stephen Burrows [Mon, 29 Nov 2010 17:26:41 +0000 (12:26 -0500)]
Added {% embed <instance> %} syntax for embedding. Switched to actually using the EmbedNode get_instance and get_template methods for greater flexibility.
Joseph Spiros [Wed, 24 Nov 2010 02:28:28 +0000 (21:28 -0500)]
Merge branch 'master' of git://github.com/melinath/philo
* 'master' of git://github.com/melinath/philo:
Enabled Embed rule inheritance from parent templates and to included templates with a bit of overriding of EmbedNode methods and use of context.render_context similar to BlockNodes. Removed {% embed as <varname> %} syntax as obsolete. Added tests for {% embed %} tags in various situations.
Switched template loading from Template.loader to philo.loaders.database.Loader in keeping with Django's recommended way of implementing loaders. Note that the origin of the template is considered to be the actual instance instead of a path, as this seems more strictly accurate. The instance is converted to unicode by the loader to more correctly fit the expected "display_name". Removed origin and django_template properties from templates. Corrected a minor error in the node_url templatetag for contexts not containing 'node'.
Switched node_view conditions for raising MIDDLEWARE_NOT_CONFIGURED to actually check whether the middleware is configured. This allows errors in request.node evaluation to propogate and be more easily debugged.
Added get_branch support to TreeManager.
Added support for recursive trees - i.e. recursion checks to prevent infinite loops. Improved efficiency of TreeModel.get_path method by removing has_ancestor check. Shortened and clarified NodeURLTestCase; added test case for TreeModel paths and ancestor checks.
Increased specificity of penfield get_article conditions for 404 raising. Corrected get_with_path handling of trailing pathseps to re-add them to the path's remainder.
Customized FilterSelectMultiple widget for Tags to allow one-click adding of tags not found with normal filtering. Addresses feature #9 for the built-in admin interface.
Improved general efficiency of TreeManager's get_with_path method in terms of number of queries by implementing a halving algorithm. Can require more queries than the previous algorithm in cases where the remainder following the deepest node is relatively long.
Shunted responsibility for 404 and 500 error catching from node_view to RequestNodeMiddleware. Made minor corrections to ManyToMany values and descriptors.
Minor correction to Waldo logout view to fall back to the node's absolute_url if HTTP_REFERER is not found in request.META
Tweaked Entity and TreeEntity to pass an actual queryset to QuerySetMapper instead of a manager. The results are generally the same, and anyone accessing querysetmapper.queryset will be expecting to find a queryset.
Switched Attribute ManyToManyValues to have a ManyToManyField to ForeignKeyValues instead of a CommaSeparatedIntegerField. This allows joined queries and referential integrity. In the long run, it also simplifies adding support for non-integer primary keys.
Cleaned up ManyToManyValue set_value method. Also tweaked container template tag to recognize a contentlet as dynamic if it only contains a variable.
Stephen Burrows [Fri, 19 Nov 2010 20:06:19 +0000 (15:06 -0500)]
Enabled Embed rule inheritance from parent templates and to included templates with a bit of overriding of EmbedNode methods and use of context.render_context similar to BlockNodes. Removed {% embed as <varname> %} syntax as obsolete. Added tests for {% embed %} tags in various situations.
Stephen Burrows [Wed, 17 Nov 2010 16:05:28 +0000 (11:05 -0500)]
Switched template loading from Template.loader to philo.loaders.database.Loader in keeping with Django's recommended way of implementing loaders. Note that the origin of the template is considered to be the actual instance instead of a path, as this seems more strictly accurate. The instance is converted to unicode by the loader to more correctly fit the expected "display_name". Removed origin and django_template properties from templates. Corrected a minor error in the node_url templatetag for contexts not containing 'node'.
Stephen Burrows [Tue, 16 Nov 2010 16:49:09 +0000 (11:49 -0500)]
Switched node_view conditions for raising MIDDLEWARE_NOT_CONFIGURED to actually check whether the middleware is configured. This allows errors in request.node evaluation to propogate and be more easily debugged.
Stephen Burrows [Mon, 15 Nov 2010 16:39:46 +0000 (11:39 -0500)]
Added MPTTModelAdmin integration. Committed docstring changes for get_with_path.
Stephen Burrows [Fri, 12 Nov 2010 19:10:01 +0000 (14:10 -0500)]
Initial mptt commit. Implements a much more efficient get_with_path method for TreeManager, optimized with mptt features. Also increases efficiency of TreeModel.get_path(). mptt admin features to come.
Stephen Burrows [Wed, 10 Nov 2010 19:07:42 +0000 (14:07 -0500)]
Added get_branch support to TreeManager.
Stephen Burrows [Wed, 10 Nov 2010 16:10:53 +0000 (11:10 -0500)]
Added support for recursive trees - i.e. recursion checks to prevent infinite loops. Improved efficiency of TreeModel.get_path method by removing has_ancestor check. Shortened and clarified NodeURLTestCase; added test case for TreeModel paths and ancestor checks.
Stephen Burrows [Fri, 5 Nov 2010 21:19:00 +0000 (17:19 -0400)]
Increased specificity of penfield get_article conditions for 404 raising. Corrected get_with_path handling of trailing pathseps to re-add them to the path's remainder.
Stephen Burrows [Fri, 5 Nov 2010 19:07:29 +0000 (15:07 -0400)]
Customized FilterSelectMultiple widget for Tags to allow one-click adding of tags not found with normal filtering. Addresses feature #9 for the built-in admin interface.
Stephen Burrows [Thu, 4 Nov 2010 18:59:20 +0000 (14:59 -0400)]
Improved general efficiency of TreeManager's get_with_path method in terms of number of queries by implementing a halving algorithm. Can require more queries than the previous algorithm in cases where the remainder following the deepest node is relatively long.
Stephen Burrows [Tue, 2 Nov 2010 20:37:35 +0000 (16:37 -0400)]
Shunted responsibility for 404 and 500 error catching from node_view to RequestNodeMiddleware. Made minor corrections to ManyToMany values and descriptors.
Stephen Burrows [Mon, 1 Nov 2010 15:25:15 +0000 (11:25 -0400)]
Merge branch 'bugfix/waldo_logout_view'
Stephen Burrows [Mon, 1 Nov 2010 15:05:52 +0000 (11:05 -0400)]
Minor correction to Waldo logout view to fall back to the node's absolute_url if HTTP_REFERER is not found in request.META
Stephen Burrows [Fri, 29 Oct 2010 21:03:14 +0000 (17:03 -0400)]
Tweaked Entity and TreeEntity to pass an actual queryset to QuerySetMapper instead of a manager. The results are generally the same, and anyone accessing querysetmapper.queryset will be expecting to find a queryset.
Stephen Burrows [Fri, 29 Oct 2010 14:46:35 +0000 (10:46 -0400)]
Switched Attribute ManyToManyValues to have a ManyToManyField to ForeignKeyValues instead of a CommaSeparatedIntegerField. This allows joined queries and referential integrity. In the long run, it also simplifies adding support for non-integer primary keys.
Stephen Burrows [Thu, 28 Oct 2010 18:38:34 +0000 (14:38 -0400)]
Cleaned up ManyToManyValue set_value method. Also tweaked container template tag to recognize a contentlet as dynamic if it only contains a variable.
Joseph Spiros [Wed, 27 Oct 2010 17:36:10 +0000 (10:36 -0700)]
Merge branch 'master' of git://github.com/melinath/philo
* 'master' of git://github.com/melinath/philo:
Added grappelli inlines for contentlets and attributes which become active if grappelli is installed.
Corrected NewsletterView add_item method to join a list of author full_names instead of a QuerySet of models.
Bugfix: corrects erratic TreeModel get_path behavior. Was returning an extra slash at the end of paths with a given root.
Moved get_subpath and get_reverse_params prototypes into View model.
Stephen Burrows [Tue, 26 Oct 2010 13:50:51 +0000 (09:50 -0400)]
Added grappelli inlines for contentlets and attributes which become active if grappelli is installed.
Stephen Burrows [Fri, 22 Oct 2010 17:59:41 +0000 (13:59 -0400)]
Merge branch 'bugfix/penfield_newsletter_feed'
Stephen Burrows [Fri, 22 Oct 2010 17:59:00 +0000 (13:59 -0400)]
Corrected NewsletterView add_item method to join a list of author full_names instead of a QuerySet of models.
Stephen Burrows [Thu, 21 Oct 2010 21:45:46 +0000 (17:45 -0400)]
Merge branch 'bugfix/get_path_trailing_slash'
Stephen Burrows [Thu, 21 Oct 2010 21:41:19 +0000 (17:41 -0400)]
Bugfix: corrects erratic TreeModel get_path behavior. Was returning an extra slash at the end of paths with a given root.
Stephen Burrows [Thu, 21 Oct 2010 21:38:45 +0000 (17:38 -0400)]
Moved get_subpath and get_reverse_params prototypes into View model.
Joseph Spiros [Thu, 21 Oct 2010 20:22:11 +0000 (16:22 -0400)]
Merge branch '404_relationship_bugfix' of git://github.com/melinath/philo
* '404_relationship_bugfix' of git://github.com/melinath/philo:
Removes leftover references to relationships in nodeview error handling and in TreeEntity
Stephen Burrows [Thu, 21 Oct 2010 20:20:14 +0000 (16:20 -0400)]
Removes leftover references to relationships in nodeview error handling and in TreeEntity
Joseph Spiros [Thu, 21 Oct 2010 19:59:40 +0000 (15:59 -0400)]
Merge branch 'master' of git://github.com/melinath/philo
* 'master' of git://github.com/melinath/philo:
Added support for 'editable' to ProxyFields. Tweaked AttributeFieldDescriptor base class to not raise an AttributeError on access. This allows the descriptor to be detected by Django admin validation, allowing the proxy fields to be used (for example) in a ModelAdmin's readonly_fields and list_display fields. This may address the remaining issues in feature #16.
Tweaked philo migrations to force contenttype creation after migration 0005 so the contenttypes are available in migration 0006. Ordinarily contenttypes are only synced after a complete set of migrations. Also implemented default values on proxy fields; partially addresses feature #16.
Added unittest for node_url templatetag. Fixed issues uncovered with unittests. Added test fixture. Seems bugfree - as such, addresses feature #12.
Initial node_url_refactor commit. Revises node_url templatetag to accept args/kwargs like urlnode, using the current or given node's view as the urlconf. with <obj> is retained as a convenient shortcut.
Initial node_middleware commit. Implements an attribute on the HttpRequest class which handles lazy node evaluation - i.e. request.node is available for all requests, but is only evaluated on first use. Removed all references I could find to node, path, and subpath in Views, which may make for a simpler API. Path and subpath were generally unused and can be extrapolated in other ways; however, should it come to light that they are necessary, they can be added back in.
Added model validation to Pages; for a page to be valid, its related template must also be valid. Ordinarily, the template would need to be valid in order to exist; however, this should help catch cases where, for example, changes on a filesystem template affect the validity of a database template. Addresses the remaining issues with bug #14.
Genericized penfield's migrations to allow for variations in the PHILO_PERSON_MODULE setting by adding a central frozen reference to the person module appropriate for use in a South Migration.
Tweaked QuerySetMapper to return the value's value, in line with the changes to flexible attributes. Adjusted attribute fields to compensate.
Shunted the responsibility in Entity proxy models for setting an Attribute's value onto the field that manages the model's relationship to that attribute.
Added migrations to handle transfer of structure and information to and from flexible attributes.
Added AttributeInlineFormSet to force new Attribute instances to be run through the form's save method for extra processing.
Added generic relation from attribute values back to Attribute.
Added migrations from ithinksw/master to melinath/master
Added search field to tags; added db_index=True to newsletter article full_text to expediate searching.
Polished AttributeForm to better handle changes to an attribute instance. Introduced apply_data to AttributeValue models to further allow customization. Made an AttributeValue class which must be subclassed to create new attribute values.
Added AttributeForm to elegantly handle all the fields that should be displayed in the admin related to the instance's value. Tweaked the tabular_collapse template (which was only used for attributes) to display the extra fields. Added the "value_formfield" method to Attribute Value models to allow for the possible future addition of value types.
Initial flexible attributes commit. Removed Relationship model in favor of a flexible Attribute model with generic foreign keys to an entity and a value type. This should allow for easy addition of attribute types: for example, an attribute with a ManyToMany value.
Created JSON field, descriptor, and formfield to handle json storage on models uniformly. Addresses feature #26.
Stephen Burrows [Thu, 21 Oct 2010 19:57:01 +0000 (15:57 -0400)]
Merge branch 'node_url_refactor'
Stephen Burrows [Thu, 21 Oct 2010 19:56:45 +0000 (15:56 -0400)]
Merge branch 'node_middleware'
Stephen Burrows [Thu, 21 Oct 2010 19:05:07 +0000 (15:05 -0400)]
Added support for 'editable' to ProxyFields. Tweaked AttributeFieldDescriptor base class to not raise an AttributeError on access. This allows the descriptor to be detected by Django admin validation, allowing the proxy fields to be used (for example) in a ModelAdmin's readonly_fields and list_display fields. This may address the remaining issues in feature #16.
Stephen Burrows [Thu, 21 Oct 2010 16:15:14 +0000 (12:15 -0400)]
Tweaked philo migrations to force contenttype creation after migration 0005 so the contenttypes are available in migration 0006. Ordinarily contenttypes are only synced after a complete set of migrations. Also implemented default values on proxy fields; partially addresses feature #16.
Stephen Burrows [Wed, 20 Oct 2010 21:43:53 +0000 (17:43 -0400)]
Added unittest for node_url templatetag. Fixed issues uncovered with unittests. Added test fixture. Seems bugfree - as such, addresses feature #12.
Stephen Burrows [Wed, 20 Oct 2010 18:45:58 +0000 (14:45 -0400)]
Initial node_url_refactor commit. Revises node_url templatetag to accept args/kwargs like urlnode, using the current or given node's view as the urlconf. with <obj> is retained as a convenient shortcut.
Stephen Burrows [Tue, 19 Oct 2010 21:08:24 +0000 (17:08 -0400)]
Initial node_middleware commit. Implements an attribute on the HttpRequest class which handles lazy node evaluation - i.e. request.node is available for all requests, but is only evaluated on first use. Removed all references I could find to node, path, and subpath in Views, which may make for a simpler API. Path and subpath were generally unused and can be extrapolated in other ways; however, should it come to light that they are necessary, they can be added back in.
Stephen Burrows [Tue, 19 Oct 2010 14:56:15 +0000 (10:56 -0400)]
Merge 'template_error_handling' bugfix.
Stephen Burrows [Tue, 19 Oct 2010 14:49:59 +0000 (10:49 -0400)]
Added model validation to Pages; for a page to be valid, its related template must also be valid. Ordinarily, the template would need to be valid in order to exist; however, this should help catch cases where, for example, changes on a filesystem template affect the validity of a database template. Addresses the remaining issues with bug #14.
Stephen Burrows [Mon, 18 Oct 2010 21:31:55 +0000 (17:31 -0400)]
Genericized penfield's migrations to allow for variations in the PHILO_PERSON_MODULE setting by adding a central frozen reference to the person module appropriate for use in a South Migration.
Stephen Burrows [Fri, 15 Oct 2010 14:43:42 +0000 (10:43 -0400)]
Tweaked QuerySetMapper to return the value's value, in line with the changes to flexible attributes. Adjusted attribute fields to compensate.
Stephen Burrows [Thu, 14 Oct 2010 20:24:59 +0000 (16:24 -0400)]
Shunted the responsibility in Entity proxy models for setting an Attribute's value onto the field that manages the model's relationship to that attribute.
Stephen Burrows [Thu, 14 Oct 2010 16:43:56 +0000 (12:43 -0400)]
Merge branch 'flexible_attributes'
Stephen Burrows [Thu, 14 Oct 2010 16:30:23 +0000 (12:30 -0400)]
Added migrations to handle transfer of structure and information to and from flexible attributes.
Stephen Burrows [Thu, 14 Oct 2010 16:29:17 +0000 (12:29 -0400)]
Added AttributeInlineFormSet to force new Attribute instances to be run through the form's save method for extra processing.
Stephen Burrows [Thu, 14 Oct 2010 15:18:24 +0000 (11:18 -0400)]
Added generic relation from attribute values back to Attribute.
Stephen Burrows [Thu, 14 Oct 2010 13:57:35 +0000 (09:57 -0400)]
Merge branch 'master' into flexible_attributes
Stephen Burrows [Wed, 13 Oct 2010 21:06:27 +0000 (17:06 -0400)]
Added migrations from ithinksw/master to melinath/master
Stephen Burrows [Wed, 13 Oct 2010 18:46:49 +0000 (14:46 -0400)]
Added search field to tags; added db_index=True to newsletter article full_text to expediate searching.
Stephen Burrows [Tue, 12 Oct 2010 21:44:43 +0000 (17:44 -0400)]
Polished AttributeForm to better handle changes to an attribute instance. Introduced apply_data to AttributeValue models to further allow customization. Made an AttributeValue class which must be subclassed to create new attribute values.
Stephen Burrows [Tue, 12 Oct 2010 16:30:34 +0000 (12:30 -0400)]
Added AttributeForm to elegantly handle all the fields that should be displayed in the admin related to the instance's value. Tweaked the tabular_collapse template (which was only used for attributes) to display the extra fields. Added the "value_formfield" method to Attribute Value models to allow for the possible future addition of value types.
Stephen Burrows [Tue, 12 Oct 2010 13:51:05 +0000 (09:51 -0400)]
Initial flexible attributes commit. Removed Relationship model in favor of a flexible Attribute model with generic foreign keys to an entity and a value type. This should allow for easy addition of attribute types: for example, an attribute with a ManyToMany value.
Stephen Burrows [Fri, 8 Oct 2010 18:09:21 +0000 (14:09 -0400)]
Created JSON field, descriptor, and formfield to handle json storage on models uniformly. Addresses feature #26.
Joseph Spiros [Wed, 6 Oct 2010 01:08:40 +0000 (21:08 -0400)]
Merge branch 'master' of git://github.com/melinath/philo
* 'master' of git://github.com/melinath/philo:
Minor bugfix: moved ConstantEmbedNode DoesNotExist reraising so that it actually reraises the DoesNotExist exception.
Removed referential integrity code. Moved embed templatetag into core. Differentiated ConstantEmbedNode (context-independent) and EmbedNode, analogous to django's ConstantIncludeNode/IncludeNode.
Added embeddable_content_types registry to track what content types are embeddable. Added tracking of whether a model class run through post_delete has EmbedField instances on it. These save time and trouble in the post_delete cascade.
Added kwarg capability to embed tag. Adjusted reference substitution to account for kwargs.
Adjusted to match the new master TemplateField changes. Switched the setting of _embedded_instances to the EmbedField clean method so that validationerrors can be raised. Added South introspection rules. Switched NewsletterArticle to use EmbedFields. Set EmbedNode to pre-calculate templates and instances if appropriate and to suppress any errors that might occur. Made invalid content type references raise a TemplateSyntaxError, in line with the container template tag.
Added post-save and post-delete signals to manage Embed instances. Added the delete method on the Embed model to remove itself from fields where it is embedded.
Added methods and functions to support syncing embedded models in post-save.
Initial embed commit. Implements TemplateField and EmbedField - model fields that validate their contents as templates and templates with embedded content, respectively. Implements the {% embed %} template tag, which allows arbitrary instances to be rendered with a given template. Initial sketch of the embed tracker (which should handle cascading deletions) also in place.
Switched nodelist crawl to return the more generic 'results' of the crawl, rather than 'nodes'. Fixed missing import for TemplateValidationParser.
Abstracted the Template container fetcher to a nodelist_crawler which takes a callback to determine if a node should be returned. Put all code related to the crawler into philo.utils.
Moved a few more miscellaneous things into master from embed that did not belong there, mostly deletions of old code regarding template validation.
Removed 'dynamic' from the Contentlet model. Added TemplateField to Template model and Contentlet model. Fixed some minor typos and added some comments to the code. Increased verbosity of 'disallowed tag' errors.
Added template field to master branch. Added monkeypatch for telling if a node includes a template and what that template is - eases container fetching. Added template validator which can allow/disallow tags by using a custom parser. Requires testing.
Tweaked nodeview error reraising to preserve traceback information.
Stephen Burrows [Tue, 5 Oct 2010 21:49:59 +0000 (17:49 -0400)]
Merge branch 'embed'
Stephen Burrows [Tue, 5 Oct 2010 21:49:12 +0000 (17:49 -0400)]
Minor bugfix: moved ConstantEmbedNode DoesNotExist reraising so that it actually reraises the DoesNotExist exception.
Stephen Burrows [Tue, 5 Oct 2010 21:16:21 +0000 (17:16 -0400)]
Removed referential integrity code. Moved embed templatetag into core. Differentiated ConstantEmbedNode (context-independent) and EmbedNode, analogous to django's ConstantIncludeNode/IncludeNode.
Stephen Burrows [Mon, 4 Oct 2010 20:27:43 +0000 (16:27 -0400)]
Added embeddable_content_types registry to track what content types are embeddable. Added tracking of whether a model class run through post_delete has EmbedField instances on it. These save time and trouble in the post_delete cascade.
Stephen Burrows [Mon, 4 Oct 2010 15:54:31 +0000 (11:54 -0400)]
Added kwarg capability to embed tag. Adjusted reference substitution to account for kwargs.
Stephen Burrows [Mon, 4 Oct 2010 15:09:54 +0000 (11:09 -0400)]
Adjusted to match the new master TemplateField changes. Switched the setting of _embedded_instances to the EmbedField clean method so that validationerrors can be raised. Added South introspection rules. Switched NewsletterArticle to use EmbedFields. Set EmbedNode to pre-calculate templates and instances if appropriate and to suppress any errors that might occur. Made invalid content type references raise a TemplateSyntaxError, in line with the container template tag.
Stephen Burrows [Tue, 28 Sep 2010 14:28:20 +0000 (10:28 -0400)]
Added post-save and post-delete signals to manage Embed instances. Added the delete method on the Embed model to remove itself from fields where it is embedded.
Stephen Burrows [Mon, 27 Sep 2010 21:42:47 +0000 (17:42 -0400)]
Added methods and functions to support syncing embedded models in post-save.
Stephen Burrows [Mon, 27 Sep 2010 17:43:32 +0000 (13:43 -0400)]
Initial embed commit. Implements TemplateField and EmbedField - model fields that validate their contents as templates and templates with embedded content, respectively. Implements the {% embed %} template tag, which allows arbitrary instances to be rendered with a given template. Initial sketch of the embed tracker (which should handle cascading deletions) also in place.
Stephen Burrows [Mon, 4 Oct 2010 14:17:27 +0000 (10:17 -0400)]
Switched nodelist crawl to return the more generic 'results' of the crawl, rather than 'nodes'. Fixed missing import for TemplateValidationParser.
Joseph Spiros [Sun, 3 Oct 2010 21:17:42 +0000 (17:17 -0400)]
Adding recaptcha-django to the README.
Stephen Burrows [Fri, 1 Oct 2010 16:51:15 +0000 (12:51 -0400)]
Abstracted the Template container fetcher to a nodelist_crawler which takes a callback to determine if a node should be returned. Put all code related to the crawler into philo.utils.
Stephen Burrows [Fri, 1 Oct 2010 14:49:55 +0000 (10:49 -0400)]
Moved a few more miscellaneous things into master from embed that did not belong there, mostly deletions of old code regarding template validation.
Stephen Burrows [Fri, 1 Oct 2010 14:24:02 +0000 (10:24 -0400)]
Removed 'dynamic' from the Contentlet model. Added TemplateField to Template model and Contentlet model. Fixed some minor typos and added some comments to the code. Increased verbosity of 'disallowed tag' errors.
Stephen Burrows [Thu, 30 Sep 2010 22:15:52 +0000 (18:15 -0400)]
Added template field to master branch. Added monkeypatch for telling if a node includes a template and what that template is - eases container fetching. Added template validator which can allow/disallow tags by using a custom parser. Requires testing.
Stephen Burrows [Thu, 30 Sep 2010 19:52:07 +0000 (15:52 -0400)]
Tweaked nodeview error reraising to preserve traceback information.
Joseph Spiros [Wed, 29 Sep 2010 18:39:17 +0000 (14:39 -0400)]
Merge branch 'master' of git://github.com/melinath/philo
* 'master' of git://github.com/melinath/philo:
Implemented better container filtering for page container inlines.
Modified FeedMultiViewMixin to allow greater customization of feed creation, especially with regards to feed titles. Tweaked BlogView and NewsletterView to be in line with the changes.
Adjusted feedmultiviewmixin to allow more customization of objects being added to feeds and to link to complete urls instead of absolute in-site urls.
Corrected blogview tag feed urls.
Added filter_horizontal on blogentry tags. Made minor corrections to BlogView's get_entries_by_tag method.
Added waldo filtering to send multipart or plaintext messages based on the template mimetype. Tweaked Template model to actually default to text/html instead of just saying it.
Fixed login redirects
Added recaptcha support to waldo registration form.
Switched newsletterissue numbering to a more generic field. Added newsletterview unicode. Minor change to container templatetags to ensure that the container_content variable is always set.
Added 500 handling to nodeview. Made nodeview vary on Accept header to allow fancy json/html switchouts - possibly also other fanciness.
Added philo 404 handling via a relationship named Http404 on nodes. Uses the passthrough feature of relationships to let 404 views inherit.
Added tags to newsletter articles
Tweaked AccountMultiView to account for emails containing '+' in the local address.
Upped philo.tag name/slug lengths to 255.
Added slug to TagAdmin list_display. Corrected FeedMultiViewMixin to also paginate the root page.
Added helper function to ease response 'returns' for signal listeners
Switched over to render_to_response and actually_render_to_response, since render_to_response is the open api used by say multiviews and should always be called when a page is to render. Calling a hidden method would not be good. Also added render_to_string listeners for pages.
Added view_about_to_render and view_finished_rendering signals. Added hidden _render_to_response method to ensure they're called on all view subclasses. Also some minor streamlining on Newsletters.
Shifted definition of the context list_var (entries vs. articles) to a class attribute. Since account_view can be put in place of any arbitrary view, let it accept args and kwargs to handle anything unexpected.
Stephen Burrows [Tue, 28 Sep 2010 20:21:04 +0000 (16:21 -0400)]
Implemented better container filtering for page container inlines.