Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
43 changes: 43 additions & 0 deletions khaata_admin/admin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.utils.html import format_html
from .models import SettlementSummary, User


# Register your models here.
class SettlementSummaryAdmin(admin.ModelAdmin):
list_display = (
'user_id', 'view_records_link', 'total_num_transactions', 'settlement_id', 'report_id', 'total_amount',
'start_date', 'end_date', 'deposit_date')
# list_display_links = ('transaction_id',)
list_filter = ('user_id', 'settlement_id')

def get_queryset(self, request):
query_set = super(SettlementSummaryAdmin, self).get_queryset(request)
if request.user.is_superuser:
return query_set
return query_set.filter(user_id=request.user.link_to_user)

def view_records_link(self, obj):
url = u'../transaction/?user_id=%d&settlement_id=%s' % (obj.user_id, obj.settlement_id)
return format_html("<a href='{url}'>View Records</a>", url=url)


class CustomUserAdmin(UserAdmin):
list_display = ['username', 'first_name', 'last_name', 'link_to_user']
add_fieldsets = UserAdmin.add_fieldsets + (
(None, {
'classes': ('wide',),
'fields': ('link_to_user',),
}),
)
fieldsets = UserAdmin.fieldsets + (
(None, {
'classes': ('wide',),
'fields': ('link_to_user',),
}),
)


admin.site.register(SettlementSummary, SettlementSummaryAdmin)
admin.site.register(User, CustomUserAdmin)
File renamed without changes.
65 changes: 65 additions & 0 deletions khaata_admin/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Generated by Django 3.0.4 on 2020-03-16 09:14

import django.contrib.auth.models
import django.contrib.auth.validators
from django.db import migrations, models
import django.utils.timezone


class Migration(migrations.Migration):

initial = True

dependencies = [
('auth', '0011_update_proxy_permissions'),
]

operations = [
migrations.CreateModel(
name='SettlementSummary',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('user_id', models.IntegerField()),
('settlement_id', models.CharField(max_length=255)),
('start_date', models.DateField()),
('end_date', models.DateField()),
('deposit_date', models.DateField()),
('total_amount', models.CharField(max_length=255)),
('total_num_transactions', models.IntegerField()),
('report_id', models.CharField(max_length=255)),
('updated', models.DateTimeField(auto_now=True)),
('created', models.DateTimeField(auto_now_add=True)),
],
options={
'ordering': ['created'],
'unique_together': {('settlement_id', 'report_id')},
},
),
migrations.CreateModel(
name='User',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('password', models.CharField(max_length=128, verbose_name='password')),
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')),
('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')),
('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
('link_to_user', models.IntegerField(null=True)),
('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')),
('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')),
],
options={
'verbose_name': 'user',
'verbose_name_plural': 'users',
'abstract': False,
},
managers=[
('objects', django.contrib.auth.models.UserManager()),
],
),
]
12 changes: 12 additions & 0 deletions khaatatest/khaata_admin/models.py → khaata_admin/models.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,16 @@
from django.db import models
from django.contrib.auth.models import AbstractUser, Permission


class User(AbstractUser):
link_to_user = models.IntegerField(null=True)

def save(self, *args, **kwargs):
self.is_staff = True
super(User, self).save(*args, **kwargs)
permission = Permission.objects.get(name='Can view settlement summary')
self.user_permissions.add(permission)


# Create your models here.
class SettlementSummary(models.Model):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
from rest_framework import serializers
from .models import SettlementSummary

class SettlementSummarySerializer(serializers.ModelSerializer):

class SettlementSummarySerializer(serializers.ModelSerializer):
class Meta:
model = SettlementSummary
fields = ['user_id',
fields = ['user_id',
'settlement_id', 'report_id',
'total_amount', 'total_num_transactions',
'start_date','end_date','deposit_date'
]
'total_amount', 'total_num_transactions',
'start_date', 'end_date', 'deposit_date'
]
File renamed without changes.
File renamed without changes.
15 changes: 0 additions & 15 deletions khaatatest/khaata_admin/admin.py

This file was deleted.

34 changes: 0 additions & 34 deletions khaatatest/migrations/0001_initial.py

This file was deleted.

Empty file removed khaatatest/migrations/__init__.py
Empty file.
4 changes: 3 additions & 1 deletion khaatatest/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'khaatatest.khaata_admin',
'khaata_admin',
]

MIDDLEWARE = [
Expand All @@ -53,6 +53,8 @@

ROOT_URLCONF = 'khaatatest.urls'

AUTH_USER_MODEL = 'khaata_admin.User'

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
Expand Down
2 changes: 1 addition & 1 deletion khaatatest/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
# ]
from django.urls import include, path
from rest_framework import routers
from khaatatest.khaata_admin import views
from khaata_admin import views

router = routers.DefaultRouter()
# router.register(r'users', views.UserViewSet)
Expand Down