Michael Hall has proposed merging lp:~mhall119/loco-directory/fixes-599640 into 
lp:loco-directory.

Requested reviews:
  loco-directory-dev (loco-directory-dev)
Related bugs:
  #599640 Add functionality to copy event to new
  https://bugs.launchpad.net/bugs/599640


Adds a "Copy Event" link to event details page, which is like the add event 
page, only the fields are pre-populated with the values from the copied event
-- 
https://code.launchpad.net/~mhall119/loco-directory/fixes-599640/+merge/31225
Your team loco-directory-dev is requested to review the proposed merge of 
lp:~mhall119/loco-directory/fixes-599640 into lp:loco-directory.
=== modified file 'loco_directory/events/urls.py'
--- loco_directory/events/urls.py	2010-01-20 16:47:30 +0000
+++ loco_directory/events/urls.py	2010-07-29 01:09:49 +0000
@@ -11,6 +11,7 @@
     url(r'^team/(?P<team_event_id>\d+)/delete/$', 'events.views.team_event_delete', name='team-event-delete'),
     url(r'^team/(?P<team_event_id>\d+)/update/$', 'events.views.team_event_update', name='team-event-update'),
     url(r'^team/(?P<team_event_id>\d+)/comment/$', 'events.views.team_event_comment_new', name='team-event-comment-new'),
+    url(r'^team/(?P<team_event_id>\d+)/copy/$', 'events.views.team_event_copy', name='team-event-copy'),
     url(r'^team/(?P<team_slug>[a-zA-Z0-9\-\.\+?]+)/add/$', 'events.views.team_event_new', name='team-event-new'),
     url(r'^team/add/$', 'events.views.team_event_select', name='team-event-select'),
     url(r'^team/(?P<team_slug>[a-zA-Z0-9\-\.\+?]+)/rss/$', 'events.views.team_events_rss', name='team-events-rss'),

=== modified file 'loco_directory/events/views.py'
--- loco_directory/events/views.py	2010-06-19 21:35:39 +0000
+++ loco_directory/events/views.py	2010-07-29 01:09:49 +0000
@@ -106,12 +106,12 @@
     team_event_object = get_object_or_404(TeamEvent, pk=team_event_id)
     is_member = False
     for team_object in team_event_object.teams.all():
-	is_member = is_member or launchpad.is_team_member(request.user, team_object)
+        is_member = is_member or launchpad.is_team_member(request.user, team_object)
 
     context = {
         'team_event_object': team_event_object,
         'user_is_attending': team_event_object.is_attending(request.user),
-	'user_is_team_member': is_member,
+        'user_is_team_member': is_member,
     }
     return render_to_response('events/team_event_detail.html', 
                                          context, RequestContext(request))
@@ -216,6 +216,41 @@
         return redirect( team_object )
 
 @login_required
+def team_event_copy(request, team_event_id):
+    """
+    new team event
+    """
+    
+    team_event = get_object_or_404(TeamEvent, pk=team_event_id)
+    team_object = team_event.teams.all()[0]
+    team_event.id = team_event.pk = None
+
+    is_on_lc = launchpad.is_user_on_loco_council(request.user)
+    is_member = launchpad.is_team_member(request.user, team_object)
+    
+    if is_on_lc or is_member:
+        if request.method == 'POST':
+            form = TeamEventForm(instance=team_event, data=request.POST)
+            if form.is_valid():
+                team_event = form.save()
+                team_event.teams.add(team_object)
+                request.user.message_set.create(message=_('New event created.'))
+                return redirect( team_object )
+        else:
+            form = TeamEventForm(instance=team_event)
+        
+        context = {
+            'team_object': team_object,
+            'form': form,
+        }
+        return render_to_response('events/team_event_new.html', 
+                                         context, RequestContext(request))
+    else:
+        # XXX: Once we move to a new ACL system, this needs fixing.
+        request.user.message_set.create(message=_('You can not add a new event for this team. You are not member of the team or on the LoCo Council.'))
+        return redirect( team_object )
+
+...@login_required
 def team_event_update(request, team_event_id):
     """
     update team event

=== modified file 'loco_directory/templates/events/team_event_detail.html'
--- loco_directory/templates/events/team_event_detail.html	2010-06-24 19:18:57 +0000
+++ loco_directory/templates/events/team_event_detail.html	2010-07-29 01:09:49 +0000
@@ -17,6 +17,7 @@
 {% if user_is_team_member %}
 <a class="sub-nav-item" href="{% url team-event-update team_event_object.id %}">{% trans "Edit details" %}</a>
 <a class="sub-nav-item" href="{% url team-event-delete team_event_object.id %}">{% trans "Delete team event" %}</a>
+<a class="sub-nav-item" href="{% url team-event-copy team_event_object.id %}">{% trans "Copy event" %}</a>
 {% endif %}
 
 {% endif %}

_______________________________________________
Mailing list: https://launchpad.net/~loco-directory-dev
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~loco-directory-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to