예제 #1
0
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()
		})
예제 #2
0
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'])
예제 #3
0
    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
예제 #4
0
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
예제 #5
0
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'])
예제 #6
0
    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')
예제 #7
0
    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