philo.git
13 years agoMade a slight change to window position randomization; now only non-modal windows... gilbert
Joseph Spiros [Tue, 22 Mar 2011 19:16:51 +0000 (15:16 -0400)]
Made a slight change to window position randomization; now only non-modal windows are positioned randomly.

13 years agoFixed the password change form on the client side, and fixed form handling in the...
Joseph Spiros [Tue, 22 Mar 2011 19:12:27 +0000 (15:12 -0400)]
Fixed the password change form on the client side, and fixed form handling in the auth and models plugins server-side.

13 years agoMade new windows position themselves randomly.
Joseph Spiros [Tue, 22 Mar 2011 18:52:49 +0000 (14:52 -0400)]
Made new windows position themselves randomly.
A better solution than this should be found, but for now this will avoid confusion when many windows of the same size are stacked.

13 years agoAdded theme switching to auth plugin. Tries to do it live, but some windows may need...
Joseph Spiros [Tue, 22 Mar 2011 18:30:47 +0000 (14:30 -0400)]
Added theme switching to auth plugin. Tries to do it live, but some windows may need resizing to redraw using the new theme's metrics.

13 years agoCleaned up model grids a bit and added basic validation for edit/delete actions.
Joseph Spiros [Tue, 22 Mar 2011 17:30:55 +0000 (13:30 -0400)]
Cleaned up model grids a bit and added basic validation for edit/delete actions.

13 years agoAll of my work from commits: dd4a194, 692644a, 4a60203, 5de46bc, 152042d, 64a2d4e...
Joseph Spiros [Mon, 21 Mar 2011 15:39:05 +0000 (11:39 -0400)]
All of my work from commits: dd4a194692644a4a602035de46bc152042d64a2d4eb9f0257d609f33e22b266d36aedaef49b867fcf33cd70b95672004003fcd769283b1c5c9ad9e6d5e2b6dd5f7276c26a6db6761d6b9022310ae55c5e7a51153f72b0f5a3be772079db6e5e167991f4c605.

13 years agoMerge branch 'master' into gilbert
Joseph Spiros [Mon, 21 Mar 2011 15:37:44 +0000 (11:37 -0400)]
Merge branch 'master' into gilbert

* master: (25 commits)
  Added feed length limit to FeedView. Implements feature #111.
  Corrected LazyNavigationRecurser to mark its return value as safe.
  Switched back to setting a {{ children }} variable, but set it to a lazy recurser instead of a rendered result. Switched item and children to be set in the context directly for easy access. Improved/updated recursenavigation docstring.
  Refactored the RecurseNavigationNode to have less repetition. Switched from {{ children }} to {% recurse %} because it makes more sense to collect recursion only if needed.
  Added a number of counting variables to the context when rendering shipherd navigation. Designed to mirror the variables generated when using a for loop.
  Minor corrections to shipherd recursenavigation docstring.
  Added CSRF cookie js to TagCreation.js... apparently it isn't in the admin by default. Resolves issue 83.
  Added an admin action to NewsletterArticleAdmin to handle creating a NewsletterIssue from a selection of articles. Resolves issue 82.
  Minor LazyContainerFinder cleanup. It's not really that lazy in practice...
  Removed nodelist_crawl since nothing is using it and I'm starting to question its usefulness in general.
  Built a clearer algorithm for finding a template's containers; added support for template block overrides cancelling out containers in that block, which resolves issue #90.
  Corrected FeedView handling of incorrect Accept headers. Will now actually return 406 errors.
  Genericized nodelist_crawl to just pass each node to a callback function. Overloaded the Template.containers callback to create a blockcontext for handling containers in overridden blocks as per issue 90 and to handle contentreference/contentlet generation in a single sweep.
  Refactored ContainerForms to reflect a more suitable structure by storing the containers internally as a SortedDict. By handling containers more consistently, this commit resolves issue #89.
  Removed apparently-vestigial Entity.attribute property.
  Corrected JSONValue.__unicode__ to return unicode instead of bytestrings... not sure what it was being modeled on. Tweaked TargetURLModel to use smart_str instead of str to construct the Python < 2.6.5 kwargs to get a more consistent byte string.
  Corrected WaldoAuthenticationForm.clean to handle lack of password/username. Moved password-related forms into a class attribute for customizability. Standardized confirmation email context and allowed for a secure confirmation link.
  Tweaked TargetURLModel.get_reverse_params() to convert kwargs keys to bytestrings to support Python versions prior to 2.6.5
  Minor correction to BlogView.urlpatterns.
  Switched feed_patterns to return urlpatterns suitable for addition to urlpatterns instead of inclusion in urlpatterns. Adjusted penfield urlpatterns accordingly. Added default behavior for FeedView.get_feed in cases where a known feed_type is not supplied for whatever reason. Added RegistrationMultiView.registration_form attribute.
  ...

13 years agoMerge branch 'master' of git://github.com/melinath/philo
Joseph Spiros [Thu, 3 Mar 2011 20:38:44 +0000 (15:38 -0500)]
Merge branch 'master' of git://github.com/melinath/philo

* 'master' of git://github.com/melinath/philo:
  Added feed length limit to FeedView. Implements feature #111.
  Corrected LazyNavigationRecurser to mark its return value as safe.
  Switched back to setting a {{ children }} variable, but set it to a lazy recurser instead of a rendered result. Switched item and children to be set in the context directly for easy access. Improved/updated recursenavigation docstring.
  Refactored the RecurseNavigationNode to have less repetition. Switched from {{ children }} to {% recurse %} because it makes more sense to collect recursion only if needed.
  Added a number of counting variables to the context when rendering shipherd navigation. Designed to mirror the variables generated when using a for loop.
  Minor corrections to shipherd recursenavigation docstring.
  Added CSRF cookie js to TagCreation.js... apparently it isn't in the admin by default. Resolves issue 83.
  Added an admin action to NewsletterArticleAdmin to handle creating a NewsletterIssue from a selection of articles. Resolves issue 82.
  Minor LazyContainerFinder cleanup. It's not really that lazy in practice...
  Removed nodelist_crawl since nothing is using it and I'm starting to question its usefulness in general.
  Built a clearer algorithm for finding a template's containers; added support for template block overrides cancelling out containers in that block, which resolves issue #90.
  Corrected FeedView handling of incorrect Accept headers. Will now actually return 406 errors.
  Genericized nodelist_crawl to just pass each node to a callback function. Overloaded the Template.containers callback to create a blockcontext for handling containers in overridden blocks as per issue 90 and to handle contentreference/contentlet generation in a single sweep.
  Refactored ContainerForms to reflect a more suitable structure by storing the containers internally as a SortedDict. By handling containers more consistently, this commit resolves issue #89.
  Removed apparently-vestigial Entity.attribute property.

13 years agoAdded feed length limit to FeedView. Implements feature #111.
Stephen Burrows [Thu, 3 Mar 2011 20:01:30 +0000 (15:01 -0500)]
Added feed length limit to FeedView. Implements feature #111.

13 years agoCorrected LazyNavigationRecurser to mark its return value as safe.
Stephen Burrows [Thu, 3 Mar 2011 17:27:08 +0000 (12:27 -0500)]
Corrected LazyNavigationRecurser to mark its return value as safe.

13 years agoSwitched back to setting a {{ children }} variable, but set it to a lazy recurser...
Stephen Burrows [Thu, 3 Mar 2011 17:10:24 +0000 (12:10 -0500)]
Switched back to setting a {{ children }} variable, but set it to a lazy recurser instead of a rendered result. Switched item and children to be set in the context directly for easy access. Improved/updated recursenavigation docstring.

13 years agoRefactored the RecurseNavigationNode to have less repetition. Switched from {{ childr...
Stephen Burrows [Wed, 2 Mar 2011 22:35:20 +0000 (17:35 -0500)]
Refactored the RecurseNavigationNode to have less repetition. Switched from {{ children }} to {% recurse %} because it makes more sense to collect recursion only if needed.

13 years agoMerge branch 'master' of git://github.com/lapilofu/philo
Stephen Burrows [Wed, 2 Mar 2011 21:21:31 +0000 (16:21 -0500)]
Merge branch 'master' of git://github.com/lapilofu/philo

13 years agoMerge remote branch 'melinath/master'
Harris Lapiroff [Wed, 2 Mar 2011 19:59:25 +0000 (14:59 -0500)]
Merge remote branch 'melinath/master'

13 years agoAdded a number of counting variables to the context when rendering shipherd navigatio...
Harris Lapiroff [Wed, 2 Mar 2011 19:54:59 +0000 (14:54 -0500)]
Added a number of counting variables to the context when rendering shipherd navigation. Designed to mirror the variables generated when using a for loop.

13 years agoMinor corrections to shipherd recursenavigation docstring.
Stephen Burrows [Mon, 28 Feb 2011 21:56:39 +0000 (16:56 -0500)]
Minor corrections to shipherd recursenavigation docstring.

13 years agoAdded CSRF cookie js to TagCreation.js... apparently it isn't in the admin by default...
Stephen Burrows [Thu, 24 Feb 2011 17:38:28 +0000 (12:38 -0500)]
Added CSRF cookie js to TagCreation.js... apparently it isn't in the admin by default. Resolves issue 83.

13 years agoAdded an admin action to NewsletterArticleAdmin to handle creating a NewsletterIssue...
Stephen Burrows [Thu, 24 Feb 2011 17:20:19 +0000 (12:20 -0500)]
Added an admin action to NewsletterArticleAdmin to handle creating a NewsletterIssue from a selection of articles. Resolves issue 82.

13 years agoMerge branch 'block_container_override'
Stephen Burrows [Thu, 24 Feb 2011 16:32:11 +0000 (11:32 -0500)]
Merge branch 'block_container_override'

13 years agoMinor LazyContainerFinder cleanup. It's not really that lazy in practice...
Stephen Burrows [Thu, 24 Feb 2011 16:31:56 +0000 (11:31 -0500)]
Minor LazyContainerFinder cleanup. It's not really that lazy in practice...

13 years agoRemoved nodelist_crawl since nothing is using it and I'm starting to question its...
Stephen Burrows [Wed, 23 Feb 2011 22:03:59 +0000 (17:03 -0500)]
Removed nodelist_crawl since nothing is using it and I'm starting to question its usefulness in general.

13 years agoBuilt a clearer algorithm for finding a template's containers; added support for...
Stephen Burrows [Wed, 23 Feb 2011 21:53:19 +0000 (16:53 -0500)]
Built a clearer algorithm for finding a template's containers; added support for template block overrides cancelling out containers in that block, which resolves issue #90.

13 years agoCorrected FeedView handling of incorrect Accept headers. Will now actually return...
Stephen Burrows [Wed, 23 Feb 2011 16:50:50 +0000 (11:50 -0500)]
Corrected FeedView handling of incorrect Accept headers. Will now actually return 406 errors.

13 years agoGenericized nodelist_crawl to just pass each node to a callback function. Overloaded...
Stephen Burrows [Wed, 23 Feb 2011 15:48:27 +0000 (10:48 -0500)]
Genericized nodelist_crawl to just pass each node to a callback function. Overloaded the Template.containers callback to create a blockcontext for handling containers in overridden blocks as per issue 90 and to handle contentreference/contentlet generation in a single sweep.

13 years agoRefactored ContainerForms to reflect a more suitable structure by storing the contain...
Stephen Burrows [Tue, 22 Feb 2011 20:32:15 +0000 (15:32 -0500)]
Refactored ContainerForms to reflect a more suitable structure by storing the containers internally as a SortedDict. By handling containers more consistently, this commit resolves issue #89.

13 years agoRemoved apparently-vestigial Entity.attribute property.
Stephen Burrows [Mon, 21 Feb 2011 22:22:24 +0000 (17:22 -0500)]
Removed apparently-vestigial Entity.attribute property.

13 years agoMerge branch 'master' of git://github.com/melinath/philo
Joseph Spiros [Mon, 21 Feb 2011 19:17:56 +0000 (14:17 -0500)]
Merge branch 'master' of git://github.com/melinath/philo

* 'master' of git://github.com/melinath/philo:
  Corrected JSONValue.__unicode__ to return unicode instead of bytestrings... not sure what it was being modeled on. Tweaked TargetURLModel to use smart_str instead of str to construct the Python < 2.6.5 kwargs to get a more consistent byte string.
  Corrected WaldoAuthenticationForm.clean to handle lack of password/username. Moved password-related forms into a class attribute for customizability. Standardized confirmation email context and allowed for a secure confirmation link.
  Tweaked TargetURLModel.get_reverse_params() to convert kwargs keys to bytestrings to support Python versions prior to 2.6.5
  Minor correction to BlogView.urlpatterns.

13 years agoCorrected JSONValue.__unicode__ to return unicode instead of bytestrings... not sure...
Stephen Burrows [Mon, 21 Feb 2011 18:47:48 +0000 (13:47 -0500)]
Corrected JSONValue.__unicode__ to return unicode instead of bytestrings... not sure what it was being modeled on. Tweaked TargetURLModel to use smart_str instead of str to construct the Python < 2.6.5 kwargs to get a more consistent byte string.

13 years agoCorrected WaldoAuthenticationForm.clean to handle lack of password/username. Moved...
Stephen Burrows [Sun, 20 Feb 2011 19:19:11 +0000 (14:19 -0500)]
Corrected WaldoAuthenticationForm.clean to handle lack of password/username. Moved password-related forms into a class attribute for customizability. Standardized confirmation email context and allowed for a secure confirmation link.

13 years agoTweaked TargetURLModel.get_reverse_params() to convert kwargs keys to bytestrings...
Stephen Burrows [Fri, 18 Feb 2011 19:42:17 +0000 (14:42 -0500)]
Tweaked TargetURLModel.get_reverse_params() to convert kwargs keys to bytestrings to support Python versions prior to 2.6.5

13 years agoMinor correction to BlogView.urlpatterns.
Stephen Burrows [Fri, 18 Feb 2011 18:47:05 +0000 (13:47 -0500)]
Minor correction to BlogView.urlpatterns.

13 years agoMerge branch 'master' of git://github.com/melinath/philo
Joseph Spiros [Fri, 18 Feb 2011 15:40:14 +0000 (10:40 -0500)]
Merge branch 'master' of git://github.com/melinath/philo

* 'master' of git://github.com/melinath/philo:
  Switched feed_patterns to return urlpatterns suitable for addition to urlpatterns instead of inclusion in urlpatterns. Adjusted penfield urlpatterns accordingly. Added default behavior for FeedView.get_feed in cases where a known feed_type is not supplied for whatever reason. Added RegistrationMultiView.registration_form attribute.
  Switched user authentication in waldo from the login view to an AuthenticationForm for clearer organization of code. Split LoginMultiView into three layered views: LoginMultiView, PasswordMultiView, and RegistrationMultiView, where each layer adds additional (optional) functionality. This structure then naturally includes AccountMultiView as well. Improved redirection for login_required and account_required views.
  Corrected penfield BlogView handling of tags, particularly related to feed links. Added an optional slash at the beginning of the feed urlpattern in FeedView.feed_patterns to handle cases where this is included from something with no trailing slash.
  Corrected Waldo AccountMultiView typo and improved View error reporting / TargetURL error catching.
  Minor tweak to has_navigation filter to silence all errors and return False.
  Corrected penfield migration which introduces the feed_type column. Switched NavigationManager.update_targets_for() method to search for node pks instead of doing a JOIN - should be more efficient. Added check for node id before updating the target_node; this was causing an unwanted KeyError in cases where the NavigationItem had no target node.

13 years agoSwitched feed_patterns to return urlpatterns suitable for addition to urlpatterns...
Stephen Burrows [Thu, 17 Feb 2011 21:57:54 +0000 (16:57 -0500)]
Switched feed_patterns to return urlpatterns suitable for addition to urlpatterns instead of inclusion in urlpatterns. Adjusted penfield urlpatterns accordingly. Added default behavior for FeedView.get_feed in cases where a known feed_type is not supplied for whatever reason. Added RegistrationMultiView.registration_form attribute.

13 years agoMerge branch 'master' into gilbert
Joseph Spiros [Wed, 16 Feb 2011 20:15:46 +0000 (15:15 -0500)]
Merge branch 'master' into gilbert

* master: (135 commits)
  Added db_index to Contentlet/ContentReference names, AttributeValue fields, and Navigation keys. Added related_lookup_fields to shipherd admins and corrected its use on NodeAdmin/RedirectAdmin. Corrected TargetURLModel.get_target_url call of get_reverse_params. Corrected typo in BlogView feed creation.
  Minor fixes and additions to better_feeds following testing.
  Added indices to all Attribute fields to improve lookup speed. Added related_lookup_fields to NodeAdmin for grappelli forward-compatibility.
  Moved FeedMultiViewMixin to models.py and renamed to FeedView. Improved feed type support and clarified the API (based heavily on django.contrib.syndication.views.Feed). Adjusted NewsletterView and BlogView to use the new API.
  Tweaked LazyNode to handle trailing slashes. Corrected missing import in models/nodes.py.
  Corrected shipherd handling of the navigation_items related_name following commit 6ac457d4ac226a474e988dfb898682ae04a86eb0.
  Removed trailing_pathsep support from TreeManager.get_with_path. Set nodes to have URLs without a trailing slash, and set node_view to redirect node urls with a trailing slash to the same url, but without the slash. Resolves issue 75 completely.
  Added an abstract TargetURLModel to handle issues related to targeting a node, a node's subpaths, a url, or a reversable view. Addresses issue 79 and issue 76.
  Minor correction to LazyNode's use of subpath to avoid NameErrors.
  Minor cleanup to penfield.utils after get_absolute_url refactor.
  Refactored Node.get_absolute_url and related functions (such as MultiView.reverse) to use a new Node.construct_url function, which handles constructing any type of url involving a node or raises an appropriate error if this is not possible. Moved MultiView.reverse to View and merged View.get_subpath into it. Added APPEND_SLASH support to node_view, including support for resolving non-philo targets (resolves issue 75). Made urlpatterns for penfield and waldo MultiViews unambiguous. Altered LazyNode to always return a subpath of at least "/". Added handles_subpath methods to View and MultiView.
  Registered Tag as a value model.
  Corrected EntityAdminMetaclass handling of inherited vs. declared readonly_fields.
  Clarified error messages and docstrings in models/nodes.py. Removed an extraneous argument to MultiView.urlpatterns.
  Added navigation key to shipherd's has_navigation filter.
  Merged cowell back into core.
  Added support for DateTime information being stored in a JSONAttribute. Switched ForeignKeyAttribute and M2MAttribute to store the related model in self.to instead of overwriting self.model.
  Initial raw_id_fields support for proxy fields. Involves hacks to bypass model validation for things like raw_id_fields, where validation depends on model._meta.get_field(). Renamed EntityForm to ProxyFieldForm to more accurately reflect its purpose. Removed extraneous code from ProxyFieldForm that didn't belong there.
  Ungenericized get_item_queryset and added tag/issue queryset fetching methods to BlogView and NewsletterView, respectively. Re-added the tag_archive_view and issue_archive_view methods and set them up to use these methods.
  Added get_item_queryset method to BlogView and NewsletterView so that subclasses can replace this functionality. Moved get_context hook onto the MultiView base class and added a basic_view method which provides a simple way to add a view method to a multiview's urlpatterns for a related View subclass instance.
  ...

Conflicts:
README

13 years agoMerge branch 'gilbert' of git://github.com/lapilofu/philo into gilbert
Joseph Spiros [Wed, 16 Feb 2011 20:03:28 +0000 (15:03 -0500)]
Merge branch 'gilbert' of git://github.com/lapilofu/philo into gilbert

* 'gilbert' of git://github.com/lapilofu/philo:
  Fixed a faulty image reference on menu buttons FOR REAL.

13 years agoFixed a faulty image reference on menu buttons FOR REAL.
Harris Lapiroff [Wed, 16 Feb 2011 19:46:03 +0000 (14:46 -0500)]
Fixed a faulty image reference on menu buttons FOR REAL.

13 years agoSwitched user authentication in waldo from the login view to an AuthenticationForm...
Stephen Burrows [Wed, 16 Feb 2011 19:44:14 +0000 (14:44 -0500)]
Switched user authentication in waldo from the login view to an AuthenticationForm for clearer organization of code. Split LoginMultiView into three layered views: LoginMultiView, PasswordMultiView, and RegistrationMultiView, where each layer adds additional (optional) functionality. This structure then naturally includes AccountMultiView as well. Improved redirection for login_required and account_required views.

13 years agoCorrected penfield BlogView handling of tags, particularly related to feed links...
Stephen Burrows [Tue, 15 Feb 2011 23:37:31 +0000 (18:37 -0500)]
Corrected penfield BlogView handling of tags, particularly related to feed links. Added an optional slash at the beginning of the feed urlpattern in FeedView.feed_patterns to handle cases where this is included from something with no trailing slash.

13 years agoCorrected Waldo AccountMultiView typo and improved View error reporting / TargetURL...
Stephen Burrows [Mon, 14 Feb 2011 19:13:05 +0000 (14:13 -0500)]
Corrected Waldo AccountMultiView typo and improved View error reporting / TargetURL error catching.

13 years agoMinor tweak to has_navigation filter to silence all errors and return False.
Stephen Burrows [Wed, 9 Feb 2011 21:59:20 +0000 (16:59 -0500)]
Minor tweak to has_navigation filter to silence all errors and return False.

13 years agoCorrected penfield migration which introduces the feed_type column. Switched Navigati...
Stephen Burrows [Wed, 9 Feb 2011 21:34:58 +0000 (16:34 -0500)]
Corrected penfield migration which introduces the feed_type column. Switched NavigationManager.update_targets_for() method to search for node pks instead of doing a JOIN - should be more efficient. Added check for node id before updating the target_node; this was causing an unwanted KeyError in cases where the NavigationItem had no target node.

13 years agoMerge branch 'master' of git://github.com/melinath/philo
Joseph Spiros [Wed, 9 Feb 2011 15:35:36 +0000 (10:35 -0500)]
Merge branch 'master' of git://github.com/melinath/philo

* 'master' of git://github.com/melinath/philo:
  Added db_index to Contentlet/ContentReference names, AttributeValue fields, and Navigation keys. Added related_lookup_fields to shipherd admins and corrected its use on NodeAdmin/RedirectAdmin. Corrected TargetURLModel.get_target_url call of get_reverse_params. Corrected typo in BlogView feed creation.
  Minor fixes and additions to better_feeds following testing.
  Moved FeedMultiViewMixin to models.py and renamed to FeedView. Improved feed type support and clarified the API (based heavily on django.contrib.syndication.views.Feed). Adjusted NewsletterView and BlogView to use the new API.

13 years agoAdded db_index to Contentlet/ContentReference names, AttributeValue fields, and Navig...
Stephen Burrows [Wed, 9 Feb 2011 15:16:49 +0000 (10:16 -0500)]
Added db_index to Contentlet/ContentReference names, AttributeValue fields, and Navigation keys. Added related_lookup_fields to shipherd admins and corrected its use on NodeAdmin/RedirectAdmin. Corrected TargetURLModel.get_target_url call of get_reverse_params. Corrected typo in BlogView feed creation.

13 years agoMerge branch 'better_feeds'
Stephen Burrows [Tue, 8 Feb 2011 22:10:47 +0000 (17:10 -0500)]
Merge branch 'better_feeds'

13 years agoMinor fixes and additions to better_feeds following testing.
Stephen Burrows [Tue, 8 Feb 2011 22:05:29 +0000 (17:05 -0500)]
Minor fixes and additions to better_feeds following testing.

13 years agoMerge branch 'master' of git://github.com/melinath/philo
Joseph Spiros [Tue, 8 Feb 2011 00:47:56 +0000 (19:47 -0500)]
Merge branch 'master' of git://github.com/melinath/philo

* 'master' of git://github.com/melinath/philo:
  Added indices to all Attribute fields to improve lookup speed. Added related_lookup_fields to NodeAdmin for grappelli forward-compatibility.
  Tweaked LazyNode to handle trailing slashes. Corrected missing import in models/nodes.py.
  Corrected shipherd handling of the navigation_items related_name following commit 6ac457d4ac226a474e988dfb898682ae04a86eb0.
  Removed trailing_pathsep support from TreeManager.get_with_path. Set nodes to have URLs without a trailing slash, and set node_view to redirect node urls with a trailing slash to the same url, but without the slash. Resolves issue 75 completely.
  Added an abstract TargetURLModel to handle issues related to targeting a node, a node's subpaths, a url, or a reversable view. Addresses issue 79 and issue 76.
  Minor correction to LazyNode's use of subpath to avoid NameErrors.
  Minor cleanup to penfield.utils after get_absolute_url refactor.
  Refactored Node.get_absolute_url and related functions (such as MultiView.reverse) to use a new Node.construct_url function, which handles constructing any type of url involving a node or raises an appropriate error if this is not possible. Moved MultiView.reverse to View and merged View.get_subpath into it. Added APPEND_SLASH support to node_view, including support for resolving non-philo targets (resolves issue 75). Made urlpatterns for penfield and waldo MultiViews unambiguous. Altered LazyNode to always return a subpath of at least "/". Added handles_subpath methods to View and MultiView.
  Registered Tag as a value model.
  Corrected EntityAdminMetaclass handling of inherited vs. declared readonly_fields.
  Clarified error messages and docstrings in models/nodes.py. Removed an extraneous argument to MultiView.urlpatterns.
  Added navigation key to shipherd's has_navigation filter.

13 years agoAdded indices to all Attribute fields to improve lookup speed. Added related_lookup_f...
Stephen Burrows [Mon, 7 Feb 2011 20:37:42 +0000 (15:37 -0500)]
Added indices to all Attribute fields to improve lookup speed. Added related_lookup_fields to NodeAdmin for grappelli forward-compatibility.

13 years agoMoved FeedMultiViewMixin to models.py and renamed to FeedView. Improved feed type...
Stephen Burrows [Mon, 7 Feb 2011 18:10:52 +0000 (13:10 -0500)]
Moved FeedMultiViewMixin to models.py and renamed to FeedView. Improved feed type support and clarified the API (based heavily on django.contrib.syndication.views.Feed). Adjusted NewsletterView and BlogView to use the new API.

13 years agoTweaked LazyNode to handle trailing slashes. Corrected missing import in models/nodes.py.
Stephen Burrows [Fri, 4 Feb 2011 02:18:08 +0000 (21:18 -0500)]
Tweaked LazyNode to handle trailing slashes. Corrected missing import in models/nodes.py.

13 years agoCorrected shipherd handling of the navigation_items related_name following commit...
Stephen Burrows [Fri, 4 Feb 2011 00:07:52 +0000 (19:07 -0500)]
Corrected shipherd handling of the navigation_items related_name following commit 6ac457d4ac226a474e988dfb898682ae04a86eb0.

13 years agoRemoved trailing_pathsep support from TreeManager.get_with_path. Set nodes to have...
Stephen Burrows [Thu, 3 Feb 2011 21:41:01 +0000 (16:41 -0500)]
Removed trailing_pathsep support from TreeManager.get_with_path. Set nodes to have URLs without a trailing slash, and set node_view to redirect node urls with a trailing slash to the same url, but without the slash. Resolves issue 75 completely.

13 years agoAdded an abstract TargetURLModel to handle issues related to targeting a node, a...
Stephen Burrows [Thu, 3 Feb 2011 16:41:46 +0000 (11:41 -0500)]
Added an abstract TargetURLModel to handle issues related to targeting a node, a node's subpaths, a url, or a reversable view. Addresses issue 79 and issue 76.

13 years agoMinor correction to LazyNode's use of subpath to avoid NameErrors.
Stephen Burrows [Thu, 3 Feb 2011 03:17:25 +0000 (22:17 -0500)]
Minor correction to LazyNode's use of subpath to avoid NameErrors.

13 years agoMinor cleanup to penfield.utils after get_absolute_url refactor.
Stephen Burrows [Wed, 2 Feb 2011 17:05:11 +0000 (12:05 -0500)]
Minor cleanup to penfield.utils after get_absolute_url refactor.

13 years agoRefactored Node.get_absolute_url and related functions (such as MultiView.reverse...
Stephen Burrows [Wed, 2 Feb 2011 16:48:40 +0000 (11:48 -0500)]
Refactored Node.get_absolute_url and related functions (such as MultiView.reverse) to use a new Node.construct_url function, which handles constructing any type of url involving a node or raises an appropriate error if this is not possible. Moved MultiView.reverse to View and merged View.get_subpath into it. Added APPEND_SLASH support to node_view, including support for resolving non-philo targets (resolves issue 75). Made urlpatterns for penfield and waldo MultiViews unambiguous. Altered LazyNode to always return a subpath of at least "/". Added handles_subpath methods to View and MultiView.

13 years agoRegistered Tag as a value model.
Stephen Burrows [Tue, 1 Feb 2011 17:04:11 +0000 (12:04 -0500)]
Registered Tag as a value model.

13 years agoCorrected EntityAdminMetaclass handling of inherited vs. declared readonly_fields.
Stephen Burrows [Mon, 31 Jan 2011 21:25:16 +0000 (16:25 -0500)]
Corrected EntityAdminMetaclass handling of inherited vs. declared readonly_fields.

13 years agoClarified error messages and docstrings in models/nodes.py. Removed an extraneous...
Stephen Burrows [Mon, 31 Jan 2011 18:01:03 +0000 (13:01 -0500)]
Clarified error messages and docstrings in models/nodes.py. Removed an extraneous argument to MultiView.urlpatterns.

13 years agoMerge branch 'master' of http://github.com/ithinksw/philo
Stephen Burrows [Fri, 28 Jan 2011 16:01:36 +0000 (11:01 -0500)]
Merge branch 'master' of github.com/ithinksw/philo

13 years agoAdded navigation key to shipherd's has_navigation filter.
Stephen Burrows [Fri, 28 Jan 2011 14:18:32 +0000 (09:18 -0500)]
Added navigation key to shipherd's has_navigation filter.

13 years agoMerge branch 'master' of git://github.com/melinath/philo
Joseph Spiros [Fri, 28 Jan 2011 12:45:12 +0000 (07:45 -0500)]
Merge branch 'master' of git://github.com/melinath/philo

* 'master' of git://github.com/melinath/philo: (31 commits)
  Merged cowell back into core.
  Added support for DateTime information being stored in a JSONAttribute. Switched ForeignKeyAttribute and M2MAttribute to store the related model in self.to instead of overwriting self.model.
  Initial raw_id_fields support for proxy fields. Involves hacks to bypass model validation for things like raw_id_fields, where validation depends on model._meta.get_field(). Renamed EntityForm to ProxyFieldForm to more accurately reflect its purpose. Removed extraneous code from ProxyFieldForm that didn't belong there.
  Ungenericized get_item_queryset and added tag/issue queryset fetching methods to BlogView and NewsletterView, respectively. Re-added the tag_archive_view and issue_archive_view methods and set them up to use these methods.
  Added get_item_queryset method to BlogView and NewsletterView so that subclasses can replace this functionality. Moved get_context hook onto the MultiView base class and added a basic_view method which provides a simple way to add a view method to a multiview's urlpatterns for a related View subclass instance.
  Added missing import to forms/fields.py
  Small tweaks to TreeModel.get_path to take advantage of updates to django-mptt. Updated README accordingly.
  Moved container forms and attribute forms into admin. Moved AttributeFields and EntityForm into contrib/cowell/; this more accurately reflects their status as convenient in certain circumstances. Simplified imports according to these changes. Made further tweaks to ManyToManyValue's methods.
  Split forms into containers, entities, and fields. Split attribute fields out from other model fields. Revamped the interaction between AttributeForm and the AttributeValue subclasses to more clearly define their roles. Moved all code related to AttributeFields into models.fields.attributes. Genericized AttributeFieldDescriptor and removed the other descriptor options.
  Minor correction to NavigationManager caching.
  Reduced number of queries for BlogView.get_entries_by_tag. Corrected waldo's AccountMultiView.has_valid_account() method, which had holdovers from the user_form/profile_form distinction.
  Improved blog and newsletter ModelAdmins. Set BlogEntries and NewsletterArticlesup to set their dates on save if it wasn't set manually - gives more accurate publishing times than a datetime.now() default. Set feed creation to use templates for title and description so that projects can customize the display for markdown etc. Limited Attribute.key to word characters to ensure template usability. Ordered Tags by name.
  Added a Navigation model to mediate between Nodes and multiple sets of navigation. Updated templatetags accordingly. Addresses issue 70.
  Added fix_init_kwarg method to JSONField and connected it to the pre_init signal during contribute_to_class - this effectively mimics what django does for RelatedObject fields in Model.__init__ by allowing a python value to be passed in to the constructor (e.g. JSONValue(value={}) instead of JSONValue(value_json='{}')). This resolves issue 68.
  Split shipherd NodeNavigationInline into inlines for hosted/targeting inlines. Added NodeAdmin reregistration to bring the new inlines into play. Added navigation_host filter.
  Minor correction to Navigation.is_active()
  updated grappelli_tabular_attribute.html to match changes in grappelli 2.3
  Shifted NavigationManager caching to use node instances rather than node pks. Improved (i.e. added) a distinction between having a cache for a node and having a Navigation instance somewhere in the cache. Refactored Navigation.is_active for better clarity. Added cache clearing for previously-uncached, directly-hosted navigation. Adjusted recursenavigation to accept either a node or a queryset/iterable. Added targeting_navigation filter.
  Added shortcut is_cached method to Navigation instances and Navigation.objects; updated other methods to use these shortcuts. Added cache clearing for new and changed Navigation instances that have not been cached but are within the range of a hosted navigation instance.
  Corrected shipherd Navigation cache clearing and made grappelli attribute inline template compatible with grappelli r1399. Tweaked recursenavigation template tag behavior to set {{ navigation }} in the context instead of node and corrected its documentation. Added has_navigation filter.
  ...

13 years agoMerge branch 'entity_raw_id_fields'
Stephen Burrows [Thu, 27 Jan 2011 21:28:09 +0000 (16:28 -0500)]
Merge branch 'entity_raw_id_fields'

13 years agoMerged cowell back into core.
Stephen Burrows [Thu, 27 Jan 2011 21:27:48 +0000 (16:27 -0500)]
Merged cowell back into core.

13 years agoMerge branch 'gilbert' of git://github.com/lapilofu/philo into gilbert
Joseph Spiros [Thu, 27 Jan 2011 15:56:02 +0000 (10:56 -0500)]
Merge branch 'gilbert' of git://github.com/lapilofu/philo into gilbert

* 'gilbert' of git://github.com/lapilofu/philo:
  Integrated Murano into Gilbert.

13 years agoIntegrated Murano into Gilbert.
Harris Lapiroff [Thu, 27 Jan 2011 15:47:49 +0000 (10:47 -0500)]
Integrated Murano into Gilbert.

13 years agoAdded support for DateTime information being stored in a JSONAttribute. Switched...
Stephen Burrows [Tue, 25 Jan 2011 16:15:06 +0000 (11:15 -0500)]
Added support for DateTime information being stored in a JSONAttribute. Switched ForeignKeyAttribute and M2MAttribute to store the related model in self.to instead of overwriting self.model.

13 years agoInitial raw_id_fields support for proxy fields. Involves hacks to bypass model valida...
Stephen Burrows [Mon, 24 Jan 2011 18:37:48 +0000 (13:37 -0500)]
Initial raw_id_fields support for proxy fields. Involves hacks to bypass model validation for things like raw_id_fields, where validation depends on model._meta.get_field(). Renamed EntityForm to ProxyFieldForm to more accurately reflect its purpose. Removed extraneous code from ProxyFieldForm that didn't belong there.

13 years agoUngenericized get_item_queryset and added tag/issue queryset fetching methods to...
Stephen Burrows [Tue, 25 Jan 2011 21:33:00 +0000 (16:33 -0500)]
Ungenericized get_item_queryset and added tag/issue queryset fetching methods to BlogView and NewsletterView, respectively. Re-added the tag_archive_view and issue_archive_view methods and set them up to use these methods.

13 years agoAdded get_item_queryset method to BlogView and NewsletterView so that subclasses...
Stephen Burrows [Tue, 25 Jan 2011 20:40:12 +0000 (15:40 -0500)]
Added get_item_queryset method to BlogView and NewsletterView so that subclasses can replace this functionality. Moved get_context hook onto the MultiView base class and added a basic_view method which provides a simple way to add a view method to a multiview's urlpatterns for a related View subclass instance.

13 years agoAdded missing import to forms/fields.py
Stephen Burrows [Sun, 23 Jan 2011 21:15:04 +0000 (16:15 -0500)]
Added missing import to forms/fields.py

13 years agoSmall tweaks to TreeModel.get_path to take advantage of updates to django-mptt. Updat...
Stephen Burrows [Tue, 4 Jan 2011 18:16:57 +0000 (13:16 -0500)]
Small tweaks to TreeModel.get_path to take advantage of updates to django-mptt. Updated README accordingly.

13 years agoMerge branch 'entity_raw_id_fields'
Stephen Burrows [Fri, 21 Jan 2011 22:15:54 +0000 (17:15 -0500)]
Merge branch 'entity_raw_id_fields'

13 years agoMoved container forms and attribute forms into admin. Moved AttributeFields and Entit...
Stephen Burrows [Fri, 21 Jan 2011 22:09:26 +0000 (17:09 -0500)]
Moved container forms and attribute forms into admin. Moved AttributeFields and EntityForm into contrib/cowell/; this more accurately reflects their status as convenient in certain circumstances. Simplified imports according to these changes. Made further tweaks to ManyToManyValue's methods.

13 years agoSplit forms into containers, entities, and fields. Split attribute fields out from...
Stephen Burrows [Fri, 21 Jan 2011 18:09:58 +0000 (13:09 -0500)]
Split forms into containers, entities, and fields. Split attribute fields out from other model fields. Revamped the interaction between AttributeForm and the AttributeValue subclasses to more clearly define their roles. Moved all code related to AttributeFields into models.fields.attributes. Genericized AttributeFieldDescriptor and removed the other descriptor options.

13 years agoMinor correction to NavigationManager caching.
Stephen Burrows [Fri, 21 Jan 2011 05:49:47 +0000 (00:49 -0500)]
Minor correction to NavigationManager caching.

13 years agoReduced number of queries for BlogView.get_entries_by_tag. Corrected waldo's AccountM...
Stephen Burrows [Thu, 20 Jan 2011 14:37:31 +0000 (09:37 -0500)]
Reduced number of queries for BlogView.get_entries_by_tag. Corrected waldo's AccountMultiView.has_valid_account() method, which had holdovers from the user_form/profile_form distinction.

13 years agoImproved blog and newsletter ModelAdmins. Set BlogEntries and NewsletterArticlesup...
Stephen Burrows [Wed, 19 Jan 2011 18:36:21 +0000 (13:36 -0500)]
Improved blog and newsletter ModelAdmins. Set BlogEntries and NewsletterArticlesup to set their dates on save if it wasn't set manually - gives more accurate publishing times than a datetime.now() default. Set feed creation to use templates for title and description so that projects can customize the display for markdown etc. Limited Attribute.key to word characters to ensure template usability. Ordered Tags by name.

13 years agoAdded a Navigation model to mediate between Nodes and multiple sets of navigation...
Stephen Burrows [Tue, 18 Jan 2011 22:35:05 +0000 (17:35 -0500)]
Added a Navigation model to mediate between Nodes and multiple sets of navigation. Updated templatetags accordingly. Addresses issue 70.

13 years agoAdded fix_init_kwarg method to JSONField and connected it to the pre_init signal...
Stephen Burrows [Fri, 14 Jan 2011 19:58:53 +0000 (14:58 -0500)]
Added fix_init_kwarg method to JSONField and connected it to the pre_init signal during contribute_to_class - this effectively mimics what django does for RelatedObject fields in Model.__init__ by allowing a python value to be passed in to the constructor (e.g. JSONValue(value={}) instead of JSONValue(value_json='{}')). This resolves issue 68.

13 years agoSplit shipherd NodeNavigationInline into inlines for hosted/targeting inlines. Added...
Stephen Burrows [Fri, 14 Jan 2011 17:02:03 +0000 (12:02 -0500)]
Split shipherd NodeNavigationInline into inlines for hosted/targeting inlines. Added NodeAdmin reregistration to bring the new inlines into play. Added navigation_host filter.

13 years agoMinor correction to Navigation.is_active()
Stephen Burrows [Fri, 14 Jan 2011 15:08:12 +0000 (10:08 -0500)]
Minor correction to Navigation.is_active()

13 years agoupdated grappelli_tabular_attribute.html to match changes in grappelli 2.3
Stephen Burrows [Fri, 14 Jan 2011 04:24:15 +0000 (23:24 -0500)]
updated grappelli_tabular_attribute.html to match changes in grappelli 2.3

13 years agoShifted NavigationManager caching to use node instances rather than node pks. Improve...
Stephen Burrows [Wed, 12 Jan 2011 18:15:39 +0000 (13:15 -0500)]
Shifted NavigationManager caching to use node instances rather than node pks. Improved (i.e. added) a distinction between having a cache for a node and having a Navigation instance somewhere in the cache. Refactored Navigation.is_active for better clarity. Added cache clearing for previously-uncached, directly-hosted navigation. Adjusted recursenavigation to accept either a node or a queryset/iterable. Added targeting_navigation filter.

13 years agoAdded shortcut is_cached method to Navigation instances and Navigation.objects; updat...
Stephen Burrows [Tue, 11 Jan 2011 20:26:39 +0000 (15:26 -0500)]
Added shortcut is_cached method to Navigation instances and Navigation.objects; updated other methods to use these shortcuts. Added cache clearing for new and changed Navigation instances that have not been cached but are within the range of a hosted navigation instance.

13 years agoCorrected shipherd Navigation cache clearing and made grappelli attribute inline...
Stephen Burrows [Tue, 11 Jan 2011 14:13:54 +0000 (09:13 -0500)]
Corrected shipherd Navigation cache clearing and made grappelli attribute inline template compatible with grappelli r1399. Tweaked recursenavigation template tag behavior to set {{ navigation }} in the context instead of node and corrected its documentation. Added has_navigation filter.

13 years agoMerge branch 'navigation'
Stephen Burrows [Mon, 10 Jan 2011 16:08:45 +0000 (11:08 -0500)]
Merge branch 'navigation'

13 years agoRenamed navigation to shipherd.
Stephen Burrows [Mon, 10 Jan 2011 16:03:40 +0000 (11:03 -0500)]
Renamed navigation to shipherd.

13 years agoImproved NewsletterArticleAdmin. Corrected embed templatetag errors related to Consta...
Stephen Burrows [Mon, 10 Jan 2011 15:24:15 +0000 (10:24 -0500)]
Improved NewsletterArticleAdmin. Corrected embed templatetag errors related to ConstantEmbedNode.object_pk and the parse_content_type helper function (formerly get_content_type).

13 years agoModified the feed behavior for blogs and newsletters to always use the full content...
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.

13 years agoMerge branch 'master' of git://github.com/melinath/philo
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.

13 years agoAdded markdown-formatted README, and added a note to the readme re: the IRC channel...
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.

13 years agoAdded a custom QuerySet subclass to handle cache clearing for Navigation mass updates...
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.

13 years agoAdded is_active method to Navigation class. Replaced the get_navigation and is_active...
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.

13 years agoSwitched nav caching to cache the entire set of nodes for the navigation, not just...
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.

13 years agoMerge branch 'master' into navigation
Stephen Burrows [Thu, 23 Dec 2010 17:08:34 +0000 (12:08 -0500)]
Merge branch 'master' into navigation

13 years agoImproved NodeAdmin list_display options. Added use of default validators to JSONField...
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.

13 years agoMoved NavigationManager cache handling into custom methods for better readability...
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.

13 years agoTweaked admin and models. Added filters to manage navigation display.
Stephen Burrows [Thu, 23 Dec 2010 15:19:08 +0000 (10:19 -0500)]
Tweaked admin and models. Added filters to manage navigation display.

13 years agoMoved all navigation-related code to contrib/navigation. Refactored navigation to...
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.

13 years agoMerge branch 'master' into navigation
Stephen Burrows [Tue, 21 Dec 2010 15:12:03 +0000 (10:12 -0500)]
Merge branch 'master' into navigation