def create(request): """Create a new wiki document""" base_perms = request.user.get_all_permissions() if 'wiki.add_document' not in base_perms: raise PermissionDenied() parent_pk = request.GET.get('parent', None) if not parent_pk: parent = None else: parent = get_object_or_404_or_403('add_document_child', request.user, Document, pk=parent_pk) if 'POST' != request.method: form = DocumentCreateForm() else: form = DocumentCreateForm(request.POST) if form.is_valid(): document = form.save(commit=False) if parent: document.parent = parent document.creator = request.user document.save() return redirect(document.get_absolute_url()) return render(request, 'wiki/create.html', dict(parent=parent, form=form))
def create(request): """Create a new wiki document""" base_perms = request.user.get_all_permissions() if 'wiki.add_document' not in base_perms: raise PermissionDenied() parent_pk = request.GET.get('parent', None) if not parent_pk: parent = None else: parent = get_object_or_404_or_403( 'add_document_child', request.user, Document, pk=parent_pk) if 'POST' != request.method: form = DocumentCreateForm() else: form = DocumentCreateForm(request.POST) if form.is_valid(): document = form.save(commit=False) if parent: document.parent = parent document.creator = request.user document.save() return redirect(document.get_absolute_url()) return render(request, 'wiki/create.html', dict( parent=parent, form=form ))
def view(request, name): document = get_object_or_404_or_403('view_document', request.user, Document, name=name) perms = request.user.get_all_permissions(document) return render(request, 'wiki/view.html', dict( document=document, perms=perms ))
def delete(request, name): document = get_object_or_404_or_403('delete_document', request.user, Document, name=name) if 'POST' == request.method: document.delete() return redirect(reverse('base.views.index')) return render(request, 'wiki/delete.html', dict( document=document ))
def delete(request, name): document = get_object_or_404_or_403('delete_document', request.user, Document, name=name) if 'POST' == request.method: document.delete() return redirect(reverse('base.views.index')) return render(request, 'wiki/delete.html', dict(document=document))
def edit(request, name): document = get_object_or_404_or_403('change_document', request.user, Document, name=name) if 'POST' != request.method: form = DocumentEditForm(instance=document) else: form = DocumentEditForm(request.POST, instance=document) if form.is_valid(): document = form.save() return redirect(document.get_absolute_url()) return render(request, 'wiki/edit.html', dict( document=document, form=form ))
def team_detail(request, name): team = get_object_or_404_or_403('view_team', request.user, Team, name=name) # TODO: Should this be a team model method? members = dict() for role in team.role_set.all(): for user in role.users.all(): username = user.username if username not in members: members[username] = dict(user=user, roles=[role]) else: members[username]['roles'].append(role) return render(request, 'profiles/team_detail.html', dict( team=team, members=members.values(), roles=team.role_set.all(), ))
def team_detail(request, name): team = get_object_or_404_or_403('view_team', request.user, Team, name=name) # TODO: Should this be a team model method? members = dict() for role in team.role_set.all(): for user in role.users.all(): username = user.username if username not in members: members[username] = dict(user=user, roles=[role]) else: members[username]['roles'].append(role) return render( request, 'profiles/team_detail.html', dict( team=team, members=members.values(), roles=team.role_set.all(), ))