def edit_meta(request, id, form_class=MetaForm, template_name="jobs/edit-meta.html"): # check permission job = get_object_or_404(Job, pk=id) if not has_perm(request.user, 'jobs.change_job', job): raise Http403 defaults = { 'title': job.get_title(), 'description': job.get_description(), 'keywords': job.get_keywords(), 'canonical_url': job.get_canonical_url(), } job.meta = MetaTags(**defaults) if request.method == "POST": form = form_class(request.POST, instance=job.meta) if form.is_valid(): job.meta = form.save() # save meta job.save() # save relationship msg_string = 'Successfully updated meta for %s' % job messages.add_message(request, messages.SUCCESS, _(msg_string)) return HttpResponseRedirect(reverse('job', args=[job.slug])) else: form = form_class(instance=job.meta) return render_to_response(template_name, {'job': job, 'form': form}, context_instance=RequestContext(request))
def edit_meta(request, id, form_class=MetaForm, template_name="pages/edit-meta.html"): """ Return page that allows you to edit meta-html information. """ # check permission page = get_object_or_404(Page, pk=id) if not has_perm(request.user, 'pages.change_page', page): raise Http403 defaults = { 'title': page.get_title(), 'description': page.get_description(), 'keywords': page.get_keywords(), 'canonical_url': page.get_canonical_url(), } page.meta = MetaTags(**defaults) if request.method == "POST": form = form_class(request.POST, instance=page.meta) if form.is_valid(): page.meta = form.save() # save meta page.save() # save relationship messages.add_message(request, messages.SUCCESS, _('Successfully updated meta for %(p)s' % {'p': unicode(page)})) return HttpResponseRedirect(reverse('page', args=[page.slug])) else: form = form_class(instance=page.meta) return render_to_response(template_name, {'page': page, 'form': form}, context_instance=RequestContext(request))
def edit_meta(request, id, form_class=MetaForm, template_name="directories/edit-meta.html"): directory = get_object_or_404(Directory, pk=id) if not has_perm(request.user, 'directories.change_directory', directory): raise Http403 defaults = { 'title': directory.get_title(), 'description': directory.get_description(), 'keywords': directory.get_keywords(), 'canonical_url': directory.get_canonical_url(), } directory.meta = MetaTags(**defaults) if request.method == "POST": form = form_class(request.POST, instance=directory.meta) if form.is_valid(): directory.meta = form.save() # save meta directory.save() # save relationship messages.add_message(request, messages.SUCCESS, 'Successfully updated meta for %s' % directory) return HttpResponseRedirect(reverse('directory', args=[directory.slug])) else: form = form_class(instance=directory.meta) return render_to_response(template_name, {'directory': directory, 'form':form}, context_instance=RequestContext(request))
def save_model(self, request, object, form, change): instance = form.save(commit=False) instance = update_perms_and_save(request, form, instance) if instance.meta: meta = instance.meta else: meta = MetaTags() meta.title = form.cleaned_data['meta_title'] meta.description = form.cleaned_data['meta_description'] meta.keywords = form.cleaned_data['meta_keywords'] meta.canonical_url = form.cleaned_data['meta_canonical_url'] meta.save() instance.meta = meta instance.save() # notifications if not request.user.profile.is_superuser: # send notification to administrators recipients = get_notice_recipients('module', 'pages', 'pagerecipients') notice_type = 'page_added' if change: notice_type = 'page_edited' if recipients: if notification: extra_context = { 'object': instance, 'request': request, } notification.send_emails(recipients, notice_type, extra_context) return instance
def edit_meta(request, id, form_class=MetaForm, template_name="news/edit-meta.html"): # check permission news = get_object_or_404(News, pk=id) if not has_perm(request.user, 'news.change_news', news): raise Http403 defaults = { 'title': news.get_title(), 'description': news.get_description(), 'keywords': news.get_keywords(), 'canonical_url': news.get_canonical_url(), } news.meta = MetaTags(**defaults) if request.method == "POST": form = form_class(request.POST, instance=news.meta) if form.is_valid(): news.meta = form.save() # save meta news.save() # save relationship messages.add_message(request, messages.SUCCESS, 'Successfully updated meta for %s' % news) return HttpResponseRedirect( reverse('news.detail', args=[news.slug])) else: form = form_class(instance=news.meta) return render_to_response(template_name, { 'news': news, 'form': form }, context_instance=RequestContext(request))