Exemple #1
0
def edit_venue_account(request, slug):
    venue_account = VenueAccount.objects.get(slug=slug)
    change_venue = False

    if not request.user.is_staff and venue_account.account.user != request.user:
        resp = render_to_response('403.html', context_instance=RequestContext(request))
        resp.status_code = 403
        return resp

    if request.method == 'POST':
        data = request.POST
        if data['picture_src']:
            venue_account.picture.name = data['picture_src'].replace(settings.MEDIA_URL, '')

        change_venue = int(data.get('change_venue', 0))
        form = VenueAccountForm(instance=venue_account, data=data)

        if form.is_valid():
            if change_venue:
                mode = data.get('linking_venue_mode')
                if mode == 'SUGGEST':
                    venue = event_venue_service.get_venue_suggested_by_user(data, venue_account.account.user)
                if mode == 'GOOGLE':
                    venue = event_venue_service.get_venue_from_google(data)
                if mode == 'EXIST':
                    venue = event_venue_service.get_venue_that_exist(data)
            else:
                venue = venue_account.venue

            if VenueAccount.objects.filter(venue=venue).exclude(pk=venue_account.id).count() == 0:
                venue_account = form.save()
                if change_venue:
                    venue_account.venue = venue
                    venue_account.save()

                if venue_account.account.user == request.user:
                    return HttpResponseRedirect(reverse('private_venue_account', args=(venue_account.slug, )))
                else:
                    # if admin edits not his venue
                    return HttpResponseRedirect(reverse('public_venue_account', args=(venue_account.slug, )))
            else:
                return HttpResponseRedirect(reverse('venue_account_already_in_use', args=(venue_account.id, )))
    else:
        form = VenueAccountForm(
            instance=venue_account,
            initial=venue_service.prepare_venue_account_edit_initial_data(venue_account)
        )

    return render_to_response('venue_accounts/edit_venue_account.html', {
        'venue_account': venue_account,
        'form': form,
        'is_venue_owner': (request.user == venue_account.venue.user),
        'change_venue': change_venue
    }, context_instance=RequestContext(request))
Exemple #2
0
def create_venue_account(request):
    account = Account.objects.get(user_id=request.user.id)
    form = NewVenueAccountForm()

    venue_account = VenueAccount()

    if request.method == 'POST':
        data = request.POST
        form = NewVenueAccountForm(data=data)

        if form.is_valid():
            mode = data.get("linking_venue_mode")
            if mode == "SUGGEST":
                venue = event_venue_service.get_venue_suggested_by_user(
                    data, request.user)
            if mode == "GOOGLE":
                venue = event_venue_service.get_venue_from_google(data)
            if mode == "EXIST":
                venue = event_venue_service.get_venue_that_exist(data)

            try:
                venue_account = VenueAccount.objects.get(venue=venue)
                return HttpResponseRedirect(
                    reverse('venue_account_already_in_use',
                            args=(venue_account.id, )))

            except:
                venue_account = VenueAccount(venue=venue, account=account)
                form = NewVenueAccountForm(instance=venue_account,
                                           data=request.POST)
                venue_account = form.save()

                if data["picture_src"]:
                    venue_account.picture.name = data["picture_src"].replace(
                        settings.MEDIA_URL, "")

                types = form.cleaned_data['types']
                venue_account.types = types
                venue_account.save()

                return HttpResponseRedirect(
                    reverse('userena_profile_detail',
                            args=(request.user.username, )))

    return render_to_response('venue_accounts/create_venue_account.html', {
        'venue_account': venue_account,
        'form': form
    },
                              context_instance=RequestContext(request))
Exemple #3
0
def create_venue_account(request):
    account = Account.objects.get(user_id=request.user.id)
    form = NewVenueAccountForm()

    venue_account = VenueAccount()

    if request.method == 'POST':
        data = request.POST
        form = NewVenueAccountForm(data=data)

        if form.is_valid():
            mode = data.get("linking_venue_mode")
            if mode == "SUGGEST":
                venue = event_venue_service.get_venue_suggested_by_user(data, request.user)
            if mode == "GOOGLE":
                venue = event_venue_service.get_venue_from_google(data)
            if mode == "EXIST":
                venue = event_venue_service.get_venue_that_exist(data)

            try:
                venue_account = VenueAccount.objects.get(venue=venue)
                return HttpResponseRedirect(reverse('venue_account_already_in_use', args=(venue_account.id, )))

            except:               
                venue_account = VenueAccount(venue=venue, account=account)
                form = NewVenueAccountForm(instance=venue_account, data=request.POST)
                venue_account = form.save()

                if data["picture_src"]:
                    venue_account.picture.name = data["picture_src"].replace(settings.MEDIA_URL, "")

                types = form.cleaned_data['types']
                venue_account.types = types
                venue_account.save()

                return HttpResponseRedirect(reverse('userena_profile_detail', args=(request.user.username, )))                

    return render_to_response('venue_accounts/create_venue_account.html', {
            'venue_account': venue_account,
            'form': form
        }, context_instance=RequestContext(request))
Exemple #4
0
def edit_venue_account(request, slug):
    venue_account = VenueAccount.objects.get(slug=slug)
    change_venue = False

    if not request.user.is_staff and venue_account.account.user != request.user:
        resp = render_to_response('403.html',
                                  context_instance=RequestContext(request))
        resp.status_code = 403
        return resp

    if request.method == 'POST':
        data = request.POST
        if data['picture_src']:
            venue_account.picture.name = data['picture_src'].replace(
                settings.MEDIA_URL, '')

        change_venue = int(data.get('change_venue', 0))
        form = VenueAccountForm(instance=venue_account, data=data)

        if form.is_valid():
            if change_venue:
                mode = data.get('linking_venue_mode')
                if mode == 'SUGGEST':
                    venue = event_venue_service.get_venue_suggested_by_user(
                        data, venue_account.account.user)
                if mode == 'GOOGLE':
                    venue = event_venue_service.get_venue_from_google(data)
                if mode == 'EXIST':
                    venue = event_venue_service.get_venue_that_exist(data)
            else:
                venue = venue_account.venue

            if VenueAccount.objects.filter(venue=venue).exclude(
                    pk=venue_account.id).count() == 0:
                venue_account = form.save()
                if change_venue:
                    venue_account.venue = venue
                    venue_account.save()

                if venue_account.account.user == request.user:
                    return HttpResponseRedirect(
                        reverse('private_venue_account',
                                args=(venue_account.slug, )))
                else:
                    # if admin edits not his venue
                    return HttpResponseRedirect(
                        reverse('public_venue_account',
                                args=(venue_account.slug, )))
            else:
                return HttpResponseRedirect(
                    reverse('venue_account_already_in_use',
                            args=(venue_account.id, )))
    else:
        form = VenueAccountForm(
            instance=venue_account,
            initial=venue_service.prepare_venue_account_edit_initial_data(
                venue_account))

    return render_to_response(
        'venue_accounts/edit_venue_account.html', {
            'venue_account': venue_account,
            'form': form,
            'is_venue_owner': (request.user == venue_account.venue.user),
            'change_venue': change_venue
        },
        context_instance=RequestContext(request))