Esempio n. 1
0
def create(request):
    if request.method == 'POST':
        # save new evento
        title = request.POST['title']
        description = request.POST['description']
        date_start = request.POST['date_start']
        date_end = request.POST['date_end']
        lat = request.POST['lat']
        lng = request.POST['lng']
        #image = request.FILES['image']

        event = Event(title=title)
        event.last_update = datetime.datetime.now()
        event.description = description
        event.date_start =  datetime.datetime.strptime(date_start, '%d/%m/%Y %H:%M')
        if not date_end:
            event.date_end = None
        else:
            event.date_end =  datetime.datetime.strptime(date_end, '%d/%m/%Y %H:%M')
        event.location =  [float(lat),float(lng)]
        user_id = request.session.get('userid')
        user = Account.objects(id=user_id)[0]

        event.user = user
        event.user_going = [user]
        #im = Image.open(image)
        #event.image.put(open(im))
        event.save()
        Account.objects(id=user_id).update_one(push__event_going=event)

        return HttpResponseRedirect(reverse('event-list'))

    return render_to_response('event/event_create.html',{
             'request':request},
                              context_instance=RequestContext(request))
Esempio n. 2
0
def delete(request, event_id):
    user_id = request.session.get('userid')
    user = Account.objects(id=user_id)[0]
    event = get_document_or_404(Event, id=event_id, user=user)

    Account.objects().update(pull__event_going=event)
    Account.objects().update(pull__event_maybe=event)

    event.delete() 
    return HttpResponseRedirect(reverse('event-list'))
Esempio n. 3
0
def list(request):
    # Get all events from DB
    user = Account.objects(id=request.session.get('userid'))[0]
    events = Event.objects(user=user)
    return render_to_response('event/event_list.html', {'event_list': events,
             'request':request},
                              context_instance=RequestContext(request))
Esempio n. 4
0
def eventGoing(request):
    user = Account.objects(id=request.session.get('userid'))[0]
    events = Event.objects(user_going__in=[user])
    return render_to_response('event/event_list_readonly.html', {
        'event_list': events,
        'request':request },
        context_instance=RequestContext(request))
Esempio n. 5
0
def detail(request, event_id):
    event = get_document_or_404(Event, id=event_id)
    
    if event.date_start:
        event.date_start = event.date_start.strftime('%d/%m/%Y %H:%M') 
    if event.date_end:
        event.date_end = event.date_end.strftime('%d/%m/%Y %H:%M')
    if event.location:
        event.lat = event.location[0]
        event.lng = event.location[1]

    if request.session.get('userid'):
        template = 'event/event_detail.html'

        user = Account.objects(id=request.session.get('userid'))[0]
        event.going = Event.objects(user_going__in=[user], id=event_id)
        event.going = 'active' if event.going else ''
        event.maybe = Event.objects(user_maybe__in=[user], id=event_id)
        event.maybe = 'active' if event.maybe else ''
        event.decline = Event.objects(user_decline__in=[user], id=event_id)
        event.decline = 'active' if event.decline else ''

    else:
        template = 'event/event_detail_nologin.html'


    params = {'event':event,
             'request':request}
   
    return render_to_response(template, params, context_instance=RequestContext(request))
Esempio n. 6
0
def edit(request, event_id):
    user = Account.objects(id=request.session.get('userid'))[0]
    event = get_document_or_404(Event, id=event_id, user=user)
    
    if request.method == 'POST':
        # update field values and save to mongo
        title = request.POST['title']
        description = request.POST['description']
        date_start = request.POST['date_start']
        date_end = request.POST['date_end']
        lat = request.POST['lat']
        lng = request.POST['lng']
        #image = request.FILES['image']

        event.title = title
        event.last_update = datetime.datetime.now()
        event.description = description
        event.date_start =  datetime.datetime.strptime(date_start, '%d/%m/%Y %H:%M')
        if not date_end:
            event.date_end = None
        else:
            event.date_end =  datetime.datetime.strptime(date_end, '%d/%m/%Y %H:%M')
        event.location =  [float(lat),float(lng)]
        event.user = user
        #event.image = request.FILES['image']
        event.save()
        
        return HttpResponseRedirect(reverse('event-list'))

    elif request.method == 'GET':
        template = 'event/event_edit.html'
        if event.date_start:
            event.date_start = event.date_start.strftime('%d/%m/%Y %H:%M') 
        if event.date_end:
            event.date_end = event.date_end.strftime('%d/%m/%Y %H:%M')
        if event.location:
            event.lat = event.location[0]
            event.lng = event.location[1]
        params = {'event':event,
             'request':request}
   
    return render_to_response(template, params, context_instance=RequestContext(request))
Esempio n. 7
0
def get_user(request):
	user_id = request.session.get('userid')
	return Account.objects(id=user_id)[0].name
Esempio n. 8
0
def join(request, event_id):
    event = get_document_or_404(Event, id=event_id)
    user_id = request.session.get('userid')
    user = Account.objects(id=user_id)[0]

    action = request.POST['action']
    if action == 'going':
        Account.objects(id=user_id).update_one(push__event_going=event)
        Account.objects(id=user_id).update_one(pull__event_maybe=event)
        Account.objects(id=user_id).update_one(pull__event_decline=event)
        Account.objects(id=user_id).update_one(pull__event_invite=event)

        Event.objects(id=event_id).update_one(push__user_going=user)
        Event.objects(id=event_id).update_one(pull__user_maybe=user)
        Event.objects(id=event_id).update_one(pull__user_decline=user)
        Event.objects(id=event_id).update_one(pull__user_invite=user)

    elif action == 'maybe':
        Account.objects(id=user_id).update_one(pull__event_going=event)
        Account.objects(id=user_id).update_one(push__event_maybe=event)
        Account.objects(id=user_id).update_one(pull__event_decline=event)
        Account.objects(id=user_id).update_one(pull__event_invite=event)

        Event.objects(id=event_id).update_one(pull__user_going=user)
        Event.objects(id=event_id).update_one(push__user_maybe=user)
        Event.objects(id=event_id).update_one(pull__user_decline=user)
        Event.objects(id=event_id).update_one(pull__user_invite=user)

    elif action == 'decline':
        Account.objects(id=user_id).update_one(pull__event_going=event)
        Account.objects(id=user_id).update_one(pull__event_maybe=event)
        Account.objects(id=user_id).update_one(push__event_decline=event)
        Account.objects(id=user_id).update_one(pull__event_invite=event)

        Event.objects(id=event_id).update_one(pull__user_going=user)
        Event.objects(id=event_id).update_one(pull__user_maybe=user)
        Event.objects(id=event_id).update_one(push__user_decline=user)
        Event.objects(id=event_id).update_one(pull__user_invite=user)
    
    data = json.dumps({'sucess':'ok'})
    return HttpResponse(data,content_type='application/json')
Esempio n. 9
0
def rest(request, event_id=None):
    
    if request.method == 'POST':
        title = request.POST['title']
        description = request.POST['description']
        date_start = request.POST['date_start']
        date_end = request.POST.get('date_end', None)
        lat = request.POST['lat']
        lng = request.POST['lng']
        #image = request.FILES['image']

        event = Event(title=title)
        event.last_update = datetime.datetime.now()
        event.description = description
        event.date_start =  datetime.datetime.strptime(date_start, '%d/%m/%Y %H:%M')
        if date_end:
            event.date_end =  datetime.datetime.strptime(date_end, '%d/%m/%Y %H:%M')
        event.location =  [float(lat),float(lng)]
        user_id = request.session.get('userid')
        user = Account.objects(id=user_id)[0]

        event.user = user
        event.user_going = [user]
        #im = Image.open(image)
        #event.image.put(open(im))
        event.save()
        Account.objects(id=user_id).update_one(push__event_going=event)

        data = json.dumps({'status':'ok'})

    elif event_id:
        user = Account.objects(id=request.session.get('userid'))[0]
        event = Event.objects(id=event_id, user=user)[0]

        if request.method == 'PUT':
            # update field values and save to mongo
            data = JSONParser().parse(request)
            title = data['title']
            description = data['description']
            date_start = data['date_start']
            date_end = data['date_end']
            lat = data['lat']
            lng = data['lng']
            #image = request.FILES['image']

            event.title = title
            event.last_update = datetime.datetime.now()
            event.description = description
            event.date_start =  datetime.datetime.strptime(date_start, '%d/%m/%Y %H:%M')
            if not date_end:
                event.date_end = None
            else:
                event.date_end =  datetime.datetime.strptime(date_end, '%d/%m/%Y %H:%M')
            event.location =  [float(lat),float(lng)]
            event.user = user
            #event.image = request.FILES['image']
            event.save()
            
            data = json.dumps({'status':'ok'})

        elif request.method == 'GET':

            data = {
                'id': str(event.id),
                'title': event.title,
                'description': event.description,
                'location': {
                    'lat': event.location[0],
                    'lng': event.location[1]
                },
                'date_start': str(event.date_start.strftime('%d/%m/%Y %H:%M')) if event.date_start else '',
                'date_end':  str(event.date_end.strftime('%d/%m/%Y %H:%M')) if event.date_end else ''
            } 
            data = json.dumps(data)

        elif request.method == 'DELETE':

            Account.objects().update(pull__event_going=event)
            Account.objects().update(pull__event_maybe=event)

            event.delete() 

            data = json.dumps({'status':'ok'})

    else:

        data = json.dumps({'status':'error'})


    return HttpResponse(data,content_type='application/json')