def edit(request, model_name, pk=None, new_type=None): model = getattr(models, model_name) form_name = '%sForm' % model_name model_form = getattr(models, form_name) if model_name == 'Data' and new_type is not None: print("model name er Data") try: new_type_pk = models.Category.objects.get(name=new_type).pk except: new_type_pk = None form = generate_form(request, model, model_form, pk, {'category': new_type_pk}) else: form = generate_form(request, model, model_form, pk, None) if form.is_valid(): form.save() return HttpResponseRedirect(get_previous_page(request, APP_NAME)) if model_name == 'Data': return render(request, 'databases_edit_data.html', { 'form': form, 'type': model_name, }) else: return render( request, 'databases_edit.html', { 'form': form, 'type': model_name, 'entries': model.objects.values('pk', 'name'), })
def subcategory(request, pk=False): user = request.user if pk: current_owner = SubCategory.objects.get(pk=pk).owner if current_owner != user: messages.error(request, "You don't own this subcategory!") return HttpResponseRedirect(reverse("money_admin_subcategory")) category_form = generate_form(request, SubCategory, SubCategoryForm, pk, None) category_form.fields['parent_category'].queryset = Category.objects.filter( owner=request.user) if category_form.is_valid(): o = category_form.save(commit=False) o.owner = request.user o.save() return HttpResponseRedirect(reverse("money_admin_subcategory")) entries = SubCategory.objects.filter( owner=user).order_by('parent_category') if (not pk) else None return render( request, 'money_edit.html', { 'form': category_form, 'entries': entries, 'head_text': "Rediger underkategorier" })
def write(request, pk=False): blog_form = generate_form(request, models.Blog, models.BlogForm, pk) if blog_form.is_valid(): o = blog_form.save(commit=False) o.owner = request.user o.save() blog_form.save_m2m() messages.success(request, u'Blogg added/updated with ID=%s' % o.pk) set_redirect_session(request, 'blog_show', {'blog_pk': o.pk}) return HttpResponseRedirect(get_previous_page(request, APP_NAME)) if pk: request.session['redirect_next'] = reverse('blog_update', args=[pk]) try: blog = models.Blog.objects.get(pk=pk) sub_text = u'editing "%s"' % blog.title redirect_url = reverse('blog_show', args=[pk]) except: return Http404 else: sub_text = u'new item' redirect_url = None return render(request, 'blog_edit.html', { u'form': blog_form, u'sub_header': sub_text, u'redirect': redirect_url, })
def write_ticker_history(request, pk=False): ticker_form = generate_form(request, TickerHistory, TickerHistoryForm, pk) if ticker_form.is_valid(): tf = ticker_form.save() messages.success(request, u'Ticker history added/updated with ID=%s' % tf.pk) set_redirect_session(request, 'app_stocks', {}) return HttpResponseRedirect(get_previous_page(request, APP_NAME)) if pk: request.session['redirect_next'] = safe_referrer(request) try: header_text = "Redigere markedspris" delete_link_pk = pk redirect_url = None except: return Http404 else: header_text = u'Ny markedspris' redirect_url = None delete_link_pk = None return render(request, 'stocks_edit.html', { u'form': ticker_form, u'header_text': header_text, u'redirect': redirect_url, u'delete_link_name': "stocks_ticker_remove", u'delete_link_pk': delete_link_pk, })
def payment(request, pk=False): initial = { 'kwh_rent_cost': 0.34, 'fixed_cost': 334, } if pk: try: if models.Payment.objects.get(pk=pk).owner != request.user: messages.error(request, "That payment is not yours!") return HttpResponseRedirect(get_previous_page(request, APP_NAME)) except: messages.error(request, "That payment does not exists!") return HttpResponseRedirect(get_previous_page(request, APP_NAME)) payment_form = generate_form(request, models.Payment, models.PaymentForm, pk, initial) if payment_form.is_valid(): p = payment_form.save(commit=False) p.owner = request.user p.save() return HttpResponseRedirect(get_previous_page(request, APP_NAME)) payments = models.Payment.objects.filter(owner=request.user).order_by('-date') return render(request, 'power_payment.html', { 'payment_form': payment_form, 'payments': payments, })
def tag_edit(request, pk=None): blog_form = generate_form(request, models.Tag, models.TagForm, pk) if blog_form.is_valid(): o = blog_form.save(commit=True) messages.success(request, u'Tag %s added' % o.tag) return HttpResponseRedirect(reverse('blog_tag_add')) return render(request, 'blog_tag_form.html', { u'form': blog_form, u'tags': models.Tag.objects.all(), })
def category(request, pk=False): category_form = generate_form(request, models.Category, models.CategoryForm, pk, None) if category_form.is_valid(): category_form.save() return HttpResponseRedirect(get_previous_page(request, APP_NAME)) return render(request, 'blog_edit.html', { 'form': category_form, 'entries': models.Category.objects.all(), })
def profile_update(request): profile_id = request.user.profile.pk profile_form = generate_form(request, UserProfile, UserProfileForm, profile_id, None) if profile_form.is_valid(): try: profile_form.save() return HttpResponseRedirect(reverse('profile')) except: messages.error(request, 'Could not save') try: instance = UserProfile.objects.get(pk=profile_id) except: instance = None return render(request, 'profiles_update.html', { 'form': profile_form, 'profile': instance, })
def add_account(request, pk=False): user = request.user if pk: current_owner = Account.objects.get(pk=pk).owner if current_owner != user: messages.error(request, "You don't own this account!") return HttpResponseRedirect(reverse("money_admin_add_account")) account_form = generate_form(request, Account, AccountForm, pk, None) account_form.fields['sub_category'].choices = categories_as_choices( request.user) if account_form.is_valid(): o = account_form.save(commit=False) o.owner = user o.save() return HttpResponseRedirect(reverse("money_admin_add_account")) entries = Account.objects.filter( owner=user).order_by('account_type') if (not pk) else None return render(request, 'money_edit.html', { 'form': account_form, 'entries': entries, 'head_text': "Rediger konto" })