Skip to content

Commit 02cba72

Browse files
authored
Merge pull request #76 from hackupc/checkin-admin
Add checkin admin interface. solves #74
2 parents 12b4cd8 + c7b528f commit 02cba72

File tree

6 files changed

+64
-3
lines changed

6 files changed

+64
-3
lines changed

checkin/admin.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
from checkin import models
12
from django.contrib import admin
3+
4+
25
# Register your models here.
36

7+
class CheckinAdmin(admin.ModelAdmin):
8+
list_display = (
9+
'user', 'application', 'update_time'
10+
)
11+
search_fields = list_display
12+
date_hierarchy = 'update_time'
13+
14+
admin.site.register(models.CheckIn, admin_class=CheckinAdmin)

checkin/migrations/0001_initial.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.10.4 on 2017-02-26 03:52
3+
from __future__ import unicode_literals
4+
5+
from django.conf import settings
6+
from django.db import migrations, models
7+
import django.db.models.deletion
8+
9+
10+
class Migration(migrations.Migration):
11+
12+
initial = True
13+
14+
dependencies = [
15+
('register', '0007_permissions'),
16+
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
17+
]
18+
19+
operations = [
20+
migrations.CreateModel(
21+
name='CheckIn',
22+
fields=[
23+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
24+
('update_time', models.DateTimeField()),
25+
('application', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='register.Application')),
26+
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
27+
],
28+
),
29+
]

checkin/migrations/__init__.py

Whitespace-only changes.

checkin/models.py

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,23 @@
11
from __future__ import unicode_literals
22

3+
from django.contrib.auth import models as admin_models
34
from django.db import models
4-
from register.models import Application
5-
65
# Create your models here.
6+
from django.utils.datetime_safe import datetime
7+
from register.models import APP_CONFIRMED
8+
79

810
class CheckIn(models.Model):
9-
application = models.OneToOneField('register.Application')
11+
application = models.ForeignKey('register.Application')
12+
user = models.ForeignKey(admin_models.User)
13+
update_time = models.DateTimeField()
14+
15+
def save(self, force_insert=False, force_update=False, using=None,
16+
update_fields=None):
17+
self.update_time = datetime.now()
18+
super(CheckIn, self).save(force_insert, force_update, using, update_fields)
1019

20+
def delete(self, using=None, keep_parents=False):
21+
self.application.status = APP_CONFIRMED
22+
self.application.save()
23+
super(CheckIn, self).delete(using, keep_parents)

checkin/views.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from checkin.models import CheckIn
12
from checkin.tables import ApplicationsTable
23
from django.contrib.auth.mixins import PermissionRequiredMixin
34
from django.http import HttpResponseRedirect
@@ -53,4 +54,8 @@ def post(self, request, *args, **kwargs):
5354
appid = request.POST.get('app_id')
5455
app = models.Application.objects.get(id=appid)
5556
app.check_in()
57+
ci =CheckIn()
58+
ci.user = request.user
59+
ci.application = app
60+
ci.save()
5661
return HttpResponseRedirect(request.META.get('HTTP_REFERER'))

register/models.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ class Application(models.Model):
9595

9696
# TODO: TEAM EXTERNAL
9797

98+
def __str__(self):
99+
return self.name + ' ' + self.lastname
100+
98101
def invite(self, request):
99102
if not request.user.has_perm('register.invite_application'):
100103
raise ValidationError('User doesn\'t have permission to invite user')

0 commit comments

Comments
 (0)