def album_create(request): if request.method == 'POST': form = AlbumForm(request.POST) print 'submit album' if form.is_valid(): # coming from save button click q = Album() for each in form: if type( each.field ) is forms.ModelChoiceField: # get the value from 'select' (artist) # value_needed = form.cleaned_data[each.name].pk ---> this is the option number value_needed = form.cleaned_data[each.name] a = Artist.objects.get( name=value_needed) # a is Artist instance setattr(q, each.name, a) else: # get the value from title or date value_needed = form.cleaned_data[each.name] setattr(q, each.name, value_needed) q.save() return redirect('index') # you won't see 'form' in url else: # if a GET (or any other method, or when getting to this page at first - we'll create a blank form form = AlbumForm() print 'Initial album_create page ' return render( request, 'mymusic/album_create.html', { 'form': form # render create album with empty form or with the form we already started to fill })
def add_album(request): """ Add a new album by POST-ing a hashtag. """ album_form = AlbumForm(request.POST or None) errors = [] if request.method == "POST": if album_form.is_valid(): # sanitize data value = album_form.cleaned_data hashtag = value["hashtag"] print hashtag # get existing database albums user = User.objects.get(username=request.user) user_albums = Album.objects.get_user_posted_albums(user=user) print user_albums for album in user_albums: if album.name == hashtag: errors.append("Album already exists.") break # add album to user albums if it doesn't exist already. if len(errors) == 0: new_album = Album(name=hashtag, user=user) new_album.save() print hashtag return HttpResponseRedirect(reverse("add_confirm", kwargs={"hashtag": hashtag})) else: context_instance = RequestContext(request, {"errors": errors}) return render_to_response("add_album.html", context_instance) context_instance = RequestContext(request, {"album_form": album_form, "errors": errors}) return render_to_response("add_album.html", context_instance)
def album(request, album_id = None): if album_id is not None: album = request.db_session.query(Album).get(album_id) else: album = Album() if request.method == 'POST': if 'cancel' in request.POST: return redirect('index') form = AlbumForm(request.POST) if form.is_valid(): # hydrate album object album.title = form.cleaned_data['title'] album.artist = form.cleaned_data['artist'] # save it request.db_session.add(album) request.db_session.commit() # show flash message to confirm update is OK messages.success(request, "Album saved successfully") # redirect to list of albums return redirect('index') elif album_id is not None: form = AlbumForm(album.__dict__) else: form = AlbumForm() return render(request, "album.html", {'form': form, 'album_id': album_id})
def create_album(request, artist_id, album_id=None): if request.method != "POST": return HttpResponse( json.dumps({'error': 'Invalid http method for this uri'})) SongFormset = inlineformset_factory(Album, Song) if album_id is not None: album = Album.objects.get(pk=album_id) albumForm = AlbumForm(request.POST, request.FILES, instance=album) songsForm = SongFormset(request.POST, request.FILES, instance=album, prefix="form") else: albumForm = AlbumForm(request.POST, request.FILES) songsForm = SongFormset(request.POST, request.FILES, prefix="form") if songsForm.is_valid() and albumForm.is_valid(): albumForm.save() songsForm.save() return HttpResponse(json.dumps({'success': 'true'})) else: errors = {} errors['song_errors'] = [dict(err.items()) for err in songsForm.errors] errors['album_errors'] = dict(albumForm.errors.items()) resp = HttpResponse(json.dumps({'errors': errors}), mimetype="application/json") resp.status_code = 400 return resp
def create_album(request): form=AlbumForm(request.POST or None) if form.is_valid(): form.save() #use reverse always with the HttpResponseRedirect return HttpResponseRedirect(reverse('home')) return render(request,'app/createform.html',{'form':form})
def create_album_view(request): ''' Allows users to create new albums and upload photos ''' if request.POST: album = Album(creator=request.user) album_form = AlbumForm(request.POST, instance=album) if album_form.is_valid(): album_form.save() return HttpResponseRedirect('/edit/%s' % album.pk) messages.info(request, 'Incomplete input.') return HttpResponseRedirect(reverse('create')) album_form, photo_form, c = AlbumForm(), PhotoForm(), {} c.update(csrf(request)) context = {'album_form': album_form, 'photo_form': photo_form, 'c': c, } return render(request, 'create.html', context)
def album_create(request): if request.method == 'POST': form = AlbumForm(request.POST) if form.is_valid(): album = form.save(commit=False) if not request.user.has_perm('gallery.public_album'): album.public = False album.save() return redirect('gallery:administration:albums_list') else: form = AlbumForm() return render(request, 'gallery/administration/album_create.html', { 'form': form })
def album_edit(request, id): album = get_object_or_404(Album, id=id) if request.method == 'POST': form = AlbumForm(request.POST, instance=album) if form.is_valid(): album = form.save(commit=False) if not request.user.has_perm('gallery.public_album'): album.public = False album.save() return redirect('gallery:administration:albums_list') else: form = AlbumForm(instance=album) return render(request, 'gallery/administration/album_edit.html', { 'form': form })
def album_edit(request, album_slug): item_from_url = get_item_or_404(album_slug, None) if request.method=='POST': form = AlbumForm(request.POST, instance=item_from_url) if form.is_valid(): item = form.save() return HttpResponseRedirect(item.get_absolute_url()) else: form = AlbumForm(instance=item_from_url) return render_to_response('albums/edit_item.html', { 'item': item_from_url, 'form': form, }, context_instance=RequestContext(request))
def create_album(request,album_id=1): if request.POST: form = AlbumForm(request.POST, request.FILES) if form.is_valid(): form.save() return HttpResponseRedirect('/galleries/albums/') else: form = AlbumForm() args = {} args.update(csrf(request)) args['form'] = form return render(request,'create_album.html', args)
def create_photo(request): if request.POST: album_form = AlbumForm(album_id=request.REQUEST.get("album_id"), user=request.user.user, data=request.POST) if album_form.is_valid(): album = album_form.save() else: album = None photo_formset = PhotoFormSet(album, request.POST, request.FILES) if album and photo_formset.is_valid(): for form in photo_formset.forms: if form.is_valid(): form.save() return HttpResponseRedirect(album.get_absolute_url()) else: album_form = AlbumForm(album_id=request.REQUEST.get("album_id"), user=request.user.user) photo_formset = PhotoFormSet() return {"album_form": album_form, "photo_forms": photo_formset}
def new_album(request): """ Deprecated """ error = None if request.method == "POST": #submission of new album form = AlbumForm(request.POST, user=request.user) if form.is_valid(): album = form.save(commit=False) album.user = request.user try: album.validate_unique() album.set_order() album.save() return HttpResponse("<div title=\"%s\"><input type=\"hidden\" id=\"status\" value=\"%s\"/></div>" % (album.title, album.id)) except ValidationError: error = _("You have used this album title before. Make sure to pick an unique title.") else: #request for rendered form album = Album(user=request.user) form = AlbumForm(instance=album, user=request.user, initial={'user': request.user}) return render(request, 'albums/ajax/new_album.html', {'form': form, 'error': error})
def album_create(request): if request.method == 'POST': form = AlbumForm(request.POST) if form.is_valid(): album = form.save(commit=False) if 'album_form_avatar' in request.FILES: avatar_img_name = handle_uploaded_file(request.FILES['album_form_avatar']) album.avatar_img_name = avatar_img_name if not request.user.has_perm('gallery.public_album'): album.public = False album.save() return redirect('gallery:administration:albums_list') else: form = AlbumForm() return render(request, 'gallery/administration/album_create.html', { 'form': form })
def album_create(request): if request.method == 'POST': form = AlbumForm(request.POST) if form.is_valid(): album = form.save(commit=False) if 'album_form_avatar' in request.FILES: avatar_img_name = handle_uploaded_file( request.FILES['album_form_avatar']) album.avatar_img_name = avatar_img_name if not request.user.has_perm('gallery.public_album'): album.public = False album.save() return redirect('gallery:administration:albums_list') else: form = AlbumForm() return render(request, 'gallery/administration/album_create.html', {'form': form})
def new_album_jquery_ui(request): if request.method == "POST": try: from_page = request.POST['from-page'] except KeyError: from_page = None new_album = Album(user=request.user) form = AlbumForm(request.POST, user=request.user, instance=new_album) t = loader.get_template(u'albums/ajax/new_album_jquery-ui.html') context = {'from_page': from_page} if form.is_valid(): album = form.save() context['form'] = AlbumForm( instance = Album(user=request.user), user=request.user ) rendered_form = t.render(RequestContext(request, context)) output = { 'status': 1, 'form': rendered_form, } if from_page == u"upload": # return option to append to select option = '<option value="%s" selected="selected">%s</option>' % ( album.id, album.__unicode__() ) output['option'] = mark_safe(option) elif from_page == u"my-albums-list": # return li element to place in list t2 = loader.get_template(u'albums/album_li.html') album_li = t2.render(RequestContext(request, {'album': album})) output['album_li'] = album_li output['album_write_mode'] = album.writable_to else: context['form'] = form rendered_form = t.render(RequestContext(request, context)) output = {'form': rendered_form, 'status': 0} return HttpResponse(json.dumps(output), mimetype="application/json")
def album_edit(request, id): album = get_object_or_404(Album, id=id) if request.method == 'POST': form = AlbumForm(request.POST, instance=album) if form.is_valid(): album = form.save(commit=False) if 'album_form_avatar' in request.FILES: if album.avatar_img_name: handle_uploaded_file(request.FILES['album_form_avatar'], album.avatar_img_name) else: avatar_img_name = handle_uploaded_file(request.FILES['album_form_avatar']) album.avatar_img_name = avatar_img_name if not request.user.has_perm('gallery.public_album'): album.public = False album.save() return redirect('gallery:administration:albums_list') else: form = AlbumForm(instance=album) return render(request, 'gallery/administration/album_edit.html', { 'form': form })
def add_album(request, full_slug=None, template='albums/add_album.html', template_ajax='albums/add_album_ajax.html'): if(request.is_ajax()): template = template_ajax if request.method == 'POST': form = AlbumForm(request.POST) if form.is_valid(): album = form.save(commit=False) album.save() album.owners.add(request.user) album.save() return HttpResponseRedirect(album.get_absolute_url()) else: form = AlbumForm() return render_to_response(template, { 'form': form, }, context_instance=RequestContext(request))
def create_album(request, artist_id, album_id=None): if request.method != "POST": return HttpResponse(json.dumps({ 'error': 'Invalid http method for this uri' })) SongFormset = inlineformset_factory(Album, Song) if album_id is not None: album = Album.objects.get(pk=album_id) albumForm = AlbumForm(request.POST, request.FILES, instance=album) songsForm = SongFormset(request.POST, request.FILES, instance=album, prefix="form") else: albumForm = AlbumForm(request.POST, request.FILES) songsForm = SongFormset(request.POST, request.FILES, prefix="form") if songsForm.is_valid() and albumForm.is_valid(): albumForm.save() songsForm.save() return HttpResponse(json.dumps({ 'success': 'true' })) else: errors = {} errors['song_errors'] = [dict(err.items()) for err in songsForm.errors] errors['album_errors'] = dict(albumForm.errors.items()) resp = HttpResponse(json.dumps({ 'errors': errors }), mimetype="application/json") resp.status_code = 400 return resp
def album_edit(request, id): album = get_object_or_404(Album, id=id) if request.method == 'POST': form = AlbumForm(request.POST, instance=album) if form.is_valid(): album = form.save(commit=False) if 'album_form_avatar' in request.FILES: if album.avatar_img_name: handle_uploaded_file(request.FILES['album_form_avatar'], album.avatar_img_name) else: avatar_img_name = handle_uploaded_file( request.FILES['album_form_avatar']) album.avatar_img_name = avatar_img_name if not request.user.has_perm('gallery.public_album'): album.public = False album.save() return redirect('gallery:administration:albums_list') else: form = AlbumForm(instance=album) return render(request, 'gallery/administration/album_edit.html', {'form': form})