Author: leidel
Date: Sat Oct  4 11:40:38 2008
New Revision: 1011

Modified:
    trunk/apps/local_apps/account/views.py
    trunk/apps/local_apps/blog/models.py
    trunk/apps/local_apps/blog/views.py
    trunk/apps/local_apps/profiles/views.py
    trunk/apps/local_apps/projects/models.py
    trunk/apps/local_apps/projects/views.py
    trunk/apps/local_apps/tribes/views.py

Log:
Added more optional arguments to a lot views (e.g. template_name,  
form_class), converted decorator syntax to be Python 2.3 compatible

Modified: trunk/apps/local_apps/account/views.py
==============================================================================
--- trunk/apps/local_apps/account/views.py      (original)
+++ trunk/apps/local_apps/account/views.py      Sat Oct  4 11:40:38 2008
@@ -11,44 +11,44 @@
  from forms import SignupForm, AddEmailForm, LoginForm, ChangePasswordForm,  
ResetPasswordForm, ChangeTimezoneForm, ChangeLanguageForm, TwitterForm,  
PownceForm
  from emailconfirmation.models import EmailAddress, EmailConfirmation

-
-def login(request):
+def login(request, form_class=LoginForm,  
template_name="account/login.html"):
      redirect_to = request.REQUEST.get("next", reverse("what_next"))
      if request.method == "POST":
-        form = LoginForm(request.POST)
+        form = form_class(request.POST)
          if form.login(request):
              return HttpResponseRedirect(redirect_to)
      else:
-        form = LoginForm()
-    return render_to_response("account/login.html", {
+        form = form_class()
+    return render_to_response(template_name, {
          "form": form,
      }, context_instance=RequestContext(request))

-def signup(request):
+def signup(request, form_class=SignupForm,
+        template_name="account/signup.html",  
success_url=reverse("what_next")):
      if request.method == "POST":
-        form = SignupForm(request.POST)
+        form = form_class(request.POST)
          if form.is_valid():
              username, password = form.save()
              user = authenticate(username=username, password=password)
              auth_login(request, user)
              request.user.message_set.create(message=_("Successfully logged  
in as %(username)s.") % {'username': user.username})
-            return HttpResponseRedirect(reverse("what_next"))
+            return HttpResponseRedirect(success_url)
      else:
-        form = SignupForm()
-    return render_to_response("account/signup.html", {
+        form = form_class()
+    return render_to_response(template_name, {
          "form": form,
      }, context_instance=RequestContext(request))

[EMAIL PROTECTED]
-def email(request):
+def email(request, form_class=AddEmailForm,
+        template_name="account/email.html"):
      if request.method == "POST" and request.user.is_authenticated():
          if request.POST["action"] == "add":
-            add_email_form = AddEmailForm(request.user, request.POST)
+            add_email_form = form_class(request.user, request.POST)
              if add_email_form.is_valid():
                  add_email_form.save()
-                add_email_form = AddEmailForm() # @@@
+                add_email_form = form_class() # @@@
          else:
-            add_email_form = AddEmailForm()
+            add_email_form = form_class()
              if request.POST["action"] == "send":
                  email = request.POST["email"]
                  try:
@@ -70,69 +70,72 @@
                  email_address =  
EmailAddress.objects.get(user=request.user, email=email)
                  email_address.set_as_primary()
      else:
-        add_email_form = AddEmailForm()
-
-    return render_to_response("account/email.html", {
+        add_email_form = form_class()
+    return render_to_response(template_name, {
          "add_email_form": add_email_form,
      }, context_instance=RequestContext(request))
+email = login_required(email)

[EMAIL PROTECTED]
-def password_change(request):
+def password_change(request, form_class=ChangePasswordForm,
+        template_name="account/password_change.html"):
      if request.method == "POST":
-        password_change_form = ChangePasswordForm(request.user,  
request.POST)
+        password_change_form = form_class(request.user, request.POST)
          if password_change_form.is_valid():
              password_change_form.save()
-            password_change_form = ChangePasswordForm(request.user)
+            password_change_form = form_class(request.user)
      else:
-        password_change_form = ChangePasswordForm(request.user)
-    return render_to_response("account/password_change.html", {
+        password_change_form = form_class(request.user)
+    return render_to_response(template_name, {
          "password_change_form": password_change_form,
      }, context_instance=RequestContext(request))
  password_change = login_required(password_change)

-def password_reset(request):
+def password_reset(request, form_class=ResetPasswordForm,
+        template_name="account/password_reset.html",
+        template_name_done="account/password_reset_done.html"):
      if request.method == "POST":
-        password_reset_form = ResetPasswordForm(request.POST)
+        password_reset_form = form_class(request.POST)
          if password_reset_form.is_valid():
              email = password_reset_form.save()
-            return render_to_response("account/password_reset_done.html", {
+            return render_to_response(template_name_done, {
                  "email": email,
              }, context_instance=RequestContext(request))
      else:
-        password_reset_form = ResetPasswordForm()
+        password_reset_form = form_class()

-    return render_to_response("account/password_reset.html", {
+    return render_to_response(template_name, {
          "password_reset_form": password_reset_form,
      }, context_instance=RequestContext(request))

[EMAIL PROTECTED]
-def timezone_change(request):
+def timezone_change(request, form_class=ChangeTimezoneForm,
+        template_name="account/timezone_change.html"):
      if request.method == "POST":
-        form = ChangeTimezoneForm(request.user, request.POST)
+        form = form_class(request.user, request.POST)
          if form.is_valid():
              form.save()
      else:
-        form = ChangeTimezoneForm(request.user)
-    return render_to_response("account/timezone_change.html", {
+        form = form_class(request.user)
+    return render_to_response(template_name, {
          "form": form,
      }, context_instance=RequestContext(request))
+timezone_change = login_required(timezone_change)

[EMAIL PROTECTED]
-def language_change(request):
+def language_change(request, form_class=ChangeLanguageForm,
+        template_name="account/language_change.html"):
      if request.method == "POST":
-        form = ChangeLanguageForm(request.user, request.POST)
+        form = form_class(request.user, request.POST)
          if form.is_valid():
              form.save()
              next = request.META.get('HTTP_REFERER', None)
              return HttpResponseRedirect(next)
      else:
-        form = ChangeLanguageForm(request.user)
-    return render_to_response("account/language_change.html", {
+        form = form_class(request.user)
+    return render_to_response(template_name, {
          "form": form,
      }, context_instance=RequestContext(request))
+language_change = login_required(language_change)

[EMAIL PROTECTED]
-def other_services(request):
+def other_services(request, template_name="account/other_services.html"):
      from zwitschern.utils import twitter_verify_credentials
      from zwitschern.pownce_utils import pownce_verify_credentials
      twitter_form = TwitterForm(request.user)
@@ -171,9 +174,10 @@
          pownce_authorized = pownce_verify_credentials(pownce_account)
          twitter_form = TwitterForm(request.user)
          pownce_form = PownceForm(request.user)
-    return render_to_response("account/other_services.html", {
+    return render_to_response(template_name, {
          "twitter_form": twitter_form,
          "twitter_authorized": twitter_authorized,
          "pownce_form": pownce_form,
          "pownce_authorized":pownce_authorized,
-    }, context_instance=RequestContext(request))
+    }, context_instance=RequestContext(request))
+other_services = login_required(other_services)

Modified: trunk/apps/local_apps/blog/models.py
==============================================================================
--- trunk/apps/local_apps/blog/models.py        (original)
+++ trunk/apps/local_apps/blog/models.py        Sat Oct  4 11:40:38 2008
@@ -4,7 +4,6 @@
  from django.conf import settings
  from django.contrib.auth.models import User
  from django.utils.translation import ugettext_lazy as _
-from django.db.models import permalink

  from tagging.fields import TagField
  from tagging.models import Tag
@@ -57,7 +56,6 @@
      def __unicode__(self):
          return self.title

-    @permalink
      def get_absolute_url(self):
          return ('blog_post', None, {
              'username': self.author.username,
@@ -65,6 +63,7 @@
              'month': "%02d" % self.publish.month,
              'slug': self.slug
      })
+    get_absolute_url = models.permalink(get_absolute_url)

      def save(self, force_insert=False, force_update=False):
          self.updated_at = datetime.now()

Modified: trunk/apps/local_apps/blog/views.py
==============================================================================
--- trunk/apps/local_apps/blog/views.py (original)
+++ trunk/apps/local_apps/blog/views.py Sat Oct  4 11:40:38 2008
@@ -23,34 +23,34 @@
  except ImportError:
      friends = False

-def blogs(request, username=None):
+def blogs(request, username=None, template_name="blog/blogs.html"):
      blogs = Post.objects.filter(status=2).order_by("-publish")
      if username is not None:
          user = get_object_or_404(User, username=username.lower())
          blogs = blogs.filter(author=user)
-    return render_to_response("blog/blogs.html", {"blogs": blogs},  
context_instance=RequestContext(request))
+    return render_to_response(template_name, {
+        "blogs": blogs,
+    }, context_instance=RequestContext(request))

-def post(request, username, year, month, slug):
+def post(request, username, year, month, slug,
+         template_name="blog/post.html"):
      post = Post.objects.filter(slug=slug, publish__year=int(year),  
publish__month=int(month)).filter(author__username=username)
      if not post:
          raise Http404
-
+
      if post[0].status == 1 and post[0].author != request.user:
          raise Http404
-
-    return render_to_response("blog/post.html", {
+
+    return render_to_response(template_name, {
          "post": post[0],
      }, context_instance=RequestContext(request))

[EMAIL PROTECTED]
-def your_posts(request):
-    user = request.user
-    blogs = Post.objects.filter(author=user)
-
-    return render_to_response("blog/your_posts.html", {"blogs": blogs},  
context_instance=RequestContext(request))
-
+def your_posts(request, template_name="blog/your_posts.html"):
+    return render_to_response(template_name, {
+        "blogs": Post.objects.filter(author=request.user),
+    }, context_instance=RequestContext(request))
+your_posts = login_required(your_posts)

[EMAIL PROTECTED]
  def destroy(request, id):
      post = Post.objects.get(pk=id)
      user = request.user
@@ -67,14 +67,12 @@
          return HttpResponseRedirect(reverse("blog_list_yours"))

      return render_to_response(context_instance=RequestContext(request))
+destroy = login_required(destroy)

-
-
[EMAIL PROTECTED]
-def new(request):
+def new(request, form_class=BlogForm, template_name="blog/new.html"):
      if request.method == "POST":
          if request.POST["action"] == "create":
-            blog_form = BlogForm(request.user, request.POST)
+            blog_form = form_class(request.user, request.POST)
              if blog_form.is_valid():
                  blog = blog_form.save(commit=False)
                  blog.author = request.user
@@ -92,16 +90,16 @@

                  return HttpResponseRedirect(reverse("blog_list_yours"))
          else:
-            blog_form = BlogForm()
+            blog_form = form_class()
      else:
-        blog_form = BlogForm()
+        blog_form = form_class()

-    return render_to_response("blog/new.html", {
+    return render_to_response(template_name, {
          "blog_form": blog_form
      }, context_instance=RequestContext(request))
+new = login_required(new)

[EMAIL PROTECTED]
-def edit(request, id):
+def edit(request, id, form_class=BlogForm, template_name="blog/edit.html"):
      post = get_object_or_404(Post, id=id)

      if request.method == "POST":
@@ -109,7 +107,7 @@
              request.user.message_set.create(message="You can't edit posts  
that aren't yours")
              return HttpResponseRedirect(reverse("blog_list_yours"))
          if request.POST["action"] == "update":
-            blog_form = BlogForm(request.user, request.POST, instance=post)
+            blog_form = form_class(request.user, request.POST,  
instance=post)
              if blog_form.is_valid():
                  blog = blog_form.save(commit=False)
                  blog.save()
@@ -121,12 +119,12 @@

                  return HttpResponseRedirect(reverse("blog_list_yours"))
          else:
-            blog_form = BlogForm(instance=post)
-
+            blog_form = form_class(instance=post)
      else:
-        blog_form = BlogForm(instance=post)
+        blog_form = form_class(instance=post)

-    return render_to_response("blog/edit.html", {
+    return render_to_response(template_name, {
          "blog_form": blog_form,
          "post": post,
      }, context_instance=RequestContext(request))
+edit = login_required(edit)

Modified: trunk/apps/local_apps/profiles/views.py
==============================================================================
--- trunk/apps/local_apps/profiles/views.py     (original)
+++ trunk/apps/local_apps/profiles/views.py     Sat Oct  4 11:40:38 2008
@@ -22,12 +22,12 @@
  except ImportError:
      notification = None

-def profiles(request):
-    return render_to_response("profiles/profiles.html", {
+def profiles(request, template_name="profiles/profiles.html"):
+    return render_to_response(template_name, {
          "users": User.objects.all().order_by("-date_joined"),
      }, context_instance=RequestContext(request))

-def profile(request, username):
+def profile(request, username, template_name="profiles/profile.html"):
      other_user = get_object_or_404(User, username=username)
      if request.user.is_authenticated():
          is_friend = Friendship.objects.are_friends(request.user,  
other_user)
@@ -106,9 +106,8 @@
              profile_form = ProfileForm(instance=other_user.get_profile())
      else:
          profile_form = None
-
-
-    return render_to_response("profiles/profile.html", {
+
+    return render_to_response(template_name, {
          "profile_form": profile_form,
          "is_me": is_me,
          "is_friend": is_friend,

Modified: trunk/apps/local_apps/projects/models.py
==============================================================================
--- trunk/apps/local_apps/projects/models.py    (original)
+++ trunk/apps/local_apps/projects/models.py    Sat Oct  4 11:40:38 2008
@@ -53,9 +53,9 @@
      def __unicode__(self):
          return self.name

-    @models.permalink
      def get_absolute_url(self):
          return ("project_detail", [self.slug])
+    get_absolute_url = models.permalink(get_absolute_url)


  class ProjectMember(models.Model):
@@ -85,9 +85,9 @@
      def __unicode__(self):
          return self.title

-    @models.permalink
      def get_absolute_url(self):
          return ("project_topic", [self.pk])
+    get_absolute_url = models.permalink(get_absolute_url)

      class Meta:
          ordering = ('-modified', )
@@ -126,9 +126,10 @@
          self.modified = datetime.now()
          super(Task, self).save(force_insert, force_update)

-    @models.permalink
      def get_absolute_url(self):
          return ("project_task", [self.pk])
+    get_absolute_url = models.permalink(get_absolute_url)
+

  from threadedcomments.models import ThreadedComment
  def new_comment(sender, instance, **kwargs):

Modified: trunk/apps/local_apps/projects/views.py
==============================================================================
--- trunk/apps/local_apps/projects/views.py     (original)
+++ trunk/apps/local_apps/projects/views.py     Sat Oct  4 11:40:38 2008
@@ -35,10 +35,11 @@
  # from zwitschern.models import TweetInstance


-def create(request):
+def create(request, form_class=ProjectForm,
+        template_name="projects/create.html"):
      if request.user.is_authenticated() and request.method == "POST":
          if request.POST["action"] == "create":
-            project_form = ProjectForm(request.POST)
+            project_form = form_class(request.POST)
              if project_form.is_valid():
                  project = project_form.save(commit=False)
                  project.creator = request.user
@@ -46,27 +47,27 @@
                  project_member = ProjectMember(project=project,  
user=request.user)
                  project.members.add(project_member)
                  project_member.save()
-                project_form = ProjectForm()
+                project_form = form_class()
                  return HttpResponseRedirect(project.get_absolute_url())
          else:
-            project_form = ProjectForm()
+            project_form = form_class()
      else:
-        project_form = ProjectForm()
+        project_form = form_class()

-    return render_to_response("projects/create.html", {
+    return render_to_response(template_name, {
          "project_form": project_form,
      }, context_instance=RequestContext(request))

[EMAIL PROTECTED]
-def your_projects(request):
-    return render_to_response("projects/your_projects.html", {
+def your_projects(request, template_name="projects/your_projects.html"):
+    return render_to_response(template_name, {
          "projects":  
Project.objects.filter(members__user=request.user).order_by("name"),
      }, context_instance=RequestContext(request))
+your_projects = login_required(your_projects)

-def project(request, slug):
+def project(request, slug, template_name="projects/project.html"):
      project = get_object_or_404(Project, slug=slug)
      photos = project.photos.all()
-
+
      if request.user.is_authenticated() and request.method == "POST" and  
request.user == project.creator:
          if request.POST["action"] == "update":
              adduser_form = AddUserForm(project=project)
@@ -85,22 +86,22 @@
      else:
          adduser_form = AddUserForm(project=project)
          project_form = ProjectUpdateForm(instance=project)
-
+
      topics = project.topics.all()[:5]
      articles = Article.objects.filter(
          content_type=get_ct(project),
          object_id=project.id).order_by('-last_update')
      total_articles = articles.count()
      articles = articles[:5]
-
+
      total_tasks = project.tasks.count()
      tasks = project.tasks.order_by("-modified")[:10]
-
+
      # tweets = TweetInstance.objects.tweets_for(project).order_by("-sent")
-
+
      are_member = project.has_member(request.user)
-
-    return render_to_response("projects/project.html", {
+
+    return render_to_response(template_name, {
          "project_form": project_form,
          "adduser_form": adduser_form,
          "project": project,
@@ -113,13 +114,14 @@
          "are_member": are_member,
      }, context_instance=RequestContext(request))

-def topics(request, slug):
+def topics(request, slug, form_class=TopicForm,
+        template_name="projects/topics.html"):
      project = get_object_or_404(Project, slug=slug)
      is_member = project.has_member(request.user)
-
+
      if request.method == "POST":
          if is_member:
-            topic_form = TopicForm(request.POST)
+            topic_form = form_class(request.POST)
              if topic_form.is_valid():
                  topic = topic_form.save(commit=False)
                  topic.project = project
@@ -128,34 +130,33 @@
                  request.user.message_set.create(message="You have started  
the topic %s" % topic.title)
                  if notification:
                       
notification.send(project.member_users.all(), "projects_new_topic",  
{"creator": request.user, "topic": topic, "project": project})
-                topic_form = TopicForm() # @@@ is this the right way to  
reset it?
+                topic_form = form_class() # @@@ is this the right way to  
reset it?
          else:
              request.user.message_set.create(message="You are not a member  
and so cannot start a new topic")
-            topic_form = TopicForm()
+            topic_form = form_class()
      else:
-        topic_form = TopicForm()
+        topic_form = form_class()

-    return render_to_response("projects/topics.html", {
+    return render_to_response(template_name, {
          "project": project,
          "is_member": is_member,
          "topic_form": topic_form,
      }, context_instance=RequestContext(request))

-
-def topic(request, id):
+def topic(request, id, template_name="projects/topic.html"):
      topic = get_object_or_404(Topic, id=id)
-
-    return render_to_response("projects/topic.html", {
+    return render_to_response(template_name, {
          'topic': topic,
      }, context_instance=RequestContext(request))

-def tasks(request, slug):
+def tasks(request, slug, form_class=TaskForm,
+        template_name="projects/tasks.html"):
      project = get_object_or_404(Project, slug=slug)
      is_member = project.has_member(request.user)

      if request.user.is_authenticated() and request.method == "POST":
          if request.POST["action"] == "add_task":
-            task_form = TaskForm(project, request.POST)
+            task_form = form_class(project, request.POST)
              if task_form.is_valid():
                  task = task_form.save(commit=False)
                  task.creator = request.user
@@ -165,16 +166,16 @@
                  request.user.message_set.create(message="added  
task '%s'" % task.summary)
                  if notification:
                       
notification.send(project.member_users.all(), "projects_new_task",  
{"creator": request.user, "task": task, "project": project})
-                task_form = TaskForm(project=project) # @@@ is this the  
right way to clear it?
+                task_form = form_class(project=project) # @@@ is this the  
right way to clear it?
          else:
-            task_form = TaskForm(project=project)
+            task_form = form_class(project=project)
      else:
-        task_form = TaskForm(project=project)
-
+        task_form = form_class(project=project)
+
      group_by = request.GET.get("group_by")
      tasks = project.tasks.all()

-    return render_to_response("projects/tasks.html", {
+    return render_to_response(template_name, {
          "project": project,
          "tasks": tasks,
          "group_by": group_by,
@@ -182,7 +183,7 @@
          "task_form": task_form,
      }, context_instance=RequestContext(request))

-def task(request, id):
+def task(request, id, template_name="projects/task.html"):
      task = get_object_or_404(Task, id=id)
      project = task.project
      is_member = project.has_member(request.user)
@@ -229,25 +230,25 @@
          assign_form = AssignForm(project, instance=task)
          status_form = StatusForm(instance=task)

-    return render_to_response("projects/task.html", {
+    return render_to_response(template_name, {
          "task": task,
          "is_member": is_member,
          "assign_form": assign_form,
          "status_form": status_form,
      }, context_instance=RequestContext(request))

[EMAIL PROTECTED]
-def user_tasks(request, username):
+def user_tasks(request, username,  
template_name="projects/user_tasks.html"):
      other_user = get_object_or_404(User, username=username)
      tasks = other_user.assigned_project_tasks.order_by("state")

-    return render_to_response("projects/user_tasks.html", {
+    return render_to_response(template_name, {
          "tasks": tasks,
          "other_user": other_user,
      }, context_instance=RequestContext(request))
+user_tasks = login_required(user_tasks)

[EMAIL PROTECTED]
-def members_status(request, slug):
+def members_status(request, slug, form_class=AwayForm,
+        template_name="projects/members_status.html"):
      project = get_object_or_404(Project, slug=slug)

      is_member = project.has_member(request.user)
@@ -259,21 +260,21 @@
      away_form = None
      if is_member and request.method == "POST":
          if request.POST["action"] == "set_away":
-            away_form = AwayForm(request.POST)
+            away_form = form_class(request.POST)
              if away_form.is_valid():
                  away_form.save(project_member)
-                away_form = AwayForm()
+                away_form = form_class()
          elif request.POST["action"] == "set_back":
              project_member.away = False
              project_member.save()
-
+
      if away_form is None:
-        away_form = AwayForm()
-
+        away_form = form_class()
+
      active_members = project.members.filter(away=False)
      away_members = project.members.filter(away=True).order_by('away_since')
-
-    return render_to_response("projects/members_status.html", {
+
+    return render_to_response(template_name, {
          "project": project,
          "is_member": is_member,
          "project_member": project_member,
@@ -281,3 +282,4 @@
          "active_members": active_members,
          "away_members": away_members,
      }, context_instance=RequestContext(request))
+members_status = login_required(members_status)

Modified: trunk/apps/local_apps/tribes/views.py
==============================================================================
--- trunk/apps/local_apps/tribes/views.py       (original)
+++ trunk/apps/local_apps/tribes/views.py       Sat Oct  4 11:40:38 2008
@@ -36,10 +36,10 @@
  from zwitschern.models import TweetInstance


-def create(request):
+def create(request, form_class=TribeForm,  
template_name="tribes/create.html"):
      if request.user.is_authenticated() and request.method == "POST":
          if request.POST["action"] == "create":
-            tribe_form = TribeForm(request.POST)
+            tribe_form = form_class(request.POST)
              if tribe_form.is_valid():
                  tribe = tribe_form.save(commit=False)
                  tribe.creator = request.user
@@ -55,31 +55,32 @@
                  #}, context_instance=RequestContext(request))
                  return HttpResponseRedirect(tribe.get_absolute_url())
          else:
-            tribe_form = TribeForm()
+            tribe_form = form_class()
      else:
-        tribe_form = TribeForm()
+        tribe_form = form_class()

-    return render_to_response("tribes/create.html", {
+    return render_to_response(template_name, {
          "tribe_form": tribe_form,
      }, context_instance=RequestContext(request))

-def your_tribes(request):
-    return render_to_response("tribes/your_tribes.html", {
+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"),
      }, context_instance=RequestContext(request))
  your_tribes = login_required(your_tribes)

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

      if request.user.is_authenticated() and request.method == "POST":
          if request.POST["action"] == "update" and request.user ==  
tribe.creator:
-            tribe_form = TribeUpdateForm(request.POST, instance=tribe)
+            tribe_form = form_class(request.POST, instance=tribe)
              if tribe_form.is_valid():
                  tribe = tribe_form.save()
          else:
-            tribe_form = TribeUpdateForm(instance=tribe)
+            tribe_form = form_class(instance=tribe)
          if request.POST["action"] == "join":
              tribe.members.add(request.user)
              request.user.message_set.create(message="You have joined the  
tribe %s" % tribe.name)
@@ -94,7 +95,7 @@
              if notification:
                  pass # @@@
      else:
-        tribe_form = TribeUpdateForm(instance=tribe)
+        tribe_form = form_class(instance=tribe)

      topics = tribe.topics.all()[:5]
      articles = Article.objects.filter(
@@ -107,7 +108,7 @@

      are_member = request.user in tribe.members.all()

-    return render_to_response("tribes/tribe.html", {
+    return render_to_response(template_name, {
          "tribe_form": tribe_form,
          "tribe": tribe,
          "photos": photos,
@@ -118,7 +119,8 @@
          "are_member": are_member,
      }, context_instance=RequestContext(request))

-def topics(request, slug):
+def topics(request, slug, form_class=TopicForm,
+        template_name="tribes/topics.html"):
      tribe = get_object_or_404(Tribe, slug=slug)

      are_member = False
@@ -128,7 +130,7 @@
      if request.method == "POST":
          if request.user.is_authenticated():
              if are_member:
-                topic_form = TopicForm(request.POST)
+                topic_form = form_class(request.POST)
                  if topic_form.is_valid():
                      topic = topic_form.save(commit=False)
                      topic.tribe = tribe
@@ -137,29 +139,29 @@
                      request.user.message_set.create(message="You have  
started the topic %s" % topic.title)
                      if notification:
                           
notification.send(tribe.members.all(), "tribes_new_topic", {"topic": topic})
-                    topic_form = TopicForm() # @@@ is this the right way  
to reset it?
+                    topic_form = form_class() # @@@ is this the right way  
to reset it?
              else:
                  request.user.message_set.create(message="You are not a  
member and so cannot start a new topic")
-                topic_form = TopicForm()
+                topic_form = form_class()
          else:
              return HttpResponseForbidden()
      else:
-        topic_form = TopicForm()
+        topic_form = form_class()

-    return render_to_response("tribes/topics.html", {
+    return render_to_response(template_name, {
          "tribe": tribe,
          "topic_form": topic_form,
          "are_member": are_member,
      }, context_instance=RequestContext(request))

-def topic(request, id, edit=False):
+def topic(request, id, edit=False, template_name="tribes/topic.html"):
      topic = get_object_or_404(Topic, id=id)
      if request.method == "POST" and edit == True and \
          (request.user == topic.creator or request.user ==  
topic.tribe.creator):
          topic.body = request.POST["body"]
          topic.save()
          return HttpResponseRedirect(reverse('tribe_topic',  
args=[topic.id]))
-    return render_to_response("tribes/topic.html", {
+    return render_to_response(template_name, {
          'topic': topic,
          'edit': edit,
      }, context_instance=RequestContext(request))

--~--~---------~--~----~------------~-------~--~----~
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