コード例 #1
0
ファイル: views.py プロジェクト: svjt78/intellidata
def VersionEvent(request, pk):
    # dictionary for initial data with
    # field names as keys
    context = {}

    # fetch the object related to passed id
    obj = get_object_or_404(Event, pk=pk)
    #obj.photo.delete()
    #obj.photo.open(mode='rb')

    # pass the object as instance in form
    form = EventForm(request.POST or None, instance=obj)

    # save the data from the form and
    # redirect to detail_view
    if form.is_valid():
        obj.pk = int(round(time.time() * 1000))
        #form.photo = request.POST.get('photo', False)
        #form.photo = request.FILES['photo']
        form.instance.creator = request.user
        form.instance.record_status = "Created"
        form.save()
        return HttpResponseRedirect(reverse("events:all"))

    else:

        # add form dictionary to context
        context["form"] = form

        return render(request, "events/event_form.html", context)
コード例 #2
0
def event_update(request, event_id):
    event_obj = get_object_or_404(Event, pk=event_id)
    if not (request.user.role == 'ADMIN' or request.user.is_superuser
            or event_obj.created_by == request.user
            or request.user in event_obj.assigned_to.all()):
        raise PermissionDenied

    if request.method == 'GET':
        context = {}
        context["event_obj"] = event_obj
        context["form"] = EventForm(instance=event_obj,
                                    request_user=request.user)
        selected_recurring_days = Event.objects.filter(
            name=event_obj.name).values_list('date_of_meeting', flat=True)
        selected_recurring_days = [
            day.strftime('%A') for day in selected_recurring_days
        ]
        context['selected_recurring_days'] = selected_recurring_days
        return render(request, 'event_create.html', context)

    if request.method == 'POST':
        form = EventForm(request.POST,
                         instance=event_obj,
                         request_user=request.user)
        if form.is_valid():
            start_date = form.cleaned_data.get('start_date')
            end_date = form.cleaned_data.get('end_date')
            # recurring_days
            # recurring_days = request.POST.getlist('days')

            if form.cleaned_data.get('event_type') == 'Non-Recurring':
                event = form.save(commit=False)
                event.date_of_meeting = start_date
                # event.created_by = request.user
                event.save()
                form.save_m2m()
                send_email.delay(event.id,
                                 domain=request.get_host(),
                                 protocol=request.scheme)

            if form.cleaned_data.get('event_type') == 'Recurring':
                event = form.save(commit=False)
                event.save()
                form.save_m2m()
                send_email.delay(event.id,
                                 domain=request.get_host(),
                                 protocol=request.scheme)

                # event.contacts.add(*request.POST.getlist('contacts'))
                # event.assigned_to.add(*request.POST.getlist('assigned_to'))

            return JsonResponse({
                'error': False,
                'success_url': reverse('events:events_list')
            })
        else:
            return JsonResponse({
                'error': True,
                'errors': form.errors,
            })
コード例 #3
0
ファイル: views.py プロジェクト: sigurdga/nidarholm
def edit_event(request, id):
    if request.method == 'POST':
        event = get_object_or_404(Event, id=id)
        form = EventForm(request.POST, instance=event)
        if form.is_valid():
            form.save(commit=False)
            event.save()
            return HttpResponseRedirect(event.get_absolute_url())
    else:
        event = get_object_or_404(Event, id=id)
        form = EventForm(instance=event)
    return render_to_response('events/new_event.html', {'form': form, 'object': event}, context_instance=RequestContext(request))
コード例 #4
0
def event_update(request, pk, template_name="events/event_form.html"):
    if request.user.is_superuser:
        event = get_object_or_404(Event, pk=pk)
    else:
        event = get_object_or_404(Event, pk=pk)
    form = EventForm(request.POST or None, instance=event)

    if form.is_valid():
        form.save()
        return redirect(f"/events/{pk}")

    return render(request, template_name, {"form": form})
コード例 #5
0
def add(request):
    if request.method == 'GET':
        form = EventForm()
        return render(request, 'add.html', {
            'form': form,
        })
    else:
        form = EventForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return redirect('/manage')
        else:
            return HttpResponse("not added event")
コード例 #6
0
ファイル: views.py プロジェクト: bmease/thanksPearl
def event_create(request):
    if request.method == 'POST':
        eventform = EventForm(request.POST)
        if eventform.is_valid():
            eventform.save()
    else:
        eventform = EventForm()

    print eventform
    return render_to_response('events/event-create.html',
                              {'eventform': eventform},
                              context_instance=RequestContext(request)
                             )
コード例 #7
0
def createEvent(request):
    if request.method == 'POST':
        form = EventForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return redirect('/events')
        else:
            return render(request, 'newEvent.html', {'form': form})

    else:
        form = EventForm()
        args = {'form': form}
        return render(request, "newEvent.html", args)
コード例 #8
0
ファイル: views.py プロジェクト: naderm/farnsworth
def list_all_events_view(request):
    ''' A list view of all events.  Part of archives. '''
    page_name = "Archives - All Events"
    profile = UserProfile.objects.get(user=request.user)

    event_form = EventForm(
        request.POST if "post_event" in request.POST else None,
        profile=profile,
        )

    if event_form.is_valid():
        event_form.save()
        return HttpResponseRedirect(reverse('events:all'))

    # a pseudo-dictionary, actually a list with items of form (event, ongoing,
    # rsvpd, rsvp_form, already_past), where ongoing is a boolean of whether the
    # event is currently ongoing, rsvpd is a boolean of whether the user has
    # rsvp'd to the event
    events_dict = list()
    for event in Event.objects.all():
        rsvp_form = None
        if event.end_time > now():
            rsvp_form = RsvpForm(
                request.POST if "rsvp-{0}".format(event.pk) in request.POST else None,
                instance=event,
                profile=profile,
                )
            if rsvp_form.is_valid():
                rsvpd = rsvp_form.save()
                if rsvpd:
                    message = MESSAGES['RSVP_ADD'].format(event=event.title)
                else:
                    message = MESSAGES['RSVP_REMOVE'].format(event=event.title)
                messages.add_message(request, messages.SUCCESS, message)
                return HttpResponseRedirect(reverse('events:all'))

        ongoing = event.start_time <= now() and event.end_time >= now()
        rsvpd = profile in event.rsvps.all()
        events_dict.append(
            (event, ongoing, rsvpd, rsvp_form)
            )

    if request.method == "POST":
        messages.add_message(request, messages.ERROR, MESSAGES["EVENT_ERROR"])

    return render_to_response('list_events.html', {
        'page_name': page_name,
        'events_dict': events_dict,
        'now': now(),
        'event_form': event_form,
        }, context_instance=RequestContext(request))
コード例 #9
0
def list_all_events_view(request):
    ''' A list view of all events.  Part of archives. '''
    page_name = "Archives - All Events"
    profile = UserProfile.objects.get(user=request.user)

    event_form = EventForm(
        request.POST if "post_event" in request.POST else None,
        profile=profile,
    )

    if event_form.is_valid():
        event_form.save()
        return HttpResponseRedirect(reverse('events:all'))

    # a pseudo-dictionary, actually a list with items of form (event, ongoing,
    # rsvpd, rsvp_form, already_past), where ongoing is a boolean of whether the
    # event is currently ongoing, rsvpd is a boolean of whether the user has
    # rsvp'd to the event
    events_dict = list()
    for event in Event.objects.all():
        rsvp_form = None
        if event.end_time > now():
            rsvp_form = RsvpForm(
                request.POST
                if "rsvp-{0}".format(event.pk) in request.POST else None,
                instance=event,
                profile=profile,
            )
            if rsvp_form.is_valid():
                rsvpd = rsvp_form.save()
                if rsvpd:
                    message = MESSAGES['RSVP_ADD'].format(event=event.title)
                else:
                    message = MESSAGES['RSVP_REMOVE'].format(event=event.title)
                messages.add_message(request, messages.SUCCESS, message)
                return HttpResponseRedirect(reverse('events:all'))

        ongoing = event.start_time <= now() and event.end_time >= now()
        rsvpd = profile in event.rsvps.all()
        events_dict.append((event, ongoing, rsvpd, rsvp_form))

    if request.method == "POST":
        messages.add_message(request, messages.ERROR, MESSAGES["EVENT_ERROR"])

    return render_to_response('list_events.html', {
        'page_name': page_name,
        'events_dict': events_dict,
        'now': now(),
        'event_form': event_form,
    },
                              context_instance=RequestContext(request))
コード例 #10
0
ファイル: views.py プロジェクト: armada-ths/ais
def event_edit(request, year, pk):
    fair = get_object_or_404(Fair, year=year)
    event = get_object_or_404(Event, pk=pk, fair=fair)

    participants = Participant.objects.filter(
        event=event).select_related('user_s__profile').all()
    signup_questions = event.signupquestion_set.all()

    react_props = {
        'questions': [
            serializers.signup_question(question)
            for question in signup_questions
        ],
        'question_types':
        dict(SignupQuestion.QUESTION_TYPES)
    }

    print(request.FILES)
    form = EventForm(request.POST or None,
                     request.FILES or None,
                     instance=event)

    users = [
        recruitment_application.user
        for recruitment_application in RecruitmentApplication.objects.filter(
            status='accepted', recruitment_period__fair=event.fair).order_by(
                'user__first_name', 'user__last_name')
    ]
    form.fields['contact_person'].choices = [('', '---------')] + [
        (user.pk, user.get_full_name())
        for user in users if user.has_perm('companies.base')
    ]

    if request.POST and form.is_valid():
        form.save()

        questions_data = json.loads(request.POST['questions'])

        save_questions(questions_data, event)
        return HttpResponse(status=204)

    return render(
        request, 'events/event_edit.html', {
            'fair': fair,
            'event': event,
            'participants': participants,
            'questions': signup_questions,
            'form': form,
            'react_props': json.dumps(react_props)
        })
コード例 #11
0
ファイル: views.py プロジェクト: tHeMaskedMan981/ecell_app
def addEvent(request):
    if request.method == 'POST':
        event_form = EventForm(request.POST)
        if event_form.is_valid():
            event_form.save()

            # messages.success(request, _('Your profile was successfully updated!'))
            return redirect('event-list')
        else:
            pass
            # messages.error(request, _('Please correct the error below.'))
    else:
        event_form = EventForm()

    return render(request, 'addevent.html', {'event_form': event_form})
コード例 #12
0
ファイル: views.py プロジェクト: MGonen/ticket-exchange
    def post(self, request):
        # Temporary part of the method to create tickets for test purposes
        if 'test_baseticket' in request.POST:
            response = create_test_baseticket()
            return response

        event_form = EventForm(request.POST)
        base_ticket_price_form = BaseTicketPriceForm(request.POST)
        upload_form = UploadBaseTicketNew(request.POST, request.FILES)

        if not(event_form.is_valid() and base_ticket_price_form.is_valid() and upload_form.is_valid()):
            return render(request, self.template_name,
                              {'upload_form': upload_form, 'event_form': event_form,
                               'base_ticket_price_form': base_ticket_price_form, 'pdf_exists': 'false'})

        # if the forms were valid
        pdf_file = request.FILES['pdf_file']
        price = request.POST.get('price')

        pdf_object = ProcessBaseTicket(pdf_file)

        if not pdf_object.successful:
            messages.add_message(request, messages.ERROR, pdf_object.message)
            return render(request, self.template_name,
                              {'upload_form': upload_form, 'event_form': event_form,
                               'base_ticket_price_form': base_ticket_price_form, 'pdf_exists': 'false'})

        event = event_form.save()
        self.create_base_ticket(pdf_object, event, price)

        messages.add_message(request, messages.SUCCESS, message_text.event_creation_successful)
        return redirect('buy_ticket:available_tickets', event.id)
コード例 #13
0
def edit_event_view(request, event_pk):
    ''' The view to edit an event. '''
    page_name = "Edit Event"
    profile = UserProfile.objects.get(user=request.user)
    event = get_object_or_404(Event, pk=event_pk)
    if event.owner != profile and not request.user.is_superuser:
        return HttpResponseRedirect(
            reverse('events:view', kwargs={"event_pk": event_pk}), )
    event_form = EventForm(
        request.POST or None,
        profile=profile,
        instance=event,
    )
    if event_form.is_valid():
        event = event_form.save()
        messages.add_message(
            request,
            messages.SUCCESS,
            MESSAGES['EVENT_UPDATED'].format(event=event.title),
        )
        return HttpResponseRedirect(
            reverse('events:view', kwargs={"event_pk": event_pk}), )
    return render_to_response('edit_event.html', {
        'page_name': page_name,
        'event_form': event_form,
    },
                              context_instance=RequestContext(request))
コード例 #14
0
ファイル: views.py プロジェクト: jonycse/django_project
def create(request):
    form = EventForm(request.POST or None)
    if form.is_valid():
        event = form.save(commit=False)
        event.creator = request.user
        g_d = None
        for  word in event.description.split():
            try:
                g_d = parse(word, fuzzy=True)
                break
            except :
                continue
        event.start_date = g_d
        event.save()

        #request.user.message_set.create(message="Event posted successfully.")

        if 'next' in request.POST:
            next = request.POST['next']
        else:
            next = reverse('ev_tonight')

        return HttpResponseRedirect(next)
    else:
        return render_to_response(
            'event/create.html',
            {'form':form},
            context_instance = RequestContext(request)
        )
コード例 #15
0
def create(request):
	form = EventForm(request.POST or None)
	if form.is_valid():
		event = form.save(commit=False)
		event.creator = request.user
		guessed_date = None

		for word in event.description.split():
			try:
				guessed_date = parse(word)
				break
			except ValueError:
				continue
		event.start_date = guessed_date
		event.save()
		messages.success(request, "Your event was posted")
		if 'next' in request.POST:
			next = request.POST['next']
		else:
			next = reverse('ev_tonight')
		return HttpResponseRedirect(next)
	return render_to_response(
		'events/create.html',
		{'form':form},
		context_instance = RequestContext(request)
	)
コード例 #16
0
def create(request):
	form = EventForm(request.POST or None)
	if form.is_valid():
		event = form.save(commit=False)
		event.creator = request.user
		guessed_date = None
		for word in event.description.split():
			try:
				guessed_date = parse(word)
				break
			except ValueError:
				pass
		event.start_date = guessed_date
		event.save()
		
		messages.success(request, 'Your event was posted')
		if 'next' in request.POST:
			next = request.POST['next']
		else:
			next = reverse('ev_tonight')
		return HttpResponseRedirect(next)
	return render_to_response(
		'events/create.html',
		RequestContext(request, {'form':form})
	)
コード例 #17
0
ファイル: views.py プロジェクト: emperorcezar/OpenConnect
def edit(request, id):
    instance = get(Event, pk=id)

    after_add = request.GET.get('after_add', None)

    pricing = instance.pricing_set.all()
    
    if request.method == 'POST':
        form = EventForm(request.POST, instance = instance)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('events'))
    else:
        form = EventForm(instance = instance)

    return render_to_response('event_edit.html', locals())
コード例 #18
0
def change(request, id):
    # visibility check
    event = get_object_or_404(Event, pk=id)
    parent = helpers.get_obj(ct=event.content_type, id=event.object_id)
    if not helpers.is_visible(request.user, parent):
        return render_to_response('denied.html',
                                  context_instance=RequestContext(request))

    if request.method == 'POST':
        #request.POST.update( { 'owner':request.user.id, 'object_id':id,
        #        'content_type':ct.id, 'content_obj': obj, } )
        form = EventForm(request.POST, instance=event)

        if form.is_valid():
            ev = form.save()
            return HttpResponseRedirect(ev.get_absolute_url())
    else:
        form = EventForm(instance=event)

    context = {
        'form': form,
        'object': parent,
        'content_type': event.content_type
    }
    context.update(locals())

    return render_to_response('events/events_add.html', context,\
            context_instance = RequestContext(request))
コード例 #19
0
def edit_event(request, id):
    if request.method == 'POST':
        event = get_object_or_404(Event, id=id)
        form = EventForm(request.POST, instance=event)
        if form.is_valid():
            form.save(commit=False)
            event.save()
            return HttpResponseRedirect(event.get_absolute_url())
    else:
        event = get_object_or_404(Event, id=id)
        form = EventForm(instance=event)
    return render_to_response('events/new_event.html', {
        'form': form,
        'object': event
    },
                              context_instance=RequestContext(request))
コード例 #20
0
ファイル: views.py プロジェクト: naderm/farnsworth
def edit_event_view(request, event_pk):
    ''' The view to edit an event. '''
    page_name = "Edit Event"
    profile = UserProfile.objects.get(user=request.user)
    event = get_object_or_404(Event, pk=event_pk)
    if event.owner != profile and not request.user.is_superuser:
        return HttpResponseRedirect(
            reverse('events:view', kwargs={"event_pk": event_pk}),
            )
    event_form = EventForm(
        request.POST or None,
        profile=profile,
        instance=event,
        )
    if event_form.is_valid():
        event = event_form.save()
        messages.add_message(
            request, messages.SUCCESS,
            MESSAGES['EVENT_UPDATED'].format(event=event.title),
            )
        return HttpResponseRedirect(
            reverse('events:view', kwargs={"event_pk": event_pk}),
            )
    return render_to_response('edit_event.html', {
        'page_name': page_name,
        'event_form': event_form,
        }, context_instance=RequestContext(request))
コード例 #21
0
ファイル: views.py プロジェクト: skyl/django-eventpickrs
def add(request, app_label, model_name, id):
    ''' Tag an event to another model object '''

    try:
        ct = ContentType.objects.get(\
                app_label = app_label,
                model = model_name)
        obj = ct.get_object_for_this_type( id=id )

    except:
        return HttpResponseNotFound()

    if request.method == 'POST':
        #request.POST.update( { 'owner':request.user.id, 'object_id':id,
        #        'content_type':ct.id, 'content_obj': obj, } )
        form = EventForm(request.POST)

        if form.is_valid():
            ev = form.save(commit=False)
            ev.owner = request.user
            ev.object_id = obj.id
            ev.content_type = ct
            ev.save()


            return HttpResponseRedirect(ev.get_absolute_url())

    else:
        form = EventForm()

    context = { 'form':form, 'object':obj, 'content_type':ct, }
    context.update(locals())

    return render_to_response('events/events_add.html', context,\
            context_instance = RequestContext(request))
コード例 #22
0
def user_account(request):
    username = request.user
    user = User.objects.get(username = username)
    if request.method == 'POST':
        form = EventForm(request.POST, request.FILES)
        if form.is_valid():
            new_event = form.save(commit=False)
            new_event.author = request.user
            new_event.event_time = timezone.now()
            new_event.save()
            return HttpResponseRedirect(request.path)
    else:
        form = EventForm()

    user_events = Event.objects.filter(author = user).order_by("-event_time")
    page = request.GET.get('page', 1)
    paginator = Paginator(user_events, 10)
    try:
      event_list = paginator.page(page)
    except PageNotAnInteger:
      event_list = paginator.page(1)
    except EmptyPage:
      event_list = paginator.page(paginator.num_pages)

    followers = Follower.objects.filter(follower_for = request.user)
    context = {'user': user, 'form':form, 'user_events': event_list, 'followers': followers}
    return render(request, 'account/account.html', context)
コード例 #23
0
def add_event(request):

    if request.method == 'GET':
        event_list = Event.objects.all()
        return render(request, 'admin/event-add.html',
                      {'event_list': event_list})

    validate_event = EventForm(request.POST)
    errors = {}
    if validate_event.is_valid():
        if validate_event.cleaned_data[
                'end_date'] and validate_event.cleaned_data['start_date']:
            if validate_event.cleaned_data[
                    'start_date'] > validate_event.cleaned_data['end_date']:
                errors[
                    'date_err'] = 'Start Date should not greater than End Date'
                return JsonResponse(errors)

        if 'image' not in request.FILES:
            errors['image'] = 'Please upload Image'
            return JsonResponse(errors)

        new_event = validate_event.save(commit=False)
        new_event.image = request.FILES['image']
        new_event.save()
        data = {"data": 'event created successfully', "error": False}
        return JsonResponse(data)

    for k in validate_event.errors:
        errors[k] = validate_event.errors[k][0]
    if 'image' not in request.FILES:
        errors['image'] = 'Please upload Image'

    return JsonResponse(errors)
コード例 #24
0
ファイル: views.py プロジェクト: ScottRoberts0/cosc224
def event_form(request):
    if request.method == 'POST':
        form = EventForm(request.POST)
        if form.is_valid():
            hour = form['hour'].value()
            minute = form['minute'].value()
            meridiem = form['meridiem'].value()
            if meridiem == 'PM' and not int('0' + hour) == 12:
                hour = int('0' + hour) + 12
                hour = str(hour)
            elif meridiem == 'AM' and int('0' + hour) == 12:
                hour = int('0' + hour) - 12
                hour = str(hour)
            age_requirement = form['age_requirement'].value()
            age = form['age'].value()
            if age_requirement == 'Must be older than' or age_requirement == 'Must be younger than':
                age_requirement = str(age_requirement + " " + str(age) +
                                      " year(s) old")
            else:
                age_requirement = str(age_requirement)
            event = form.save(commit=False)
            start_time = str(hour + ':' + minute + " " + meridiem)
            event.start_time = start_time
            event.age_requirement = age_requirement
            event.user_id = request.user.pk
            event.save()
            messages.add_message(request,
                                 messages.INFO,
                                 'Event successfully created!',
                                 extra_tags='alert-success')
            return HttpResponseRedirect('/events/' + str(event.id))
    else:
        form = EventForm()
    return render(request, 'events/event.html', {'form': form})
コード例 #25
0
def editEvent(request,eventid):
    eventid = int(eventid)
    event = Event.objects.get(id=eventid)
    originaltags = event.tags
    if request.user.id == event.user.id :
        if request.method == "GET" :
            mlogger.debug("the person who posted the event is editing")
            form = EventForm(instance=event,initial={'tags':' '.join(event.tags.values_list('name',flat=True))},user=request.user)            
            return render_to_response('events/create_event.html',{'form':form,'editmode':True},RequestContext(request))
        elif request.method == "POST":            
            form = EventForm(request.POST,instance=event,user=request.user)
            if form.is_valid() :
                   newevent = form.save(commit=False)
                   newevent.save()                   
                   removeUserTagWeights(originaltags,request.user,settings.CONTRIBUTION_WEIGHT)
                   newevent.tags = form.cleaned_data['tags']
                   assignUserTagWeights(newevent.tags,request.user,settings.CONTRIBUTION_WEIGHT)               
                   if event.sendemail is not None :
                        emaillist = event.sendemail.getEmailList(request.institute)                          
                        deliverEmail('event_created_subject.html','event_created.html',{'institute':request.institute,'event':event,'edit':True,'site':settings.SITE_URL},emaillist)
                    
                   create_message(request,"Successfuly edited the event")
                   return HttpResponseRedirect(reverse('agendaviewurl')) 
            else:      
                   return render_to_response('events/create_event.html',{'form':form,'editmode':True},RequestContext(request))  
            
    else :
        create_message(request,"You are not authorized to edit this event")
        return HttpResponseRedirect(reverse('agendaviewurl'))
コード例 #26
0
ファイル: views.py プロジェクト: KingKongOne/ais
def event_new(request, year):
    fair = get_object_or_404(Fair, year=year)

    react_props = {'question_types': dict(SignupQuestion.QUESTION_TYPES)}

    form = EventForm(request.POST or None)

    users = [
        recruitment_application.user
        for recruitment_application in RecruitmentApplication.objects.filter(
            status='accepted', recruitment_period__fair=fair).order_by(
                'user__first_name', 'user__last_name')
    ]
    form.fields['contact_person'].choices = [('', '---------')] + [
        (user.pk, user.get_full_name())
        for user in users if user.has_perm('companies.base')
    ]

    if request.POST and form.is_valid():
        event = form.save()
        questions_data = json.loads(request.POST['questions'])

        save_questions(questions_data, event)
        return HttpResponse(status=200)

    return render(request, 'events/event_new.html', {
        'fair': fair,
        'form': form,
        'react_props': react_props
    })
コード例 #27
0
def update(request):
    if request.method == 'GET':
        event = Event.objects.get(pk=request.GET['id'])
        form = EventForm(instance=event)

        return render(request, 'update.html', {
            'form': form,
            'id': event.id,
        })
    else:
        instance = Event.objects.get(pk=request.POST['id'])
        form = EventForm(request.POST, instance=instance)
        if form.is_valid():
            form.save()
            return redirect('/event/view/?id=' + request.POST['id'])
        else:
            return HttpResponse("could not update event")
コード例 #28
0
ファイル: views.py プロジェクト: samluescher/DjangoTutorial
def add(request):

    if request.method == "GET":
        form = EventForm()
    elif request.method == "POST":
        form = EventForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('events.views.index'))

    c = RequestContext(request)
    c.update({
        'form': form,
    })

    t = loader.get_template('events/add.html')
    return HttpResponse(t.render(c))
コード例 #29
0
ファイル: views.py プロジェクト: samluescher/DjangoTutorial
def add(request):

    if request.method == "GET":
        form = EventForm()
    elif request.method == "POST":
        form = EventForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('events.views.index'))

    c = RequestContext(request)
    c.update({
        'form': form,
    })

    t = loader.get_template('events/add.html')
    return HttpResponse(t.render(c))
コード例 #30
0
ファイル: views.py プロジェクト: Sagelt/DjangoFlock
def events_instance_edit(request, pk):
    event = Event.objects.get(pk=pk)
    if request.is_ajax():
        render_target = '_form.html'
    else:
        render_target = 'edit.html'
    if request.method == 'POST':
        form = EventForm(request.POST, instance=event)
        if form.is_valid():
            form.save(commit=False)
            return redirect(event)
    else:
        form = EventForm(instance=event)
    return render_to_response('events/%s' % render_target,
                              {'object': event,
                               'form': form,
                               'editing': True},
                              context_instance=RequestContext(request))
コード例 #31
0
def event_update(request,event_id):
    #embed()
    #was in sample but caused crash
    event = Event.objects.get(id=event_id)
    if event.owner == request.user:
        if request.method=="POST":
            form = EventForm(request.POST, instance=event)
            if form.is_valid():
                form.save()
                return HttpResponseRedirect(reverse('event_profile',kwargs={'event_id':event_id}))
            else:
                return HttpResponseRedirect('/')
    else:
        return HttpResponse('You are not the owner of this event')
        
    form = EventForm(instance=event)
    return render(request,'events/event_update.html',{
            'form':form
        })
コード例 #32
0
ファイル: views.py プロジェクト: marceloFA/deadlines_app
def event_create(request, template_name="events/event_form.html"):
    form = EventForm(request.POST or None)

    if form.is_valid():
        event = form.save(commit=False)
        event.user = request.user
        event.save()
        return redirect("events:event_list")

    return render(request, template_name, {"form": form})
コード例 #33
0
ファイル: views.py プロジェクト: emperorcezar/OpenConnect
def add(request):
    if request.method == 'POST':
        form = EventForm(request.POST)
        if form.is_valid():
            event = form.save()
            return HttpResponseRedirect(reverse('event-edit', args=[event.id])+'?after_add=1')
    else:
        form = EventForm()

    return render_to_response('event_add.html', locals())
コード例 #34
0
ファイル: views.py プロジェクト: nherson/farnsworth
def list_events_view(request):
    ''' A list view of upcoming events. '''
    page_name = "Upcoming Events"
    profile = UserProfile.objects.get(user=request.user)
    event_form = EventForm(
        request.POST if 'post_event' in request.POST else None,
        profile=profile,
        )
    now = datetime.datetime.utcnow().replace(tzinfo=utc)
    if event_form.is_valid():
        event_form.save()
        return HttpResponseRedirect(reverse('events:list'))
    # a pseudo-dictionary, actually a list with items of form (event, ongoing,
    # rsvpd, rsvp_form), where ongoing is a boolean of whether the event is
    # currently ongoing, rsvpd is a boolean of whether the user has rsvp'd to
    # the event
    events_dict = list()
    for event in Event.objects.filter(end_time__gte=now):
        rsvp_form = RsvpForm(
            request.POST if "rsvp-{0}".format(event.pk) in request.POST else None,
            instance=event,
            profile=profile,
            )
        if rsvp_form.is_valid():
            rsvpd = rsvp_form.save()
            if rsvpd:
                message = MESSAGES['RSVP_ADD'].format(event=event.title)
            else:
                message = MESSAGES['RSVP_REMOVE'].format(event=event.title)
            messages.add_message(request, messages.SUCCESS, message)
            return HttpResponseRedirect(reverse('events:list'))

        ongoing = ((event.start_time <= now) and (event.end_time >= now))
        rsvpd = (profile in event.rsvps.all())
        events_dict.append((event, ongoing, rsvpd, rsvp_form))

    return render_to_response('list_events.html', {
        'page_name': page_name,
        'events_dict': events_dict,
        'now': now,
        'event_form': event_form,
        }, context_instance=RequestContext(request))
コード例 #35
0
ファイル: views.py プロジェクト: sanchitbareja/cetweb
def create_event(request):
    """
        Creates an event.
    """
    form = EventForm()
    if request.method == "POST":
        form = EventForm(request.POST,request.FILES)
        if form.is_valid():
            event = form.save()
            return HttpResponseRedirect(reverse("event",args=(event.pk,)))
    return render_to_response("events/event_form.html",{"form":form},context_instance=RequestContext(request))
コード例 #36
0
ファイル: views.py プロジェクト: samluescher/DjangoTutorial
def edit(request, object_id):
    try:
        event = Event.objects.get(pk=object_id)
    except Event.DoesNotExist:
        raise Http404()

    if request.method == "GET":
        form = EventForm(instance=event)
    elif request.method == "POST":
        form = EventForm(request.POST, instance=event)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('events.views.index'))    

    c = RequestContext(request)
    c.update({
        'form': form,
    })

    return render_to_response('events/add.html', context_instance=c)    
コード例 #37
0
ファイル: views.py プロジェクト: samluescher/DjangoTutorial
def edit(request, object_id):
    try:
        event = Event.objects.get(pk=object_id)
    except Event.DoesNotExist:
        raise Http404()

    if request.method == "GET":
        form = EventForm(instance=event)
    elif request.method == "POST":
        form = EventForm(request.POST, instance=event)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('events.views.index'))

    c = RequestContext(request)
    c.update({
        'form': form,
    })

    return render_to_response('events/add.html', context_instance=c)
コード例 #38
0
ファイル: views.py プロジェクト: sigurdga/nidarholm
def new_event(request):
    if request.method == 'POST':
        form = EventForm(request.POST)
        if form.is_valid():
            event = form.save(commit=False)
            event.user = request.user
            event.save()
            return HttpResponseRedirect('/events')
    else:
        event = Event()
        form = EventForm(instance=event)
    return render_to_response('events/new_event.html', {'form': form}, context_instance=RequestContext(request))
コード例 #39
0
ファイル: views.py プロジェクト: mazelx/esprova
def update_event(request, pk):
    event = Event.objects.get(pk=pk)

    eventForm = EventForm(request.POST or None, instance=event)
    race_list = event.get_races()
    created = request.GET.get('created')

    # if form sent
    if request.method == 'POST':

        if eventForm.is_valid():
            eventForm.save()

            if not event.event_mod_source:
                # creation
                messages.success(request, (
                    "L'événement {0} a bien été créé et sera publié "
                    "après validation par nos services".format(event.name)
                    ))
            else:
                # update
                messages.success(request, (
                    "L'événement {0} a bien été modifié et sera publié "
                    "après validation par nos services".format(event.event_mod_source.name)
                    ))

            return HttpResponseRedirect(reverse('list_race'))
    # if form init
    else:
        if event.validated:
            cloned_event = event.clone()
            print("event cloned")
            return HttpResponseRedirect(reverse('update_event', kwargs={'pk': cloned_event.pk}) + '?created=True')

    return render(request, 'events/event_edit.html', {'eventForm': eventForm,
                                                      'pk': pk,
                                                      'race_list': race_list,
                                                      'created': created or False,
                                                      })
コード例 #40
0
def new_event(request):
    if request.method == 'POST':
        form = EventForm(request.POST)
        if form.is_valid():
            event = form.save(commit=False)
            event.user = request.user
            event.save()
            return HttpResponseRedirect('/events')
    else:
        event = Event()
        form = EventForm(instance=event)
    return render_to_response('events/new_event.html', {'form': form},
                              context_instance=RequestContext(request))
コード例 #41
0
def event_form(request):
	if request.method == 'POST':
		form = EventForm(request.POST)
		if form.is_valid():
			cd = form.cleaned_data
			event = form.save(commit=False)
			event.user_id = request.user.pk
			event.save()
			messages.add_message(request, messages.INFO, 'Event successfully created!', extra_tags='alert-success')
			return HttpResponseRedirect('/events/' + str(event.id))
	else:
		form = EventForm()
	return render(request, 'events/event.html', {'form': form})
コード例 #42
0
ファイル: views.py プロジェクト: d3estudio/pepe
    def post(self, request, **kwargs):
        event_id = kwargs.get('event_id')
        obj = 'create'
        errors = {}
        status_code = 201
        obj = 'edit'
        if event_id is not None:
            try:
                event = get_object_or_404(Event, pk=event_id)
                form = EventForm(request.POST, instance=event)
                event_data = form.instance.to_dict()
            except Http404:
                event_data = {}
                status_code = 404
                errors = {'message': 'could not find event', 'code': status_code}
                return JsonResponse({
                    'object': obj,
                    'url': request.get_full_path(),
                    'data': [event_data],
                    'errors': [errors],
                    }, status=status_code)

        else:
            obj = 'create'
            form = EventForm(request.POST)

        if form.is_valid():
            form.save()
            event_data = form.instance.to_dict()
        else:
            errors = form.errors.as_json()
            status_code = 400
        return JsonResponse({
                'object': obj,
                'url': request.get_full_path(),
                'data': [event_data],
                'errors': [errors],
                }, status=status_code)
コード例 #43
0
ファイル: views.py プロジェクト: krips89/startthedark
def create(request):
    """
    Renders a form for creating a new ``Event`` instance, validates against that
    form, and creates the new instances.
    """
    form = EventForm(request.POST or None)
    if form.is_valid():
        event = form.save(commit=False)
        event.creator = request.user
        guessed_date = None
        # Ransack the description for possible datetime objects.  If we find one
        # then we set start_date as that found datetime.
        for word in event.description.split():
            try:
                guessed_date = parse(word)
                break
            except ValueError:
                continue
        event.start_date = guessed_date
        event.save()
        if 'next' in request.POST:
            next = request.POST['next']
        else:
            next = reverse('ev_tonight')
        if request.is_ajax():
            # If the request is AJAX, then render the created event and don't
            # create messages for the user.
            try:
                Attendance.objects.get(event=event, user=request.user)
                attending = True
            except Attendance.DoesNotExist:
                attending = False
            return render_to_response('events/event.html', {'event': event,
                'request': request, 'attending': attending, 
                'authenticated': True, 'event_num': 1, 'next': next})
        else:
            # If the request is not AJAX, then create messages for the user and
            # redirect them to the next page.
            request.user.message_set.create(
                message=_('Your event was posted.'))
            return HttpResponseRedirect(next)
    if request.is_ajax():
        raise Http404
    return render_to_response(
        'events/create.html',
        {'form': form},
        context_instance = RequestContext(request)
    )
コード例 #44
0
ファイル: views.py プロジェクト: bensums/subaqua-site
def add(request):
    if not request.user.is_staff:
        return HttpResponseForbidden() 
    if request.method == 'POST':
        form = EventForm(request.POST)
        if form.is_valid():
            # create and save new model
            event = form.save()
            return HttpResponseRedirect('/')
    else:
        form = EventForm()

    return render(request, 'events/add.html',
                             {
                                'form': form,
                             })
コード例 #45
0
ファイル: views.py プロジェクト: Sagelt/DjangoFlock
def events_new(request):
    if request.is_ajax():
        render_target = '_form.html'
    else:
        render_target = 'new.html'
    if request.method == 'POST':
        form = EventForm(request.POST)
        if form.is_valid():
            event = form.save(commit=False)
            event.host = request.user
            event.save()
            return redirect(event)
    else:
        form = EventForm(initial=request.GET.dict())
    return render_to_response('events/%s' % render_target,
                              {'form': form, 'editing': False},
                              context_instance=RequestContext(request))
コード例 #46
0
ファイル: views.py プロジェクト: teknolab/atolye
def event_form(request, id=None):
    if id:
        instance = get_object_or_404(Event, id=id)
    else:
        instance = None
    if request.method == 'POST':
        form = EventForm(data=request.POST, instance=instance)
        if form.is_valid():
            event = form.save(commit=False)
            event.user = request.user
            event.save()
            return HttpResponseRedirect(reverse('event_index'))
    else:
        form = EventForm(instance=instance)
    return render_to_response('events/form.html',
                              {'form': form},
                              context_instance=RequestContext(request))
コード例 #47
0
ファイル: views.py プロジェクト: adamfk/myewb2
def add(request, app_label, model_name, id):
    ''' Tag an event to another model object '''

    try:
        ct = ContentType.objects.get(\
                app_label = app_label,
                model = model_name)
        obj = ct.get_object_for_this_type( id=id )

    except:
        return HttpResponseNotFound()
    
    # visibility check
    if not helpers.is_visible(request.user, obj):
        return render_to_response('denied.html', context_instance=RequestContext(request))

    if request.method == 'POST':
        #request.POST.update( { 'owner':request.user.id, 'object_id':id,
        #        'content_type':ct.id, 'content_obj': obj, } )
        form = EventForm(request.POST)

        if form.is_valid():
            ev = form.save(commit=False)
            ev.owner = request.user
            ev.object_id = obj.id
            ev.content_type = ct
            ev.save()

            #AFK edits
            #create and link ChampInfo object if one doesn't already exist 
            if form.cleaned_data["champable"]:
                print "CHAMPCHAMPCHAMPCHAMPCHAMPCHAMPCHAMPCHAMPCHAMPCHAMPCHAMPable"
                if ChampInfo.objects.exists_by_event(event=ev) == False:
                    ChampInfo.new(ev) #create a new ChampInfo object linked to an empty values owner
                    print "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"

            return HttpResponseRedirect(ev.get_absolute_url())
    else:
        form = EventForm()

    context = { 'form':form, 'object':obj, 'content_type':ct, }
    context.update(locals())

    return render_to_response('events/events_add.html', context,\
            context_instance = RequestContext(request))
コード例 #48
0
ファイル: views.py プロジェクト: flyinactor91/Rocky-Rollcall
def event_edit(request, event: Event):
    """
    Edit an existing event by primary key
    """
    if not event.cast.is_manager(request.user):
        return HttpResponseForbidden()
    if request.method == 'POST':
        form = EventForm(request.POST, instance=event)
        if form.is_valid():
            event = form.save()
            messages.success(request, f'"{event.name}" has been updated')
            return redirect('event_detail', pk=event.pk)
    else:
        form = EventForm(instance=event)
    return render(request, 'events/event_edit.html', {
        'form': form,
        'form_title': 'Edit Event',
    })
コード例 #49
0
def new_event(request):
    registered = False
    if request.method == 'POST':
        event = Event.objects.create(leader=request.user)
        event_form = EventForm(request.POST or None, instance=event)
        if event_form.is_valid():
            event = event_form.save()
            registered = True
        else:
            print(event_form.errors)
    else:
        event_form = EventForm()
    return render(
        request, 'event/new_event.html', {
            'event_form': event_form,
            'registered': registered,
            'request_user': request.user
        })
コード例 #50
0
def create_events(request):
    template_name = "events/form.html"
    context = {}
    if request.method == "POST":
        form = EventForm(request.POST or None)
        if form.is_valid():
            c = form.save(commit=False)
            # 2020-06-04 14:26
            # c.start_time = datetime.fromtimestamp(form.cleaned_data['start_time'])
            # c.end_time = datetime.strptime(form.cleaned_data['end_time'])
            c.creator = request.user.member
            c.save()
            channel = Channel.objects.create(name="{c.name} Channel", event=c)
            channel.users.add(c.creator.user)
            return redirect('events:user-events')
    else:
        form = EventForm()
    context["form"] = form
    return render(request, template_name, context)
コード例 #51
0
def add(request, app_label, model_name, id):
    ''' Tag an event to another model object '''

    try:
        ct = ContentType.objects.get(\
                app_label = app_label,
                model = model_name)
        obj = ct.get_object_for_this_type(id=id)

    except:
        return HttpResponseNotFound()

    # visibility check
    if not helpers.is_visible(request.user, obj):
        return render_to_response('denied.html',
                                  context_instance=RequestContext(request))

    if request.method == 'POST':
        #request.POST.update( { 'owner':request.user.id, 'object_id':id,
        #        'content_type':ct.id, 'content_obj': obj, } )
        form = EventForm(request.POST)

        if form.is_valid():
            ev = form.save(commit=False)
            ev.owner = request.user
            ev.object_id = obj.id
            ev.content_type = ct
            ev.save()

            return HttpResponseRedirect(ev.get_absolute_url())
    else:
        form = EventForm()

    context = {
        'form': form,
        'object': obj,
        'content_type': ct,
    }
    context.update(locals())

    return render_to_response('events/events_add.html', context,\
            context_instance = RequestContext(request))
コード例 #52
0
ファイル: views.py プロジェクト: mdavoodi/konkourse-python
def create_event(request, course_id):
    if request.method == 'POST':
        variables = _course_context(request, course_id)
        c = Course.objects.get(id=course_id)
        e = Event()
        e.creator = request.user
        form = EventForm(request.POST, request.FILES, instance=e)
        if form.is_valid():
            e = form.save()
            c.add_event(e)
            e.join_event(request.user.id)
            c.save()
            wallPost = ConversationPost(creator=request.user, wall=c.wall, message="", post_type='E', event=e)
            wallPost.save()
            notifyCreateEvent(course=c, event=e)
            return redirect(course_events, course_id)
        else:
            variables['form'] = form
            variables.update(csrf(request))
            return course(request, course_id, "Invalid event creation fields!!")
    return redirect(index)
コード例 #53
0
def create(request):
    form = EventForm(request.POST or None)
    if form.is_valid():
        event = form.save(commit=False)
        event.creator = request.user
        guessed_date = None
        for word in event.description.split():
            try:
                guessed_date = parse(word)
                break
            except ValueError:
                continue
        event.start_date = guessed_date
        event.save()
        request.user.message_set.create(message="Your event has posted.")
        if "next" in request.POST:
            next = request.POST["next"]
        else:
            next = reverse("ev_tonight")
        return HttpResponseRedirect(next)
    return render_to_response("events/create.html", {"form": form}, context_instance=RequestContext(request))
コード例 #54
0
ファイル: views.py プロジェクト: adamfk/myewb2
def change(request, id):
    # visibility check
    event = get_object_or_404(Event, pk=id)
    parent = helpers.get_obj(ct=event.content_type, id=event.object_id)
    if not helpers.is_visible(request.user, parent):
        return render_to_response('denied.html', context_instance=RequestContext(request))
    
    if request.method == 'POST':
        #request.POST.update( { 'owner':request.user.id, 'object_id':id,
        #        'content_type':ct.id, 'content_obj': obj, } )
        form = EventForm(request.POST, instance=event)

        if form.is_valid():
            ev = form.save()
            return HttpResponseRedirect(ev.get_absolute_url())
    else:
        form = EventForm(instance=event)

    context = { 'form':form, 'object':parent, 'content_type':event.content_type }
    context.update(locals())

    return render_to_response('events/events_add.html', context,\
            context_instance = RequestContext(request))
コード例 #55
0
ファイル: views.py プロジェクト: MGonen/ticket-exchange
    def post(self, request, event_id):
        event = self.get_event(event_id)
        base_ticket = self.get_base_ticket(event_id)

        event_form = EventForm(request.POST, instance=event)
        base_ticket_price_form = BaseTicketPriceForm(request.POST, instance=base_ticket)
        upload_form = UploadBaseTicketEdit(request.POST, request.FILES)

        if not(event_form.is_valid() and base_ticket_price_form.is_valid() and upload_form.is_valid()):
            return render(request, self.template_name,
                          {'upload_form': upload_form, 'event_form': event_form,
                           'base_ticket_price_form': base_ticket_price_form, 'base_ticket': base_ticket,
                           'event_id': event.id, 'pdf_exists': self.pdf_exists(event_id)})

        # if forms are valid:
        pdf_file = self.get_pdf_file_or_None(request.FILES)

        if pdf_file:
            pdf_object = ProcessBaseTicket(pdf_file)

            if not pdf_object.successful:
                messages.add_message(request, messages.ERROR, pdf_object.message)
                return render(request, self.template_name,
                          {'upload_form': upload_form, 'event_form': event_form,
                           'base_ticket_price_form': base_ticket_price_form, 'base_ticket': base_ticket,
                           'event_id': event.id, 'pdf_exists': self.pdf_exists(event_id)})

            else:
                base_ticket.link = SavePDF.save_base_ticket_return_filepath(pdf_object, event_id)

        base_ticket.price = request.POST.get('price')
        base_ticket.save()
        event = event_form.save()

        messages.add_message(request, messages.SUCCESS, message_text.event_update_successful)
        return redirect('buy_ticket:available_tickets', event.id)