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))
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))
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))
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))