コード例 #1
0
ファイル: user_events.py プロジェクト: EventBuck/EventBuck
 def get_template_context_showing_all_events(self):
     events = EventManager.get_event_list() + EventManager.get_event_list(recent = True)
     context = dict()
     context['events'] = events
     context['showingAllEvents'] = True
     context['sidebar_active'] = "allEvent"
     
     return context
コード例 #2
0
 def post(self):
     user_id = int(self.request.get('user_id'))
     event_keys = self.request.get('events', allow_multiple=True)
     email = self.request.get('email')
     
     already_sent = memcache.get_daily_sent_ids()
     
     if not user_id or not email:
         logging.debug('NO POST DATAS PROVIDED')
         return
     
     if user_id in already_sent:
         return
     
     events = filter(lambda event: event['key'] in event_keys, EventManager.get_event_list(filtered_by='today'))
     print(events)
     user = UserManager.get_user_friendly(id =user_id)
     
     if not user_id or not email:
         logging.debug('NO POST DATAS PROVIDED')
         return
     html_email = self.get_html_email(user, events)
     subject = self.get_subject(user)
     non_html_email = self.get_non_html_email(user)
     
     from main import debug
     if not debug:
         sender.send('EventBuck Rappel','*****@*****.**', subject, text=non_html_email, html=html_email, 
                     receiver_email=email, receiver_name=user['fullname'])
         memcache.add_daily_sent(user_id)
コード例 #3
0
 def get_user_event_dict(self):
     """
     Get a dict of user_id as key and dict of list of events they are attending today and their email as value
     """
     events = EventManager.get_event_list(filtered_by='today')
     user_event_dict = {}
     already_in_dict = []
     no_send = []
     
     for event in events:
         event_key = ndb.Key(urlsafe=event['key'])
         user_ids = AttendanceManager.get_users_id_attending(event_key)
         if user_ids:
             for an_id in user_ids:
                 if an_id in already_in_dict:
                     user_event_dict[an_id]['events'].append(event['key'])
                 else:
                     if not an_id in no_send:
                         user_notif = NotifSettings.get_settings_for(user_id=an_id)
                         if user_notif.daily_alert:
                             user_event_dict[an_id] = {}
                             user_event_dict[an_id]['email'] = user_notif.email_to_use
                             user_event_dict[an_id]['events'] = [event['key']]
                             already_in_dict.append(an_id)
                         else:
                             no_send.append(an_id)    
             
     
     return user_event_dict
コード例 #4
0
 def get(self):
     weekly_events = EventManager.get_event_list(filtered_by='week')
     if weekly_events:
         taskqueue.add(url='/tasks/notification/weekly/start')
         
         
     self.render_template('ebdigest.html', {'event_list': weekly_events})
コード例 #5
0
ファイル: main.py プロジェクト: EventBuck/EventBuck
 def get(self, *args, **kargs):
     filter_key = self.request.get('filter_key')
     sort_order = self.request.get('sort_order')
     tab = self.request.route_kwargs.get('page')
     if self.user:
         events = EventManager.get_events_not_attending(
                                                             user_id=self.user_info['user_id'], 
                                                             category = tab, filtered_by = filter_key, 
                                                             ordered_by = sort_order)
         
     else:
         events = EventManager.get_event_list(category = tab, filtered_by = filter_key, 
                                              ordered_by = sort_order)            
     self.prepare_and_serve_events(events)
コード例 #6
0
ファイル: main.py プロジェクト: EventBuck/EventBuck
 def get_index_context(self, tab=None):
     context = {}
     context['active_submenu'] = tab if tab else 'all'
     context['events'] = EventManager.get_event_list(category = tab)
     
     return context
コード例 #7
0
 def post(self):
     self.add_task()
     events = EventManager.get_event_list(filtered_by='today')
     self.render_template('ebdigest.html', {'event_list': events})
コード例 #8
0
 def get(self):
     today_events = EventManager.get_event_list(filtered_by = 'today')
     if today_events:
         task = taskqueue.add(url='/tasks/notification/daily/start')
     self.render_template('ebdigest.html', {'event_list': today_events})
コード例 #9
0
 def get_html_email(self, user):
     events = EventManager.get_event_list(filtered_by = 'week')
     return (jinja_environment.get_template('ebdigest.html').render({'event_list': events, 
                                                                    'user':user, 
                                                                    'subject':self.get_subject(user)
                                                                    }))