You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@community.apache.org by rg...@apache.org on 2015/07/28 05:06:35 UTC

svn commit: r1692980 - in /comdev/tools/events_list: ./ templates/events/ templates/groups/ templates/include/ templatetags/

Author: rgardler
Date: Tue Jul 28 03:06:34 2015
New Revision: 1692980

URL: http://svn.apache.org/r1692980
Log:
add a groups page and a navigation bar

Added:
    comdev/tools/events_list/templates/groups/
    comdev/tools/events_list/templates/groups/index.html
    comdev/tools/events_list/templates/include/
    comdev/tools/events_list/templates/include/navbar.html
    comdev/tools/events_list/templatetags/
    comdev/tools/events_list/templatetags/__init__.py
    comdev/tools/events_list/templatetags/navigationTags.py
Modified:
    comdev/tools/events_list/models.py
    comdev/tools/events_list/templates/events/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=1692980&r1=1692979&r2=1692980&view=diff
==============================================================================
--- comdev/tools/events_list/models.py (original)
+++ comdev/tools/events_list/models.py Tue Jul 28 03:06:34 2015
@@ -23,6 +23,9 @@ class Hashtag(models.Model):
     def __unicode__(self):
         return unicode(self.name)
 
+class Person(models.Model):
+   meetupID =  models.BigIntegerField(verbose_name = "Meetups.com ID", unique=True)
+   lastMeetupVisit = models.DateTimeField()
     
 class Event(models.Model):
     name = models.CharField(max_length=200)

Modified: comdev/tools/events_list/templates/events/index.html
URL: http://svn.apache.org/viewvc/comdev/tools/events_list/templates/events/index.html?rev=1692980&r1=1692979&r2=1692980&view=diff
==============================================================================
--- comdev/tools/events_list/templates/events/index.html (original)
+++ comdev/tools/events_list/templates/events/index.html Tue Jul 28 03:06:34 2015
@@ -11,6 +11,8 @@
   <link rel="stylesheet" href="http://cdn.datatables.net/1.10.7/css/jquery.dataTables.min.css"></link>
 </head>
 <body>
+  {% include "include/navbar.html" %}
+
 <h1>Events</h1>
 
 {% if can_import %}

Added: comdev/tools/events_list/templates/groups/index.html
URL: http://svn.apache.org/viewvc/comdev/tools/events_list/templates/groups/index.html?rev=1692980&view=auto
==============================================================================
--- comdev/tools/events_list/templates/groups/index.html (added)
+++ comdev/tools/events_list/templates/groups/index.html Tue Jul 28 03:06:34 2015
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <title>Community Development: Events</title>
+
+  <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
+  <script type="text/javascript" src="http://cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js"></script>
+  <script type="text/javascript" src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
+
+  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"></link>  
+  <link rel="stylesheet" href="http://cdn.datatables.net/1.10.7/css/jquery.dataTables.min.css"></link>
+</head>
+<body>
+  {% include "include/navbar.html" %}
+
+  <h1>Groups</h1>
+  {% if can_import %}
+    <a href="/events/importMeetups">Import Meetups</a>
+  {% endif %}
+
+  {% if groups_list %}
+    <table id="groupList" class="table table-striped">
+      <thead>
+	<tr>
+	  <th>Name</th>
+	  <th>City</th>
+	  <th>State</th>
+	  <th>Country</th>
+	</tr>
+      </thead>
+      <tbody>
+	{% for group in groups_list %}
+	<tr>
+	  <td>{{ group.name }}</td>
+	  <td>{{ group.city }}</td>
+	  <td>{{ group.state }}</td>
+	  <td>{{ group.country }}</td>
+	</tr>
+	{% endfor %}
+      </tbody>
+    </table>
+    <script>
+      $(document).ready(function(){
+      $('#groupList').dataTable({
+          "order": [[ 0, "asc" ]],
+          "stateSave": true
+        });
+      });
+    </script>	
+  {% else %}
+    <p>No events are available.</p>
+  {% endif %}
+</body>
+</html>

Added: comdev/tools/events_list/templates/include/navbar.html
URL: http://svn.apache.org/viewvc/comdev/tools/events_list/templates/include/navbar.html?rev=1692980&view=auto
==============================================================================
--- comdev/tools/events_list/templates/include/navbar.html (added)
+++ comdev/tools/events_list/templates/include/navbar.html Tue Jul 28 03:06:34 2015
@@ -0,0 +1,24 @@
+{% load navigationTags %}
+
+<nav class="navbar navbar-default">
+  <div class="container-fluid">
+    <!-- Brand and toggle get grouped for better mobile display -->
+    <div class="navbar-header">
+      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
+        <span class="sr-only">Toggle navigation</span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+      </button>
+      <a class="navbar-brand" href="#">ComDev Events</a>
+    </div>
+
+    <!-- Collect the nav links, forms, and other content for toggling -->
+    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+      <ul class="nav navbar-nav">
+        <li><a class="{% is_active_page request 'eventIndex' %}" href="{% url 'eventIndex' %}">Events</a></li>
+        <li><a class="{% is_active_page request 'groupIndex' %}" href="{% url 'groupIndex' %}">Groups</a></li>
+      </ul>
+    </div><!-- /.navbar-collapse -->
+  </div><!-- /.container-fluid -->
+</nav>

Added: comdev/tools/events_list/templatetags/__init__.py
URL: http://svn.apache.org/viewvc/comdev/tools/events_list/templatetags/__init__.py?rev=1692980&view=auto
==============================================================================
    (empty)

Added: comdev/tools/events_list/templatetags/navigationTags.py
URL: http://svn.apache.org/viewvc/comdev/tools/events_list/templatetags/navigationTags.py?rev=1692980&view=auto
==============================================================================
--- comdev/tools/events_list/templatetags/navigationTags.py (added)
+++ comdev/tools/events_list/templatetags/navigationTags.py Tue Jul 28 03:06:34 2015
@@ -0,0 +1,10 @@
+from django import template
+from django.core.urlresolvers import reverse
+
+register = template.Library()
+
+@register.simple_tag
+def is_active_page(request, urls):
+    if request.path in ( reverse(url) for url in urls.split() ):
+        return "active"
+    return ""

Modified: comdev/tools/events_list/urls.py
URL: http://svn.apache.org/viewvc/comdev/tools/events_list/urls.py?rev=1692980&r1=1692979&r2=1692980&view=diff
==============================================================================
--- comdev/tools/events_list/urls.py (original)
+++ comdev/tools/events_list/urls.py Tue Jul 28 03:06:34 2015
@@ -3,8 +3,10 @@ from django.conf.urls import url
 from . import views
 
 urlpatterns = [
-    url(r'^$', views.index, name='index'),
+    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'^importMeetups/$', views.importMeetups, name='importMeetups'),
+
+    url(r'^groups$', views.groupIndex, name='groupIndex'),
 ]

Modified: comdev/tools/events_list/views.py
URL: http://svn.apache.org/viewvc/comdev/tools/events_list/views.py?rev=1692980&r1=1692979&r2=1692980&view=diff
==============================================================================
--- comdev/tools/events_list/views.py (original)
+++ comdev/tools/events_list/views.py Tue Jul 28 03:06:34 2015
@@ -12,19 +12,11 @@ logger = logging.getLogger(__name__)
 
 def index(request):
     now = datetime.now()
-    can_import = True
-    try:
-        last_import = Log.objects.filter(action_type = Log.EVENT_IMPORT)[:1].get()
-        if now - last_import.datetime < timedelta(hours = 1):
-            can_import = False
-    except:
-        pass
-
     upcoming_events_list = Event.objects.filter(is_applicable = True).filter(local_start__gte=now).order_by('local_start')[:100]
     template = loader.get_template('events/index.html')
     context = RequestContext(request, {
                              'upcoming_events_list': upcoming_events_list,
-                             'can_import': can_import
+                             'can_import': _canImport()
     })
     return HttpResponse(template.render(context))
 
@@ -56,6 +48,27 @@ def toggleNA(request, event_id):
 
     return redirect('events_list.views.index')
 
+def groupIndex(request):
+    groups_list = Group.objects.all()[:100]
+    template = loader.get_template('groups/index.html')
+    context = RequestContext(request, {
+                             'groups_list': groups_list,
+                             'can_import': _canImport()
+    })
+    return HttpResponse(template.render(context))
+    
+
+def _canImport():
+    can_import = True
+    now = datetime.now()
+    try:
+        last_import = Log.objects.filter(action_type = Log.EVENT_IMPORT)[:1].get()
+        if now - last_import.datetime < timedelta(hours = 1):
+            can_import = False
+    except:
+        pass
+    return can_import
+
 def importMeetups(request):
     # Import latest meetups from meetup.com, if we didn't import them within the last hour
     log = Log()