本文整理汇总了Python中tendenci.core.perms.utils.has_perm函数的典型用法代码示例。如果您正苦于以下问题:Python has_perm函数的具体用法?Python has_perm怎么用?Python has_perm使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了has_perm函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: groupmembership_add_edit
def groupmembership_add_edit(request, group_slug, user_id=None,
form_class=GroupMembershipForm,
template_name="user_groups/member_add_edit.html"):
add, edit = None, None
group = get_object_or_404(Group, slug=group_slug)
if user_id:
user = get_object_or_404(User, pk=user_id)
group_membership = get_object_or_404(GroupMembership, member=user, group=group)
if not has_perm(request.user,'user_groups.change_groupmembership',group_membership):
raise Http403
edit = True
else:
group_membership = None
if not has_perm(request.user,'user_groups.add_groupmembership'):
raise Http403
add = True
if request.method == 'POST':
form = form_class(None, user_id, request.POST, instance=group_membership)
if form.is_valid():
group_membership = form.save(commit=False)
group_membership.group = group
if not group_membership.id:
group_membership.creator_id = request.user.id
group_membership.creator_username = request.user.username
group_membership.owner_id = request.user.id
group_membership.owner_username = request.user.username
group_membership.save()
if add:
log_defaults = {
'event_id' : 221000,
'event_data': '%s (%d) added by %s' % (group_membership._meta.object_name, group_membership.pk, request.user),
'description': '%s added' % group_membership._meta.object_name,
'user': request.user,
'request': request,
'instance': group_membership,
}
EventLog.objects.log(**log_defaults)
if edit:
log_defaults = {
'event_id' : 222000,
'event_data': '%s (%d) edited by %s' % (group_membership._meta.object_name, group_membership.pk, request.user),
'description': '%s edited' % group_membership._meta.object_name,
'user': request.user,
'request': request,
'instance': group_membership,
}
EventLog.objects.log(**log_defaults)
return HttpResponseRedirect(group.get_absolute_url())
else:
form = form_class(group, user_id, instance=group_membership)
return render_to_response(template_name, locals(), context_instance=RequestContext(request))
开发者ID:legutierr,项目名称:tendenci,代码行数:57,代码来源:views.py
示例2: group_add_edit
def group_add_edit(request, group_slug=None,
form_class=GroupForm,
template_name="user_groups/add_edit.html"):
add, edit = False, False
if group_slug:
group = get_object_or_404(Group, slug=group_slug)
if not has_perm(request.user,'user_groups.change_group',group):
raise Http403
title = "Edit Group"
edit = True
else:
group = None
if not has_perm(request.user,'user_groups.add_group'):raise Http403
title = "Add Group"
add = True
if request.method == 'POST':
if edit:
form = form_class(request.POST, instance=group, user=request.user)
else:
form = form_class(request.POST, user=request.user)
if form.is_valid():
group = form.save(commit=False)
if not group.id:
group.creator = request.user
group.creator_username = request.user.username
# set up user permission
group.allow_user_view, group.allow_user_edit = form.cleaned_data['user_perms']
group.owner = request.user
group.owner_username = request.user.username
group = form.save()
if add:
# send notification to administrators
recipients = get_notice_recipients('module', 'groups', 'grouprecipients')
if recipients:
if notification:
extra_context = {
'object': group,
'request': request,
}
notification.send_emails(recipients,'group_added', extra_context)
EventLog.objects.log(instance=group)
return HttpResponseRedirect(group.get_absolute_url())
else:
if edit:
form = form_class(instance=group, user=request.user)
else:
form = form_class(user=request.user)
return render_to_response(template_name, {'form':form, 'titie':title, 'group':group}, context_instance=RequestContext(request))
开发者ID:jkimma,项目名称:tendenci,代码行数:56,代码来源:views.py
示例3: pending
def pending(request, template_name="jobs/pending.html"):
can_view_jobs = has_perm(request.user, 'jobs.view_job')
can_change_jobs = has_perm(request.user, 'jobs.change_job')
if not all([can_view_jobs, can_change_jobs]):
raise Http403
EventLog.objects.log()
jobs = Job.objects.filter(status_detail__contains='pending')
return render_to_response(template_name, {'jobs': jobs},
context_instance=RequestContext(request))
开发者ID:warhotdog,项目名称:tendenci,代码行数:11,代码来源:views.py
示例4: pending
def pending(request, template_name="directories/pending.html"):
can_view_directories = has_perm(request.user, "directories.view_directory")
can_change_directories = has_perm(request.user, "directories.change_directory")
if not all([can_view_directories, can_change_directories]):
raise Http403
directories = Directory.objects.filter(status_detail__contains="pending")
EventLog.objects.log()
return render_to_response(template_name, {"directories": directories}, context_instance=RequestContext(request))
开发者ID:bleven,项目名称:tendenci,代码行数:11,代码来源:views.py
示例5: add
def add(request, form_class=FormForm, template_name="forms/add.html"):
if not has_perm(request.user,'forms.add_form'):
raise Http403
PricingFormSet = inlineformset_factory(Form, Pricing, form=PricingForm, extra=2, can_delete=False)
formset = PricingFormSet()
if request.method == "POST":
form = form_class(request.POST, user=request.user)
if form.is_valid():
form_instance = form.save(commit=False)
# save form and associated pricings
form_instance = update_perms_and_save(request, form, form_instance)
formset = PricingFormSet(request.POST, instance=form_instance)
if formset.is_valid():
# update_perms_and_save does not appear to consider ManyToManyFields
for method in form.cleaned_data['payment_methods']:
form_instance.payment_methods.add(method)
formset.save()
messages.add_message(request, messages.SUCCESS, 'Successfully added %s' % form_instance)
return HttpResponseRedirect(reverse('form_field_update', args=[form_instance.pk]))
else:
form = form_class(user=request.user)
return render_to_response(template_name, {
'form':form,
'formset':formset,
}, context_instance=RequestContext(request))
开发者ID:MariusCC,项目名称:tendenci,代码行数:30,代码来源:views.py
示例6: entries_export
def entries_export(request, id, include_files=False):
form_instance = get_object_or_404(Form, pk=id)
# check permission
if not has_perm(request.user,'forms.change_form',form_instance):
raise Http403
EventLog.objects.log(instance=form_instance)
entries = form_instance.entries.all()
if entries:
if not settings.CELERY_IS_ACTIVE:
task = FormEntriesExportTask()
response = task.run(form_instance, entries, include_files)
return response
else:
task = FormEntriesExportTask.delay(form_instance, entries, include_files)
task_id = task.task_id
return redirect('form_entries_export_status', task_id)
else:
# blank csv document
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename=export_entries_%d.csv' % time()
writer = csv.writer(response, delimiter=',')
return response
开发者ID:MariusCC,项目名称:tendenci,代码行数:27,代码来源:views.py
示例7: delete
def delete(request, id, template_name="profiles/delete.html"):
user = get_object_or_404(User, pk=id)
try:
profile = Profile.objects.get(user=user)
except:
profile = None
if not has_perm(request.user,'profiles.delete_profile',profile): raise Http403
if request.method == "POST":
recipients = get_notice_recipients('module', 'users', 'userrecipients')
if recipients:
if notification:
extra_context = {
'profile': profile,
'request': request,
}
notification.send_emails(recipients,'user_deleted', extra_context)
#soft delete
#profile.delete()
#user.delete()
if profile:
profile.status_detail = 'inactive'
profile.save()
user.is_active = False
user.save()
return HttpResponseRedirect(reverse('profile.search'))
return render_to_response(template_name, {'user_this':user, 'profile': profile},
context_instance=RequestContext(request))
开发者ID:repos-python,项目名称:tendenci,代码行数:32,代码来源:views.py
示例8: pricing_add
def pricing_add(request, form_class=JobPricingForm,
template_name="jobs/pricing-add.html"):
if has_perm(request.user, 'jobs.add_jobpricing'):
if request.method == "POST":
form = form_class(request.POST)
if form.is_valid():
job_pricing = form.save(commit=False)
job_pricing.status = 1
job_pricing.save(request.user)
EventLog.objects.log(instance=job_pricing)
if "_popup" in request.REQUEST:
return HttpResponse('<script type="text/javascript">opener.dismissAddAnotherPopup(window, "%s", "%s");</script>' % (escape(job_pricing.pk), escape(job_pricing)))
return HttpResponseRedirect(
reverse('job_pricing.view', args=[job_pricing.id]))
else:
form = form_class()
if "_popup" in request.REQUEST:
template_name="jobs/pricing-add-popup.html"
return render_to_response(template_name, {'form': form},
context_instance=RequestContext(request))
else:
raise Http403
开发者ID:warhotdog,项目名称:tendenci,代码行数:28,代码来源:views.py
示例9: edit_meta
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))
开发者ID:BillTheBest,项目名称:tendenci,代码行数:32,代码来源:views.py
示例10: template_view
def template_view(request, template_id, template_name="campaign_monitor/templates/view.html"):
template = get_object_or_404(Template, template_id=template_id)
if not has_perm(request.user, "campaign_monitor.view_template", template):
raise Http403
return render_to_response(template_name, {"template": template}, context_instance=RequestContext(request))
开发者ID:githubber,项目名称:tendenci,代码行数:7,代码来源:views.py
示例11: photoset_add
def photoset_add(request, form_class=PhotoSetAddForm, template_name="photos/photo-set/add.html"):
""" Add a photo set """
# if no permission; permission exception
if not has_perm(request.user,'photos.add_photoset'):
raise Http403
if request.method == "POST":
if request.POST["action"] == "add":
form = form_class(request.POST, user=request.user)
if form.is_valid():
photo_set = form.save(commit=False)
photo_set.author = request.user
# update all permissions and save the model
photo_set = update_perms_and_save(request, form, photo_set)
messages.add_message(request, messages.SUCCESS, 'Successfully added photo set!')
return HttpResponseRedirect(reverse('photos_batch_add', kwargs={'photoset_id':photo_set.id}))
else:
form = form_class(user=request.user)
return render_to_response(template_name, {
"photoset_form": form,
}, context_instance=RequestContext(request))
开发者ID:keith9raceland,项目名称:tendenci,代码行数:26,代码来源:views.py
示例12: single_setting
def single_setting(request, scope, scope_category, name, template_name="site_settings/list.html"):
if not has_perm(request.user, "site_settings.change_setting"):
raise Http403
settings = Setting.objects.filter(scope=scope, scope_category=scope_category, name=name).order_by("label")
if not settings:
raise Http404
if request.method == "POST":
form = build_settings_form(request.user, settings)(request.POST, request.FILES)
if form.is_valid():
# this save method is overriden in the forms.py
form.save()
try:
if form.cleaned_data["theme"]:
from django.core.management import call_command
call_command("hide_settings", "theme")
call_command("update_settings", "themes.%s" % form.cleaned_data["theme"].lstrip())
except:
pass
EventLog.objects.log()
messages.add_message(
request, messages.SUCCESS, "Successfully saved %s settings" % name.replace("_", " ").title()
)
redirect_to = request.REQUEST.get("next", "")
if redirect_to:
return HttpResponseRedirect(redirect_to)
else:
form = build_settings_form(request.user, settings)()
return render_to_response(template_name, {"form": form}, context_instance=RequestContext(request))
开发者ID:bpotterschipul,项目名称:tendenci,代码行数:35,代码来源:views.py
示例13: template_index
def template_index(request, template_name="campaign_monitor/templates/index.html"):
if not has_perm(request.user, "campaign_monitor.view_template"):
raise Http403
templates = Template.objects.all().order_by("name")
return render_to_response(template_name, {"templates": templates}, context_instance=RequestContext(request))
开发者ID:githubber,项目名称:tendenci,代码行数:7,代码来源:views.py
示例14: edit
def edit(request, id, form_class=NewsForm, template_name="news/edit.html"):
news = get_object_or_404(News, pk=id)
# check permission
if not has_perm(request.user, 'news.change_news', news):
raise Http403
form = form_class(instance=news, user=request.user)
if request.method == "POST":
form = form_class(request.POST, request.FILES, instance=news, user=request.user)
if form.is_valid():
news = form.save(commit=False)
# update all permissions and save the model
news = update_perms_and_save(request, form, news)
# save photo
photo = form.cleaned_data['photo_upload']
if photo:
news.save(photo=photo)
assign_files_perms(news, files=[news.thumbnail])
messages.add_message(request, messages.SUCCESS, 'Successfully updated %s' % news)
return HttpResponseRedirect(reverse('news.detail', args=[news.slug]))
return render_to_response(template_name, {'news': news, 'form': form},
context_instance=RequestContext(request))
开发者ID:repos-python,项目名称:tendenci,代码行数:29,代码来源:views.py
示例15: delete
def delete(request, id, template_name="news/delete.html"):
news = get_object_or_404(News, pk=id)
# check permission
if not has_perm(request.user, 'news.delete_news'):
raise Http403
if request.method == "POST":
messages.add_message(request, messages.SUCCESS, 'Successfully deleted %s' % news)
# send notification to administrators
recipients = get_notice_recipients('module', 'news', 'newsrecipients')
if recipients:
if notification:
extra_context = {
'object': news,
'request': request,
}
notification.send_emails(recipients, 'news_deleted', extra_context)
news.delete()
return HttpResponseRedirect(reverse('news.search'))
return render_to_response(template_name, {'news': news},
context_instance=RequestContext(request))
开发者ID:repos-python,项目名称:tendenci,代码行数:25,代码来源:views.py
示例16: group_members_export
def group_members_export(request, group_slug, export_target='all'):
"""
Export members for a specific group
"""
group = get_object_or_404(Group, slug=group_slug)
# if they can edit it, they can export it
if not has_perm(request.user,'user_groups.change_group', group):
raise Http403
identifier = '%s_%s' % (int(ttime.time()), request.user.id)
file_dir = 'export/groups/'
temp_export_path = '%sgroup_%d_%s_%s_temp.csv' % (file_dir,
group.id,
export_target,
identifier)
default_storage.save(temp_export_path, ContentFile(''))
# start the process
subprocess.Popen(["python", "manage.py",
"group_members_export",
'--group_id=%d' % group.id,
'--export_target=%s' % export_target,
'--identifier=%s' % identifier,
'--user_id=%s' % request.user.id])
# log an event
EventLog.objects.log()
return redirect(reverse('group.members_export_status',
args=[group.slug, export_target, identifier]))
开发者ID:jkimma,项目名称:tendenci,代码行数:27,代码来源:views.py
示例17: edit_meta
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))
开发者ID:BillTheBest,项目名称:tendenci,代码行数:30,代码来源:views.py
示例18: campaign_index
def campaign_index(request, template_name="campaign_monitor/campaigns/index.html"):
if not has_perm(request.user, "campaign_monitor.view_campaign"):
raise Http403
campaigns = Campaign.objects.all().order_by("name")
return render_to_response(template_name, {"campaigns": campaigns}, context_instance=RequestContext(request))
开发者ID:githubber,项目名称:tendenci,代码行数:7,代码来源:views.py
示例19: delete
def delete(request, id, template_name="jobs/delete.html"):
job = get_object_or_404(Job, pk=id)
if has_perm(request.user, 'jobs.delete_job', job):
if request.method == "POST":
msg_string = 'Successfully deleted %s' % job
messages.add_message(request, messages.SUCCESS, _(msg_string))
# send notification to administrators
recipients = get_notice_recipients(
'module', 'jobs', 'jobrecipients')
if recipients:
if notification:
extra_context = {
'object': job,
'request': request,
}
notification.send_emails(recipients,
'job_deleted', extra_context)
job.delete()
return HttpResponseRedirect(reverse('job.search'))
return render_to_response(template_name, {'job': job},
context_instance=RequestContext(request))
else:
raise Http403
开发者ID:BillTheBest,项目名称:tendenci,代码行数:28,代码来源:views.py
示例20: edit_meta
def edit_meta(request, id, form_class=MetaForm, template_name="articles/edit-meta.html"):
# check permission
article = get_object_or_404(Article, pk=id)
if not has_perm(request.user, 'articles.change_article', article):
raise Http403
defaults = {
'title': article.get_title(),
'description': article.get_description(),
'keywords': article.get_keywords(),
'canonical_url': article.get_canonical_url(),
}
article.meta = MetaTags(**defaults)
if request.method == "POST":
form = form_class(request.POST, instance=article.meta)
if form.is_valid():
article.meta = form.save() # save meta
article.save() # save relationship
messages.add_message(request, messages.SUCCESS, 'Successfully updated meta for %s' % article)
return HttpResponseRedirect(reverse('article', args=[article.slug]))
else:
form = form_class(instance=article.meta)
return render_to_response(template_name, {'article': article, 'form': form},
context_instance=RequestContext(request))
开发者ID:repos-python,项目名称:tendenci,代码行数:29,代码来源:views.py
注:本文中的tendenci.core.perms.utils.has_perm函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论