Author: jtauber
Date: Tue Oct  7 07:46:23 2008
New Revision: 1028

Modified:
    trunk/apps/core_apps/tag_app/views.py
    trunk/apps/local_apps/tribes/admin.py
    trunk/apps/local_apps/tribes/models.py
    trunk/apps/local_apps/tribes/thing.py
    trunk/apps/local_apps/tribes/urls.py
    trunk/apps/local_apps/tribes/views.py
    trunk/projects/complete_project/sql_changelog.txt

Log:
tribes now have a deleted flag which is honoured by most views --  
template/view changes to actually mark a tribe as deleted have not yet been  
done

Modified: trunk/apps/core_apps/tag_app/views.py
==============================================================================
--- trunk/apps/core_apps/tag_app/views.py       (original)
+++ trunk/apps/core_apps/tag_app/views.py       Tue Oct  7 07:46:23 2008
@@ -25,8 +25,8 @@
      project_topic_tags = TaggedItem.objects.get_by_model(ProjectTopic,  
tag).filter(project__deleted=False)
      project_task_tags = TaggedItem.objects.get_by_model(Task,  
tag).filter(project__deleted=False)

-    tribe_tags = TaggedItem.objects.get_by_model(Tribe, tag)
-    tribe_topic_tags = TaggedItem.objects.get_by_model(TribeTopic, tag)
+    tribe_tags = TaggedItem.objects.get_by_model(Tribe,  
tag).filter(deleted=False)
+    tribe_topic_tags = TaggedItem.objects.get_by_model(TribeTopic,  
tag).filter(tribe__deleted=False)

      # @@@ TODO: tribe_wiki_article_tags and project_wiki_article_tags
      wiki_article_tags = TaggedItem.objects.get_by_model(WikiArticle, tag)

Modified: trunk/apps/local_apps/tribes/admin.py
==============================================================================
--- trunk/apps/local_apps/tribes/admin.py       (original)
+++ trunk/apps/local_apps/tribes/admin.py       Tue Oct  7 07:46:23 2008
@@ -2,7 +2,7 @@
  from tribes.models import Tribe, Topic

  class TribeAdmin(admin.ModelAdmin):
-    list_display = ('name', 'slug', 'creator', 'created',)
+    list_display = ('name', 'slug', 'creator', 'created', 'deleted')

  class TopicAdmin(admin.ModelAdmin):
      list_display = ('title', )

Modified: trunk/apps/local_apps/tribes/models.py
==============================================================================
--- trunk/apps/local_apps/tribes/models.py      (original)
+++ trunk/apps/local_apps/tribes/models.py      Tue Oct  7 07:46:23 2008
@@ -30,6 +30,8 @@
      description = models.TextField(_('description'))
      members = models.ManyToManyField(User, verbose_name=_('members'))

+    deleted = models.BooleanField(_('deleted'), default=False)
+
      tags = TagField()

      photos = generic.GenericRelation(Pool)

Modified: trunk/apps/local_apps/tribes/thing.py
==============================================================================
--- trunk/apps/local_apps/tribes/thing.py       (original)
+++ trunk/apps/local_apps/tribes/thing.py       Tue Oct  7 07:46:23 2008
@@ -1,7 +1,7 @@
  import things
  from django.db import connection

-class TribeThing(things.ModelThing):
+class TribeThing(things.Thing):
      created = things.OrderField(
          verbose_name_asc='Age',
          verbose_name_desc='Age',

Modified: trunk/apps/local_apps/tribes/urls.py
==============================================================================
--- trunk/apps/local_apps/tribes/urls.py        (original)
+++ trunk/apps/local_apps/tribes/urls.py        Tue Oct  7 07:46:23 2008
@@ -4,23 +4,26 @@
  from wiki import models as wiki_models

  from tribes.thing import TribeThing
-tt = TribeThing(Tribe)
+# @@@ should qs really be here?
+tt = TribeThing(Tribe.objects.filter(deleted=False))

  wiki_args = {'group_slug_field': 'slug',
-             'group_qs': Tribe.objects.all()}
+             'group_qs': Tribe.objects.filter(deleted=False)}


-urlpatterns = tt.urls(url_prefix='', name_prefix='tribe_thing') +  
patterns('',
-    url(r'^create/$', 'tribes.views.create', name="tribe_create"),
-    url(r'^your_tribes/$', 'tribes.views.your_tribes', name="your_tribes"),
-    url(r'^tribe/(\w+)/$', 'tribes.views.tribe', name="tribe_detail"),
-
-    # topics
-    url(r'^tribe/(\w+)/topics/$', 'tribes.views.topics',  
name="tribe_topics"),
-    url(r'^topic/(\d+)/edit/$', 'tribes.views.topic', kwargs={"edit":  
True}, name="tribe_topic_edit"),
-    url(r'^topic/(\d+)/delete/$', 'tribes.views.topic_delete',  
name="tribe_topic_delete"),
-    url(r'^topic/(\d+)/$', 'tribes.views.topic', name="tribe_topic"),
-
-    # wiki
-    url(r'^tribe/(?P<group_slug>\w+)/wiki/', include('wiki.urls'),  
kwargs=wiki_args),
-)
\ No newline at end of file
+urlpatterns = \
+    tt.urls(url_prefix='', name_prefix='tribe_thing') + \
+    patterns('',
+        url(r'^create/$', 'tribes.views.create', name="tribe_create"),
+        url(r'^your_tribes/$', 'tribes.views.your_tribes',  
name="your_tribes"),
+        url(r'^tribe/(\w+)/$', 'tribes.views.tribe', name="tribe_detail"),
+
+        # topics
+        url(r'^tribe/(\w+)/topics/$', 'tribes.views.topics',  
name="tribe_topics"),
+        url(r'^topic/(\d+)/edit/$', 'tribes.views.topic', kwargs={"edit":  
True}, name="tribe_topic_edit"),
+        url(r'^topic/(\d+)/delete/$', 'tribes.views.topic_delete',  
name="tribe_topic_delete"),
+        url(r'^topic/(\d+)/$', 'tribes.views.topic', name="tribe_topic"),
+
+        # wiki
+        url(r'^tribe/(?P<group_slug>\w+)/wiki/', include('wiki.urls'),  
kwargs=wiki_args),
+    )
\ No newline at end of file

Modified: trunk/apps/local_apps/tribes/views.py
==============================================================================
--- trunk/apps/local_apps/tribes/views.py       (original)
+++ trunk/apps/local_apps/tribes/views.py       Tue Oct  7 07:46:23 2008
@@ -1,7 +1,7 @@
  from django.http import HttpResponseRedirect
  from django.shortcuts import render_to_response, get_object_or_404
  from django.template import RequestContext
-from django.http import HttpResponseRedirect, HttpResponse,  
HttpResponseForbidden
+from django.http import HttpResponseRedirect, HttpResponse,  
HttpResponseForbidden, Http404

  from django.contrib.auth.decorators import login_required
  from django.contrib.auth.models import User
@@ -65,13 +65,17 @@

  def your_tribes(request, template_name="tribes/your_tribes.html"):
      return render_to_response(template_name, {
-        "tribes":  
Tribe.objects.filter(members=request.user).order_by("name"),
+        "tribes": Tribe.objects.filter(deleted=False,  
members=request.user).order_by("name"),
      }, context_instance=RequestContext(request))
  your_tribes = login_required(your_tribes)

  def tribe(request, slug, form_class=TribeUpdateForm,
          template_name="tribes/tribe.html"):
      tribe = get_object_or_404(Tribe, slug=slug)
+
+    if tribe.deleted:
+        raise Http404
+
      photos = tribe.photos.all()

      if request.user.is_authenticated() and request.method == "POST":
@@ -123,6 +127,9 @@
          template_name="tribes/topics.html"):
      tribe = get_object_or_404(Tribe, slug=slug)

+    if tribe.deleted:
+        raise Http404
+
      are_member = False
      if request.user.is_authenticated():
          are_member = request.user in tribe.members.all()
@@ -147,7 +154,7 @@
              return HttpResponseForbidden()
      else:
          topic_form = form_class()
-
+
      return render_to_response(template_name, {
          "tribe": tribe,
          "topic_form": topic_form,
@@ -156,6 +163,10 @@

  def topic(request, id, edit=False, template_name="tribes/topic.html"):
      topic = get_object_or_404(Topic, id=id)
+
+    if topic.tribe.deleted:
+        raise Http404
+
      if request.method == "POST" and edit == True and \
          (request.user == topic.creator or request.user ==  
topic.tribe.creator):
          topic.body = request.POST["body"]
@@ -168,10 +179,14 @@

  def topic_delete(request, pk):
      topic = Topic.objects.get(pk=pk)
+
+    if topic.tribe.deleted:
+        raise Http404
+
      if request.method == "POST" and (request.user == topic.creator or \
          request.user == topic.tribe.creator):
          if forums:
              ThreadedComment.objects.all_for_object(topic).delete()
          topic.delete()
-
+
      return HttpResponseRedirect(request.POST["next"])

Modified: trunk/projects/complete_project/sql_changelog.txt
==============================================================================
--- trunk/projects/complete_project/sql_changelog.txt   (original)
+++ trunk/projects/complete_project/sql_changelog.txt   Tue Oct  7 07:46:23  
2008
@@ -99,6 +99,7 @@
  ALTER TABLE notification_notice ADD COLUMN on_site BOOLEAN NOT NULL  
DEFAULT 't';


-## add 'deleted' column to project
+## add 'deleted' column to project and tribe

  ALTER TABLE projects_project ADD COLUMN "deleted" bool NOT NULL default  
False;
+ALTER TABLE tribes_tribe ADD COLUMN "deleted" bool NOT NULL default False;

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pinax-updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/pinax-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to