Author: rgardler
Date: Tue Jul 28 08:59:36 2015
New Revision: 1693038

URL: http://svn.apache.org/r1693038
Log:
allow groups to be marked as not applicable and filter them from the index view

Modified:
    comdev/tools/events_list/models.py
    comdev/tools/events_list/templates/events/index.html
    comdev/tools/events_list/templates/groups/index.html
    comdev/tools/events_list/urls.py
    comdev/tools/events_list/views.py

Modified: comdev/tools/events_list/models.py
URL: 
http://svn.apache.org/viewvc/comdev/tools/events_list/models.py?rev=1693038&r1=1693037&r2=1693038&view=diff
==============================================================================
--- comdev/tools/events_list/models.py (original)
+++ comdev/tools/events_list/models.py Tue Jul 28 08:59:36 2015
@@ -7,6 +7,7 @@ class Group(models.Model):
     state = models.CharField(max_length=25)
     country = models.CharField(max_length=30)
     meetupID = models.BigIntegerField(verbose_name = "Meetups.com ID", 
unique=True)
+    is_applicable = models.BooleanField(help_text = "Indicates if a group is 
applicable to our audience or not. If marked as not applicable meetups 
organized by this group will be automatically set to not applicable", 
default=True)
 
     def __str__(self):
         return self.name
@@ -79,9 +80,11 @@ class Event(models.Model):
 class Log(models.Model):
     EVENT_UPDATE = 'EU'
     EVENT_IMPORT = 'EI'
+    GROUP_UPDATE = 'GU'
     ACTION_TYPE_CHOICES = (
         (EVENT_UPDATE, 'Event Update'),
         (EVENT_IMPORT, 'Event Import'),
+        (GROUP_UPDATE, 'Group Update'),
     )
     description = models.CharField(max_length=200)
     datetime = models.DateTimeField(default=datetime.now)

Modified: comdev/tools/events_list/templates/events/index.html
URL: 
http://svn.apache.org/viewvc/comdev/tools/events_list/templates/events/index.html?rev=1693038&r1=1693037&r2=1693038&view=diff
==============================================================================
--- comdev/tools/events_list/templates/events/index.html (original)
+++ comdev/tools/events_list/templates/events/index.html Tue Jul 28 08:59:36 
2015
@@ -39,7 +39,7 @@
        {% endfor %}
       </td>
       <td data-order='{{ event.date_sort }}'>{{ event.local_start }}</td>
-      <td><a href="{% url 'toggleNA' event.id %}">Mark N/A</a></td>
+      <td><a href="{% url 'toggleEventNA' event.id %}">Mark N/A</a></td>
     </tr>
     {% endfor %}
   </tbody>

Modified: comdev/tools/events_list/templates/groups/index.html
URL: 
http://svn.apache.org/viewvc/comdev/tools/events_list/templates/groups/index.html?rev=1693038&r1=1693037&r2=1693038&view=diff
==============================================================================
--- comdev/tools/events_list/templates/groups/index.html (original)
+++ comdev/tools/events_list/templates/groups/index.html Tue Jul 28 08:59:36 
2015
@@ -35,9 +35,12 @@
          <td>{{ group.city }}</td>
          <td>{{ group.state }}</td>
          <td>{{ group.country }}</td>
-         {% if can_import %}
-           <td><a href="{% url 'importMembers' group.id %}">Import 
Members</a></td>
-          {% endif %}
+         <td>
+           {% if can_import %}
+             <a href="{% url 'importMembers' group.id %}">Import Members</a>
+            {% endif %} |
+            <a href="{% url 'toggleGroupNA' group.id %}">Mark N/A</a>
+          </td>
        </tr>
        {% endfor %}
       </tbody>

Modified: comdev/tools/events_list/urls.py
URL: 
http://svn.apache.org/viewvc/comdev/tools/events_list/urls.py?rev=1693038&r1=1693037&r2=1693038&view=diff
==============================================================================
--- comdev/tools/events_list/urls.py (original)
+++ comdev/tools/events_list/urls.py Tue Jul 28 08:59:36 2015
@@ -5,10 +5,11 @@ from . import views
 urlpatterns = [
     url(r'^$', views.index, name='eventIndex'),
     url(r'^(?P<event_id>[0-9]+)/$', views.viewEvent, name='viewEvent'),
-    url(r'^(?P<event_id>[0-9]+)/toggleNA/$', views.toggleNA, name='toggleNA'),
+    url(r'^(?P<event_id>[0-9]+)/toggleNA/$', views.toggleEventNA, 
name='toggleEventNA'),
     url(r'^importMeetups/$', views.importMeetups, name='importMeetups'),
 
     url(r'^groups$', views.groupIndex, name='groupIndex'),
+    url(r'^groups/(?P<id>[0-9]+)/toggleNA/$', views.toggleGroupNA, 
name='toggleGroupNA'),
     url(r'^groups/(?P<group_id>[0-9]+)/importMembers/$', views.importMembers, 
name='importMembers'),
 
     url(r'^people$', views.personIndex, name='personIndex'),

Modified: comdev/tools/events_list/views.py
URL: 
http://svn.apache.org/viewvc/comdev/tools/events_list/views.py?rev=1693038&r1=1693037&r2=1693038&view=diff
==============================================================================
--- comdev/tools/events_list/views.py (original)
+++ comdev/tools/events_list/views.py Tue Jul 28 08:59:36 2015
@@ -37,7 +37,7 @@ def viewEvent(request, event_id):
     })
     return HttpResponse(template.render(context))
     
-def toggleNA(request, event_id):
+def toggleEventNA(request, event_id):
     # toggle the is_applicable field on a given record
     event = get_object_or_404(Event, pk = event_id)
     event.is_applicable = not event.is_applicable
@@ -57,7 +57,7 @@ def toggleNA(request, event_id):
     return redirect('events_list.views.index')
 
 def groupIndex(request):
-    groups_list = Group.objects.all()
+    groups_list = Group.objects.all().filter(is_applicable = True)
     template = loader.get_template('groups/index.html')
     context = RequestContext(request, {
                              'groups_list': groups_list,
@@ -65,6 +65,25 @@ def groupIndex(request):
     })
     return HttpResponse(template.render(context))
 
+def toggleGroupNA(request, id):
+    # toggle the is_applicable field on a given record
+    group = get_object_or_404(Group, pk = id)
+    group.is_applicable = not group.is_applicable
+    group.save()
+
+    log = Log();
+    desc = "Group (id=" + id + ") marked as "
+    if (group.is_applicable):
+        desc = desc + "applicable "
+    else:
+        desc = desc + "not applicable "
+    log.description = desc;
+    log.object_id = id
+    log.action_type = Log.GROUP_UPDATE
+    log.save()
+
+    return redirect('events_list.views.groupIndex')
+
 def personIndex(request):
     person_list = Person.objects.all()
     template = loader.get_template('people/index.html')


Reply via email to