本文整理汇总了Python中models.Manifest.can_edit_restricted_manifest方法的典型用法代码示例。如果您正苦于以下问题:Python Manifest.can_edit_restricted_manifest方法的具体用法?Python Manifest.can_edit_restricted_manifest怎么用?Python Manifest.can_edit_restricted_manifest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类models.Manifest
的用法示例。
在下文中一共展示了Manifest.can_edit_restricted_manifest方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: detail
# 需要导入模块: from models import Manifest [as 别名]
# 或者: from models.Manifest import can_edit_restricted_manifest [as 别名]
def detail(request, manifest_name):
if request.method == 'POST':
if not request.user.has_perm('manifests.change_manifests'):
return HttpResponse(json.dumps('error'))
if request.is_ajax():
json_data = json.loads(request.body)
if json_data:
manifest_detail = Manifest.read(manifest_name)
for key in json_data.keys():
manifest_detail[key] = json_data[key]
Manifest.write(manifest_name, manifest_detail,
request.user)
logger.info("ManifestWrite instigated.")
return HttpResponse(json.dumps('success'))
if request.method == 'GET':
if not request.user.has_perm('manifests.can_view_manifests'):
return HttpResponse(json.dumps('error'))
manifest = Manifest.read(manifest_name)
#valid_install_items = Manifest.getValidInstallItems(manifest_name)
install_items = Manifest.getInstallItemNames(manifest_name)
valid_install_items = (install_items['suggested'] +
install_items['updates'] +
install_items['with_version'])
suggested_install_items = install_items['suggested']
valid_catalogs = Catalog.list()
valid_manifest_names = Manifest.list()
autocomplete_data = json.dumps({
'items': install_items['suggested'],
'catalogs': valid_catalogs,
'manifests': valid_manifest_names
})
manifest_user = manifest.get(MANIFEST_USERNAME_KEY, '')
manifest_restriction = manifest.get(MANIFEST_RESTRICTION_KEY, '')
user_groups = Group.objects.values_list('name', flat=True)
if manifest_restriction:
manifest_restriction_is_editable = None
if request.user.is_superuser:
manifest_restriction_is_editable = 'yes'
elif request.user.is_staff and 'staff' in manifest_restriction:
manifest_restriction_is_editable = 'yes'
else:
for item in manifest_restriction:
if Manifest.can_edit_restricted_manifest(request.user, item):
manifest_restriction_is_editable = 'yes'
else:
manifest_restriction_is_editable = 'unrestricted'
git_branching_enabled = None
if GIT_BRANCHING:
git_branching_enabled = GIT_BRANCHING
c = RequestContext(request,
{'manifest_name': manifest_name.replace(':', '/'),
'manifest_user': manifest_user,
'manifest_user_is_editable': MANIFEST_USERNAME_IS_EDITABLE,
'manifest': manifest,
'valid_install_items': valid_install_items,
'install_items': install_items,
'valid_catalogs': valid_catalogs,
'valid_manifest_names': valid_manifest_names,
'autocomplete_data': autocomplete_data,
'git_branching_enabled': git_branching_enabled,
'restriction_key': MANIFEST_RESTRICTION_KEY,
'manifest_restriction': manifest_restriction,
'manifest_restriction_is_editable': manifest_restriction_is_editable,
'user_groups': user_groups,
'user': request.user,
'page': 'manifests'})
c.update(csrf(request))
return render_to_response('manifests/detail.html', c)