changeset 242:0b7a95c02f68

added preference for number of talks from calendar on profile page.
author casties
date Fri, 07 Feb 2014 12:39:08 +0100
parents 99432bde94ed
children 980794794bb5
files MPIWGStaff.py zpt/staff/edit_talks.zpt zpt/staff/member_index_html.zpt
diffstat 3 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/MPIWGStaff.py	Fri Jan 31 10:57:41 2014 +0100
+++ b/MPIWGStaff.py	Fri Feb 07 12:39:08 2014 +0100
@@ -566,9 +566,9 @@
         if REQUEST:
             argv=REQUEST.form
             
-            # ICS URL driven talks
             url = argv.get('ics_url', None)
             if url:
+                # ICS URL driven talks
                 cal_id = "%s_talks"%self.getUsername()
                 # use ICS calendar
                 cal = self.getTalksCal()
@@ -588,6 +588,8 @@
                 # show only upcoming
                 upcoming = argv.get('only_upcoming', None)
                 cal.setFlag('only_upcoming', (upcoming == 'yes'))
+                # number of events
+                cal.setFlag('show_num', int(argv.get('show_num', 5)))
                 
             # manually edited talks
             elif argv.has_key('main_fields'): #got data to change
--- a/zpt/staff/edit_talks.zpt	Fri Jan 31 10:57:41 2014 +0100
+++ b/zpt/staff/edit_talks.zpt	Fri Feb 07 12:39:08 2014 +0100
@@ -75,6 +75,9 @@
       Show only upcoming events in the calendar: <span metal:use-macro="here/common_template/macros/yesno_input_radio"/>
     </tal:block>    
   </p>
+  <p tal:condition="cal">
+      Number of events to show: <input name="show_num" size="2" tal:attributes="value python:cal.getFlag('show_num', 5)"/>
+  </p>
   
   <p>
     <input type="submit" value="submit"/>
--- a/zpt/staff/member_index_html.zpt	Fri Jan 31 10:57:41 2014 +0100
+++ b/zpt/staff/member_index_html.zpt	Fri Feb 07 12:39:08 2014 +0100
@@ -76,8 +76,8 @@
     <!-- Talks -->
     <tal:block tal:define="calendar member/getTalksCal">
       <tal:block tal:condition="calendar">
-        <tal:block tal:define="upcoming python:calendar.getFlag('only_upcoming'); 
-            talks python:test(upcoming, calendar.getAllItemsFromTodayOn()[:5], calendar.getNext(5, reverse=True))" tal:condition="talks">
+        <tal:block tal:define="upcoming python:calendar.getFlag('only_upcoming', False); show_num python:calendar.getFlag('show_num', 5);
+            talks python:test(upcoming, calendar.getAllItemsFromTodayOn()[:show_num], calendar.getNext(show_num, reverse=True))" tal:condition="talks">
         
           <h2 class="line" tal:condition="upcoming">Upcoming talks and presentations</h2>
           <h2 class="line" tal:condition="not:upcoming">Talks and presentations</h2>