def home (request): if request.method == 'GET': # Render the events index on GET events = EventController.approved_events() weeks_events = EventController.weeks_events() return render(request, 'events/home.html', { 'events': EventHelper.events_to_json(events), 'earliest_event_time': EventHelper.earliest_event_time(weeks_events), 'latest_event_time': EventHelper.latest_event_time(weeks_events), 'facebook_event_pages': FacebookEventPageController.facebook_event_pages() })
def home (request): if request.method == 'GET': # Render the events index on GET events = EventController.approved_events() weeks_events = EventController.weeks_events() return render(request, 'events/home.html', { 'events': EventHelper.events_to_json(events), 'earliest_event_time': EventHelper.earliest_event_time(weeks_events), 'latest_event_time': EventHelper.latest_event_time(weeks_events), 'facebook_event_pages': FacebookEventPageController.facebook_event_pages() }) else: return HttpResponseNotAllowed(['GET'])
def get_context_data(self, **kwargs): num_activities = self.request.GET.get('num_activities', 10) try: num_activities = int(num_activities) except TypeError: num_activities = 10 dtnow = datetime.datetime.now() qs_date_from = self.request.GET.get('from') qs_date_to = self.request.GET.get('to') if qs_date_from: try: date_from = datetime.datetime.strptime(qs_date_from, '%Y-%m-%d') except ValueError: date_from = dtnow.replace(hour=0, minute=0, second=0, microsecond=0) else: date_from = dtnow.replace(hour=0, minute=0, second=0, microsecond=0) if qs_date_to: try: date_to = datetime.datetime.strptime(qs_date_to, '%Y-%m-%d') except ValueError: date_to = date_from + datetime.timedelta(days=1) else: date_to = date_from + datetime.timedelta(days=1) context = super(HomeView, self).get_context_data(**kwargs) context['activities'] = Activity.objects.all()[:num_activities] context['all_nav'] = True context['events'] = EventController.approved_events().filter( start__gte=date_from, start__lt=date_to ) return context
def event (request, event_id): if request.method == 'GET': # Render an event page for the corresponding event_id on GET event = EventController.event_with_id(event_id) if not event: return render(request, 'events/error.html', {'event_id': event_id}) else: return render(request, 'events/event_description.html', {'event': event}) elif request.method == 'POST': # Add an event manually on POST try: new_event = EventController.new_event(dict(urlparse.parse_qsl(request.body))) except (InvalidEventException, InvalidFacebookEventPageException, EventAlreadyExistsException) as e: return HttpResponse( content=e.error_message, status=500 ) else: return HttpResponse(serializers.serialize('json', [new_event])) # Return a JSON hash of the new event
def event (request, event_id): if request.method == 'GET': # Render an event page for the corresponding event_id on GET event = EventController.event_with_id(event_id) if not event: return render(request, 'events/error.html', {'event_id': event_id}) else: return render(request, 'events/event_description.html', {'event': event}) elif request.method == 'POST': # Add an event manually on POST try: new_event = EventController.new_event(dict(urlparse.parse_qsl(request.body))) except (InvalidEventException, InvalidFacebookEventPageException, EventAlreadyExistsException) as e: return HttpResponse( content=e.error_message, status=500 ) else: return HttpResponse(serializers.serialize('json', [new_event])) # Return a JSON hash of the new event else: return HttpResponseNotAllowed(['GET', 'POST'])
def handle(self, *args, **options): if len(args): self.stdout.write('refreshevents takes no arguments \n') return # Gather new collegiatelink events EventController().fetch_collegiatelink_events(); self.stdout.write('gathered collegiatelink events \n') # Gather new Facebook events from watched pages facebook_event_pages = FacebookEventPageController().facebook_event_pages() for event_page in facebook_event_pages: FacebookEventPageController().scrape_page_events(event_page) self.stdout.write('gathered Facebook page events \n')
def get_context_data(self, **kwargs): num_activities = self.request.GET.get('num_activities', 10) try: num_activities = int(num_activities) except TypeError: num_activities = 10 dtnow = datetime.datetime.now() qs_date_from = self.request.GET.get('from') qs_date_to = self.request.GET.get('to') if qs_date_from: try: date_from = datetime.datetime.strptime(qs_date_from, '%Y-%m-%d') except ValueError: date_from = dtnow.replace(hour=0, minute=0, second=0, microsecond=0) else: date_from = dtnow.replace(hour=0, minute=0, second=0, microsecond=0) if qs_date_to: try: date_to = datetime.datetime.strptime(qs_date_to, '%Y-%m-%d') except ValueError: date_to = date_from + datetime.timedelta(days=1) else: date_to = date_from + datetime.timedelta(days=1) context = super(HomeView, self).get_context_data(**kwargs) context['activities'] = Activity.objects.all()[:num_activities] context['all_nav'] = True context['events'] = EventController.approved_events().filter( start__gte=date_from, start__lt=date_to) return context