Changeset 2508

Show
Ignore:
Timestamp:
07/22/07 13:14:04 (1 year ago)
Author:
ant_39
Message:

CalendarPlugin:

  • Events without title now displayed correctly.
  • Time is now an optional component of begin/end fields.
  • Resolves: #1734
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • calendarplugin/0.10/azcalendar/azcalendar.py

    r2235 r2508  
    1212import time 
    1313import calendar 
     14import caltools 
    1415import cal_layout 
    1516 
     
    3940    def process_add(self, req): 
    4041        add_stylesheet (req, 'hw/css/azcalendar.css') 
     42 
    4143        if req.method == 'GET' and req.args.has_key('date'): 
    4244            req.hdf['azcalendar.time_begin'] = time.strftime("%Y/%m/%d",(time.strptime(req.args['date'],"%Y%m%d"))) 
    4345            req.hdf['azcalendar.time_end'] = time.strftime("%Y/%m/%d",(time.strptime(req.args['date'],"%Y%m%d"))) 
    4446            return 'add_event.cs', None 
     47 
    4548        elif req.method == 'GET' and req.args.has_key('new_event'): 
    46             begin_t = int(time.mktime(time.strptime(req.args['time_begin'],"%Y/%m/%d %H:%M"))) 
    47             end_t = int(time.mktime(time.strptime(req.args['time_end'],"%Y/%m/%d %H:%M"))) 
    48             date = time.strftime("%Y%m%d",(time.strptime(req.args['time_begin'],"%Y/%m/%d %H:%M"))) 
     49            begin_time, end_time, begin_stamp, end_stamp \ 
     50              = caltools.parse_time_begin_end(req.args['time_begin'], req.args['time_end']) 
     51 
     52            date = time.strftime("%Y%m%d", begin_time) 
    4953            req.hdf['redir_url'] = str(self.env.href.azcalendar()) + "?date=%s" % date 
    50             current_time = int(time.time()) 
    51             #id = 0 -> its autocreated by DB 
     54 
     55            current_stamp = int(time.time()) 
     56 
     57            # Events with id 0 are created automatically by a DB layer. 
    5258            author = req.authname 
    53             evt = Event(0,author,current_time, current_time, begin_t, end_t, 
    54                        req.args['type'], req.args['priority'], req.args['title']) 
    55             return evt.save( self.env, req ) 
     59            evt = Event(0, author, current_stamp, current_stamp, begin_stamp, end_stamp, 
     60                        req.args['type'], req.args['priority'], req.args['title']) 
     61 
     62            return evt.save(self.env, req) 
    5663 
    5764    def process_show(self, req): 
     
    250257        if req.args.has_key('id'): 
    251258            import re 
    252             xid = req.args['id']; 
     259            xid = req.args['id'] 
    253260            if not re.match (r"[0-9]+", xid): 
    254261                return self.process_invalid(req) 
     
    271278            req.hdf['azcalendar.last_update'] = time.strftime("%Y/%m/%d %H:%M:%S",time.localtime(evt.get_time_update())) 
    272279            return 'azevent.cs', None 
     280 
    273281        elif req.method == 'GET' and req.args.has_key('update_event'): 
     282            begin_time, end_time, begin_stamp, end_stamp \ 
     283              = caltools.parse_time_begin_end(req.args['time_begin'], req.args['time_end']) 
     284 
    274285            evt = Event.get_event(self.env,req.args['evid']) 
    275286            #evt.set_author(req.authname) 
     
    277288            evt.set_priority(req.args['priority']) 
    278289            evt.set_time_update(int(time.time())) 
    279             evt.set_time_begin(int(time.mktime(time.strptime(req.args['time_begin'],"%Y/%m/%d %H:%M")))
    280             evt.set_time_end(int(time.mktime(time.strptime(req.args['time_end'],"%Y/%m/%d %H:%M")))
     290            evt.set_time_begin(begin_stamp
     291            evt.set_time_end(end_stamp
    281292            evt.set_title(req.args['title']) 
    282             date = time.strftime("%Y%m%d",(time.strptime(req.args['time_begin'],"%Y/%m/%d %H:%M"))
     293            date = time.strftime("%Y%m%d", begin_time
    283294            req.hdf['redir_url'] = str(self.env.href.azcalendar()) + "?date=%s" % date 
    284295            return evt.update(self.env, req) 
     296 
    285297        elif req.method == 'GET' and req.args.has_key('delete_event'): 
     298            begin_time, end_time, begin_stamp, end_stamp \ 
     299              = caltools.parse_time_begin_end(req.args['time_begin'], req.args['time_end']) 
     300 
    286301            evt = Event.get_event(self.env,req.args['evid']) 
    287             date = time.strftime("%Y%m%d",(time.strptime(req.args['time_begin'],"%Y/%m/%d %H:%M"))
     302            date = time.strftime("%Y%m%d", time_begin
    288303            req.hdf['redir_url'] = str(self.env.href.azcalendar()) + "?date=%s" % date 
    289304            return evt.delete(self.env) 
     
    298313        KEY = "/azcalendar" 
    299314        query = req.path_info[req.path_info.index (KEY):] 
    300              
     315 
    301316        import re 
    302317        if not re.match ("%s(/add|/delete|/event)?($|\?.*)" % KEY, query): 
  • calendarplugin/0.10/azcalendar/templates/azweekcal.cs

    r2230 r2508  
    2020    set:tmp.urlbase = urlbase + '/event?id=' + event.id ?><?cs 
    2121    set:tmp.span = event.brd_end - event.brd_begin ?><?cs 
     22 
     23    if:event.title == '' ?><?cs 
     24        set:event.title = '(no title)' ?><?cs 
     25    /if ?><?cs 
     26 
    2227    if:tmp.span >= 4 ?><?cs 
    2328        set:tmp.show = event.title ?><?cs