Skip to content

Commit

Permalink
* Rename person to user.
Browse files Browse the repository at this point in the history
* Rename is_admin to is_superuser.
  • Loading branch information
bgroff committed Aug 18, 2017
1 parent 13471ee commit 9d75f01
Show file tree
Hide file tree
Showing 33 changed files with 102 additions and 105 deletions.
2 changes: 1 addition & 1 deletion django_kala/api/basecamp_classic/companies/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def get(self, request, format=None):
return Response({'companies': Organization.objects.all(), 'request_user': request.user})

def post(self, request, format=None):
if not request.user.is_admin:
if not request.user.is_superuser:
raise PermissionDenied()

company_data = CompanySerializer(data=request.data)
Expand Down
2 changes: 1 addition & 1 deletion django_kala/api/basecamp_classic/documents/parsers.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ def _xml_convert(self, element):
data['created'] = dateparser.parse(field.text)

if field.tag == 'person-id':
data['person'] = int(str(field.text))
data['user'] = int(str(field.text))

if field.tag == 'project-id':
data['project'] = int(str(field.text))
Expand Down
6 changes: 3 additions & 3 deletions django_kala/api/basecamp_classic/documents/renderers.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ def render_document(self, document, version, request_user, xml):
xml.endElement('created-on')

xml.startElement('person-id', {'type': 'integer'})
xml.characters(smart_text(version.person.pk))
xml.characters(smart_text(version.user.pk))
xml.endElement('person-id')

xml.startElement('collection', {'type': 'integer'})
Expand Down Expand Up @@ -140,9 +140,9 @@ def _to_errors(self, data, xml):
xml.endElement('error')
xml.endElement('created-on')

if data.get('person', False):
if data.get('user', False):
xml.startElement('person-id', {})
for error in data['person']:
for error in data['user']:
xml.startElement('error', {})
xml.characters(smart_text(error))
xml.endElement('error')
Expand Down
4 changes: 2 additions & 2 deletions django_kala/api/basecamp_classic/documents/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ def create(self, validated_data):
url=validated_data['url'],
size=validated_data['size'],
created=validated_data['created'],
person=validated_data['person'],
user=validated_data['user'],
name=validated_data['name'],
description=validated_data['description']
)
Expand All @@ -41,7 +41,7 @@ def create(self, validated_data):
size = serializers.IntegerField()
category = serializers.PrimaryKeyRelatedField(queryset=Category.objects.all(), required=False)
project = serializers.PrimaryKeyRelatedField(queryset=Project.objects.all())
person = serializers.PrimaryKeyRelatedField(queryset=User.objects.all())
user = serializers.PrimaryKeyRelatedField(queryset=User.objects.all())
created = serializers.DateTimeField()
url = serializers.URLField()
collection = serializers.IntegerField()
Expand Down
8 changes: 4 additions & 4 deletions django_kala/api/basecamp_classic/people/renderers.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,13 +137,13 @@ def render_person(self, user, request_user, xml):
except AttributeError:
xml.characters(smart_text(''))
xml.endElement('avatar-url')
if request_user.is_admin:
if request_user.is_superuser:
xml.startElement('user-name', {})
xml.characters(smart_text(user.username))
xml.endElement('user-name')

xml.startElement('administrator', {'type': 'boolean'})
xml.characters(smart_text(str(user.is_admin).lower()))
xml.characters(smart_text(str(user.is_superuser).lower()))
xml.endElement('administrator')

xml.startElement('deleted', {'type': 'boolean'})
Expand Down Expand Up @@ -300,9 +300,9 @@ def _to_errors(self, data, xml):
xml.endElement('error')
xml.endElement('avatar-url')

if data.get('is_admin', False):
if data.get('is_superuser', False):
xml.startElement('administrator', {})
for error in data['is_admin']:
for error in data['is_superuser']:
xml.startElement('error', {})
xml.characters(smart_text(error))
xml.endElement('error')
Expand Down
2 changes: 1 addition & 1 deletion django_kala/api/basecamp_classic/people/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class Meta:
model = User
fields = (
'id', 'first_name', 'last_name', 'email', 'username',
'avatar_url', 'date_joined', 'is_active', 'is_admin',
'avatar_url', 'date_joined', 'is_active', 'is_superuser',
'organizations'
)

Expand Down
6 changes: 3 additions & 3 deletions django_kala/api/basecamp_classic/people/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ def get(self, request, format=None):

class PeopleView(APIView):
"""
View to list all users in the system. You can also POST to this view with an xml person if you are an
View to list all users in the system. You can also POST to this view with an xml user if you are an
administrator.
"""
Expand All @@ -56,15 +56,15 @@ def get(self, request, format=None):
Return a list of all users.
"""
include_deleted = request.GET.get('include_deleted', False)
if request.user.is_admin and include_deleted == 'true':
if request.user.is_superuser and include_deleted == 'true':
# TODO: Use an is_active mixin to filter between deleted and non-deleted
users = User.objects.all()
else:
users = User.objects.all()
return Response({'users': users, 'request_user': request.user})

def post(self, request, format=None):
if not request.user.is_admin:
if not request.user.is_superuser:
raise PermissionDenied()

user_data = UserSerializer(data=request.data)
Expand Down
4 changes: 2 additions & 2 deletions django_kala/api/basecamp_classic/projects/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def get(self, request, format=None):
return Response({'projects': Project.objects.all().prefetch_related(), 'request_user': request.user})

def post(self, request, format=None):
if not request.user.is_admin:
if not request.user.is_superuser:
raise PermissionDenied()

project_data = ProjectSerializer(data=request.data)
Expand Down Expand Up @@ -147,7 +147,7 @@ def get(self, request, pk, format=None):
return Response({'documents': project.document_set.all().prefetch_related(), 'request_user': request.user})

def post(self, request, pk, format=None):
if not request.user.is_admin:
if not request.user.is_superuser:
raise PermissionDenied()

project = get_object_or_404(Project, pk=pk)
Expand Down
16 changes: 8 additions & 8 deletions django_kala/auth/forms/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,14 +80,14 @@ def save(self):
return organization


def permission_forms(request, person):
return [PermissionsForm(request.POST or None, person=person, organization=organization) for organization in
def permission_forms(request, user):
return [PermissionsForm(request.POST or None, user=user, organization=organization) for organization in
Organization.objects.active().filter(pk__in=Project.objects.active().values('organization__pk'))]


class PermissionsForm(forms.Form):
def __init__(self, *args, **kwargs):
self.person = kwargs.pop('person')
self.user = kwargs.pop('user')
self.organization = kwargs.pop('organization')
self.projects = Project.objects.active().filter(organization=self.organization)
super(PermissionsForm, self).__init__(*args, **kwargs)
Expand All @@ -99,16 +99,16 @@ def __init__(self, *args, **kwargs):
for project in self.projects:
self.fields['%i' % project.pk] = forms.BooleanField(required=False, label=project,
initial=True if project.clients.filter(
pk=self.person.pk).exists() else False,
pk=self.user.pk).exists() else False,
widget=forms.CheckboxInput(
attrs={'pk': self.organization.pk}))

def save(self):
for project in self.projects:
is_selected = self.cleaned_data['%i' % project.pk]
if is_selected:
if not project.clients.filter(pk=self.person.pk).exists():
project.clients.add(self.person)
if not project.clients.filter(pk=self.user.pk).exists():
project.clients.add(self.user)
else:
if project.clients.filter(pk=self.person.pk).exists():
project.clients.remove(self.person)
if project.clients.filter(pk=self.user.pk).exists():
project.clients.remove(self.user)
3 changes: 1 addition & 2 deletions django_kala/auth/migrations/0001_initial.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ class Migration(migrations.Migration):
('title', models.CharField(blank=True, max_length=255, null=True)),
('timezone', timezone_field.fields.TimeZoneField(blank=True, default='UTC')),
('access_new_projects', models.BooleanField(default=False)),
('is_admin', models.BooleanField(default=False)),
('fax', django_localflavor_us.models.PhoneNumberField(blank=True, max_length=20, null=True)),
('home', django_localflavor_us.models.PhoneNumberField(blank=True, max_length=20, null=True)),
('mobile', django_localflavor_us.models.PhoneNumberField(blank=True, max_length=20, null=True)),
Expand All @@ -54,7 +53,7 @@ class Migration(migrations.Migration):
],
options={
'ordering': ['first_name', 'last_name'],
'db_table': 'kala_person',
'db_table': 'kala_user',
},
managers=[
('objects', django.contrib.auth.models.UserManager()),
Expand Down
10 changes: 4 additions & 6 deletions django_kala/auth/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ class User(AbstractUser):
timezone = TimeZoneField(default=settings.TIME_ZONE, blank=True)
access_new_projects = models.BooleanField(default=False)

is_admin = models.BooleanField(default=False)

# Phone numbers
fax = PhoneNumberField(null=True, blank=True)
home = PhoneNumberField(null=True, blank=True)
Expand All @@ -40,7 +38,7 @@ class User(AbstractUser):

class Meta:
ordering = ['first_name', 'last_name']
db_table = 'kala_person'
db_table = 'kala_user'

def set_active(self, active):
self.is_active = active
Expand All @@ -49,7 +47,7 @@ def set_active(self, active):
self.save()

def get_organizations(self, has_projects=True):
if self.is_admin:
if self.is_superuser:
_organizations = organizations.models.Organization.objects.active()
else:
_organizations = organizations.models.Organization.objects.active().filter(
Expand All @@ -64,15 +62,15 @@ def get_organizations(self, has_projects=True):
return _organizations

def get_projects(self):
if self.is_admin:
if self.is_superuser:
return projects.models.Project.objects.active()
else:
return projects.models.Project.objects.active().filter(
organization__id=self.get_organizations().values_list('organization__pk')
)

def get_users(self):
if self.is_admin:
if self.is_superuser:
return User.objects.all()
else:
organizations = self.get_organizations().values_list('pk')
Expand Down
8 changes: 4 additions & 4 deletions django_kala/auth/templates/profile.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ <h3>{% if person.pk == request.user.pk %}Your Profile
<li class="active">
<a href="#profile" data-toggle="tab">Profile</a>
</li>
{% if request.user.is_admin %}
{% if request.user.is_superuser %}
<li><a href="#projects" data-toggle="tab">Projects</a></li>
{% endif %}
</ul>
Expand Down Expand Up @@ -148,7 +148,7 @@ <h3>{% if person.pk == request.user.pk %}Your Profile
</fieldset>
</form>
</div>
{% if user.is_admin %}
{% if user.is_superuser %}
<div class="tab-pane" id="projects">
<p>To grant {{ person|pretty_user }} access to projects, click on the checkboxes below.
When you are finished,
Expand Down Expand Up @@ -220,7 +220,7 @@ <h3>{% if person.pk == request.user.pk %}Your Profile
</div> <!-- /span8 -->


{% if user.is_admin %}
{% if user.is_superuser %}
<div class="span4 pull-right">
<div class="widget stacked widget-box">
<div class="widget-header">
Expand All @@ -230,7 +230,7 @@ <h3>Administrative Access</h3>
<form method="post" action="{% url 'edit_profile' person.pk %}">
{% csrf_token %}

{% if person.is_admin %}
{% if person.is_superuser %}
<p style="margin-top: 5px;">To remove administration privileges from this user, click
the button below.</p>

Expand Down
4 changes: 2 additions & 2 deletions django_kala/auth/templates/users.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ <h4>Organization</h4>
</div>
</div>
</div>
{% if request.user.is_admin %}
{% if request.user.is_superuser %}
<a class="ui positive compact icon button" href="{% url 'users:invite_user' %}">
+ Invite user
</a>
Expand All @@ -72,7 +72,7 @@ <h4>Organization</h4>
<div class="content">
<img class="right floated avatar ui image" src="{{ user.avatar_url }}">
<div class="header">
{% if request.user.is_admin %}
{% if request.user.is_superuser %}
<a href="{% url 'users:details' user.pk %}">
{{ user }}
</a>
Expand Down
36 changes: 18 additions & 18 deletions django_kala/auth/views/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,46 +20,46 @@ class EditProfile(LoginRequiredMixin, TemplateView):
def get_context_data(self, **kwargs):
context = {
'form': self.form,
'person': self.person,
'user': self.user,
}
if self.request.user.is_admin:
if self.request.user.c:
context['permission_forms'] = self.permission_forms
return context

def dispatch(self, request, pk, *args, **kwargs):
self.person = get_object_or_404(get_user_model(), pk=pk)
if self.person != request.user and not request.user.is_admin:
messages.error(request, 'You do not have permission to edit this persons account')
self.user = get_object_or_404(get_user_model(), pk=pk)
if self.user != request.user and not request.user.is_superuser:
messages.error(request, 'You do not have permission to edit this users account')
return redirect(reverse('home'))
self.form = PersonForm(request.POST or None, instance=self.person)
if request.user.is_admin:
self.permission_forms = permission_forms(request, self.person)
self.form = PersonForm(request.POST or None, instance=self.user)
if request.user.is_superuser:
self.permission_forms = permission_forms(request, self.user)
return super(EditProfile, self).dispatch(request, *args, **kwargs)

def post(self, request, *args, **kwargs):
if 'toggle-admin' in request.POST and request.user.is_admin:
self.person.is_admin = not self.person.is_admin
self.person.save()
if self.person.is_admin:
if 'toggle-admin' in request.POST and request.user.is_superuser:
self.user.is_superuser = not self.user.is_superuser
self.user.save()
if self.user.is_superuser:
messages.success(request, 'This user has been granted administrator privileges')
else:
messages.success(request, 'This user has had it\'s administrator privileges revoked')
return redirect(reverse('edit_profile', args=[self.person.pk]))
return redirect(reverse('edit_profile', args=[self.user.pk]))

if 'delete' in request.POST and request.user.is_admin:
self.person.set_active(False)
messages.success(request, 'The person has been removed')
if 'delete' in request.POST and request.user.is_superuser:
self.user.set_active(False)
messages.success(request, 'The user has been removed')
return redirect(reverse('accounts'))

if 'save-permissions' in request.POST:
for form in self.permission_forms:
if form.is_valid():
form.save()
messages.success(request, 'The permissions have been updated')
return redirect(reverse('edit_profile', args=[self.person.pk]))
return redirect(reverse('edit_profile', args=[self.user.pk]))

if self.form.is_valid():
self.form.save()
messages.success(request, 'Profile data has been saved')
return redirect(reverse('edit_profile', args=[self.person.pk]))
return redirect(reverse('edit_profile', args=[self.user.pk]))
return self.render_to_response(self.get_context_data())
2 changes: 1 addition & 1 deletion django_kala/django_kala/templates/home.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ <h3>Current Documents</h3>
alt="{{ document.get_alt }}"
style="width: 64px; height: 64px;"/></td>
<td><a href="{% url 'projects:document' document.project.pk document.pk %}">{{ document.name }}</a></td>
<td>{{ document.person|pretty_user }}</td>
<td>{{ document.user|pretty_user }}</td>
<td style="text-align: center;">{{ document.created|date:"M j" }}</td>
</tr>
{% empty %}
Expand Down
4 changes: 2 additions & 2 deletions django_kala/django_kala/templates/search.html
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ <h4>Date</h4>
{% else %}
<span class="date">Updated on {{ document.date }}</span>
{% endif %}
by {{ document.documentversion_set.all.0.person }}
by {{ document.documentversion_set.all.0.user }}
</div>
{% if document.documentversion_set.all.0.description %}
<div class="description" style="word-wrap: break-word;">
Expand All @@ -123,7 +123,7 @@ <h4>Date</h4>
<div class="item">
<div class="content">
<a class="header">{{ document_version.name }}</a>
<div class="description">By {{ document_version.person }} on {{ document_version.created|date:"SHORT_DATETIME_FORMAT" }}</div>
<div class="description">By {{ document_version.user }} on {{ document_version.created|date:"SHORT_DATETIME_FORMAT" }}</div>
</div>
</div>
{% endfor %}
Expand Down

0 comments on commit 9d75f01

Please sign in to comment.