Skip to content

Commit

Permalink
* Update all the views with permissions needed to create users and pr…
Browse files Browse the repository at this point in the history
…ojects.

* Add the filtering logic to the base template to show the correct menu items depending on the users permissions.
  • Loading branch information
bgroff committed Dec 17, 2017
1 parent 14b381b commit bf2488f
Show file tree
Hide file tree
Showing 19 changed files with 64 additions and 119 deletions.
43 changes: 25 additions & 18 deletions django_kala/django_kala/templates/base.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
{% load static %}
{% load kala_tags %}

<!DOCTYPE html>
<html>
<head>
Expand Down Expand Up @@ -65,23 +63,32 @@
{# <a class="launch icon item" data-content="Select a theme">#}
{# <i class="disabled link paintcan icon"></i>#}
{# </a>#}
<a class="item" data-content="You have unread notification in this repository.">
<span class="ui empty mini floating circular blue notification label"></span>
<i class="bell icon"></i>
</a>
{# <a class="item" data-content="You have unread notification in this repository.">#}
{# <span class="ui empty mini floating circular blue notification label"></span>#}
{# <i class="bell icon"></i>#}
{# </a>#}
<div class="ui add top right pointing dropdown item" data-content="Create new...">
<i class="large plus icon"></i>
<i class="dropdown icon"></i>
<div class="menu">
<a class="item" href="{% url 'organizations:new_organization' %}">New organization</a>
<a class="item" href="{% url 'projects:new_project' %}">New project</a>
<div class="divider"></div>
<div class="header">This organization</div>
<a class="item">Invite someone</a>
<div class="divider"></div>
<div class="header">This project</div>
<a class="item">New document</a>
</div>
{% if request.user.is_superuser or can_invite or can_create %}
<i class="large plus icon"></i>
<i class="dropdown icon"></i>
<div class="menu">
{% if request.user.is_superuser %}
<a class="item" href="{% url 'organizations:new_organization' %}">New organization</a>
<a class="item" href="{% url 'projects:new_project' %}">New project</a>
<div class="divider"></div>
{% endif %}
{% if can_invite %}
<div class="header">This organization</div>
<a class="item">Invite someone</a>
<div class="divider"></div>
{% endif %}
{% if project and can_create %}
<div class="header">This project</div>
<a class="item" href="{% url 'projects:new_document' project.pk %}">New document</a>
<a class="item">Invite someone</a>
{% endif %}
</div>
{% endif %}
</div>
<div class="user top right pointing ui dropdown item" data-content="View profile and more">
<img class="ui mini rounded image" src="{{ request.user.avatar_url }}">
Expand Down
5 changes: 0 additions & 5 deletions django_kala/django_kala/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,6 @@
include('organizations.urls', namespace='organizations'),
),

url(
r'^documents/',
include('documents.urls'),
),

url(
r'^accounts/',
include('auth.urls', namespace='users'),
Expand Down
15 changes: 0 additions & 15 deletions django_kala/documents/urls.py

This file was deleted.

73 changes: 0 additions & 73 deletions django_kala/documents/views.py

This file was deleted.

2 changes: 2 additions & 0 deletions django_kala/organizations/views/settings/details.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ def get_context_data(self, **kwargs):
return {
'form': self.form,
'organization': self.organization,
'can_invite': self.organization.has_change(self.request.user) or self.organization.has_create(
self.request.user),
}

def dispatch(self, request, pk, *args, **kwargs):
Expand Down
3 changes: 3 additions & 0 deletions django_kala/organizations/views/settings/manage_access.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ def get_context_data(self, **kwargs):
return {
'forms': self.forms,
'organization': self.organization,
'can_invite': self.organization.has_change(self.request.user) or self.organization.has_create(
self.request.user),

}

def dispatch(self, request, pk, *args, **kwargs):
Expand Down
5 changes: 2 additions & 3 deletions django_kala/projects/templates/documents/new_document.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,11 @@
<div class="repo ribbon">
<div class="ui container">
<div class="ui big breadcrumb">
<h2>
<a class="section" href="{% url 'organizations:organization' project.organization.pk %}">{{ project.organization }}</a>
<div class="divider"> /</div>
<a class="section" href="{% url 'projects:project' project.pk %}">{{ project }}</a>
<div class="divider"> /</div>
<span class="active section">New Document</span>

</h2>
</div>
</div>
<div class="ui divider"></div>
Expand Down
3 changes: 2 additions & 1 deletion django_kala/projects/views/documents/document.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ def get_context_data(self, **kwargs):
'project': self.project,
'document': self.document,
'can_change': self.document.has_change(self.request.user),
'can_create': self.has_change or self.has_create
'can_create': self.has_change or self.has_create,
'can_invite': self.project.organization.has_change(self.request.user) or self.project.organization.has_create(self.request.user)
}

def dispatch(self, request, project_pk, document_pk, *args, **kwargs):
Expand Down
4 changes: 3 additions & 1 deletion django_kala/projects/views/documents/new_document.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ def get_context_data(self, **kwargs):
return {
'form': self.form,
'version_form': self.version_form,
'project': self.project
'project': self.project,
'can_create': self.project.has_change(self.request.user) or self.project.has_create(self.request.user),
'can_invite': self.project.organization.has_change(self.request.user) or self.project.organization.has_create(self.request.user)
}

def dispatch(self, request, project_pk, *args, **kwargs):
Expand Down
5 changes: 4 additions & 1 deletion django_kala/projects/views/documents/new_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@ def get_context_data(self, **kwargs):
return {
'form': self.form,
'document': self.document,
'project': self.project
'project': self.project,
'can_create': self.project.has_change(self.request.user) or self.project.has_create(self.request.user),
'can_invite': self.project.organization.has_change(
self.request.user) or self.project.organization.has_create(self.request.user)
}

def dispatch(self, request, project_pk, document_pk, *args, **kwargs):
Expand Down
5 changes: 4 additions & 1 deletion django_kala/projects/views/documents/settings/details.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@ def get_context_data(self, **kwargs):
return {
'form': self.form,
'document': self.document,
'project': self.project
'project': self.project,
'can_create': self.project.has_change(self.request.user) or self.project.has_create(self.request.user),
'can_invite': self.project.organization.has_change(self.request.user) or self.project.organization.has_create(self.request.user)

}

def dispatch(self, request, project_pk, document_pk, *args, **kwargs):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ def get_context_data(self, **kwargs):
return {
'forms': self.forms,
'document': self.document,
'can_create': self.project.has_change(self.request.user) or self.project.has_create(self.request.user),
'can_invite': self.project.organization.has_change(self.request.user) or self.project.organization.has_create(self.request.user)

}

def dispatch(self, request, project_pk, document_pk, *args, **kwargs):
Expand Down
3 changes: 2 additions & 1 deletion django_kala/projects/views/projects/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@ def get_context_data(self, **kwargs):
'version_count': versions.count(),
'user_count': versions.distinct('user').count(),
'can_change': self.project.has_change(self.request.user),
'can_create': self.project.has_change(self.request.user) or self.project.has_create(self.request.user)
'can_create': self.project.has_change(self.request.user) or self.project.has_create(self.request.user),
'can_invite': self.project.organization.has_change(self.request.user) or self.project.organization.has_create(self.request.user)
}

def dispatch(self, request, pk, *args, **kwargs):
Expand Down
2 changes: 2 additions & 0 deletions django_kala/projects/views/projects/settings/archive.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ class ArchiveView(LoginRequiredMixin, TemplateView):
def get_context_data(self, **kwargs):
return {
'project': self.project,
'can_create': self.project.has_change(self.request.user) or self.project.has_create(self.request.user),
'can_invite': self.project.organization.has_change(self.request.user) or self.project.organization.has_create(self.request.user)
}

def dispatch(self, request, pk, *args, **kwargs):
Expand Down
4 changes: 4 additions & 0 deletions django_kala/projects/views/projects/settings/categories.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ def get_context_data(self, **kwargs):
return {
'categories': self.project.category_set.all(),
'project': self.project,
'can_create': self.project.has_change(self.request.user) or self.project.has_create(self.request.user),
'can_invite': self.project.organization.has_change(self.request.user) or self.project.organization.has_create(self.request.user)
}

def dispatch(self, request, pk, category_pk=None, *args, **kwargs):
Expand All @@ -39,6 +41,8 @@ def get_context_data(self, **kwargs):
return {
'form': self.form,
'project': self.project,
'can_create': self.project.has_change(self.request.user) or self.project.has_create(self.request.user),
'can_invite': self.project.organization.has_change(self.request.user) or self.project.organization.has_create(self.request.user)
}

def dispatch(self, request, pk, *args, **kwargs):
Expand Down
2 changes: 2 additions & 0 deletions django_kala/projects/views/projects/settings/details.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ def get_context_data(self, **kwargs):
return {
'form': self.form,
'project': self.project,
'can_create': self.project.has_change(self.request.user) or self.project.has_create(self.request.user),
'can_invite': self.project.organization.has_change(self.request.user) or self.project.organization.has_create(self.request.user)
}

def dispatch(self, request, pk, *args, **kwargs):
Expand Down
2 changes: 2 additions & 0 deletions django_kala/projects/views/projects/settings/manage_access.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ def get_context_data(self, **kwargs):
return {
'forms': self.forms,
'project': self.project,
'can_create': self.project.has_change(self.request.user) or self.project.has_create(self.request.user),
'can_invite': self.project.organization.has_change(self.request.user) or self.project.organization.has_create(self.request.user)
}

def dispatch(self, request, pk, *args, **kwargs):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ def get_context_data(self, **kwargs):
return {
'form': self.form,
'project': self.project,
'can_create': self.project.has_change(self.request.user) or self.project.has_create(self.request.user),
'can_invite': self.project.organization.has_change(self.request.user) or self.project.organization.has_create(self.request.user)
}

def dispatch(self, request, pk, *args, **kwargs):
Expand Down
2 changes: 2 additions & 0 deletions django_kala/projects/views/projects/settings/users.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ def get_context_data(self, **kwargs):
'project': self.project,
'users': self.project.get_users(self.request.user),
'forms': self.forms,
'can_create': self.project.has_change(self.request.user) or self.project.has_create(self.request.user),
'can_invite': self.project.organization.has_change(self.request.user) or self.project.organization.has_create(self.request.user)
}

def dispatch(self, request, pk, *args, **kwargs):
Expand Down

0 comments on commit bf2488f

Please sign in to comment.