Esempio n. 1
0
def post_to_facebook(request, id):
    event = Event.events.get(pk=id)
    if request.user.id == event.owner.id:
        if not event.facebook_event:
            try:
                facebook_event_id = facebook_services.create_facebook_event(event, request)
                facebook_services.attach_facebook_event(int(facebook_event_id), event)
                messages.success(request, 'Event was successfully posted to FB.')
            except Exception as e:
                messages.error(request, e.message)
        else:
            messages.error(request, 'Event has already been posted to FB.')
    else:
        messages.error(request, 'You do not have permission to publish this event.')

    return HttpResponseRedirect(reverse('event_view', kwargs={'slug': event.slug}))
Esempio n. 2
0
def create_from_facebook(request):
    if request.method == 'POST':
        success = False
        form = CreateEventForm(account=request.account, data=request.POST)
        if form.is_valid():
            try:
                facebook_event_id = request.POST['facebook_event_id']
                event = event_service.save_event(request.user, request.POST, form)
                facebook_services.attach_facebook_event(int(facebook_event_id), event)
                success = True
            except Exception:
                form._errors['__all__'] = ErrorList(["Unhandled exception. Please inform administrator."])
            info = ''
        else:
            info = form.errors['__all__'][0]

        return HttpResponse(
            json.dumps({'success': success, 'info': info}),
            mimetype='application/json')
    else:
        event_data = facebook_services.get_prepared_event_data(request, request.GET)
        form = CreateEventForm(account=request.account, data=event_data)
        return render_to_response('events/create/create_event_popup.html', {'form': form},
                                  context_instance=RequestContext(request))