modified: katrin-web/katrin/models.py - change adminid type
[katrin-web.git] / katrin-web / katrin / models.py
blob3caa15d57138dd9bd11285d83300072e31d7a603
1 # vim: set fileencoding=utf-8 :
3 from django.db import models
4 from datetime import datetime
5 from django.contrib.auth.models import User
8 class Tariffs(models.Model):
9 id = models.IntegerField(primary_key=True)
10 title = models.CharField("Название", max_length=120)
11 perday = models.DecimalField("За день",max_digits=5, decimal_places=2, help_text='Абоненская плата за день')
12 permonth = models.DecimalField("За месяц", max_digits=5, decimal_places=2, help_text='Абоненская плата за месяц')
13 week_days = models.CharField("Дни недели", max_length=15, blank=True, help_text="Номера дней недели через запятую (например: 6,7). Тариф будет активен в эти дни.")
14 class Meta:
15 db_table = u'tariffs'
16 verbose_name = 'тариф'
17 verbose_name_plural = 'Тарифы'
18 def __unicode__(self):
19 return "%s" % (self.title)
20 class Admin:
21 fields = (
22 ('Информация о тарифе', {'fields': ('title','perday','permonth','week_days')}),
24 list_display = ("title", "perday", "permonth", "week_days")
25 ordering = ["title"]
26 search_fields = ("title")
28 YES_NO = (
29 (1, 'Да'),
30 (0, 'Нет'),
33 class Users(models.Model):
34 id = models.IntegerField(primary_key=True)
35 login = models.CharField("Логин", max_length=60)
36 password = models.CharField("Пароль", max_length=20)
37 lastname = models.CharField("Фамилия", max_length=20)
38 firstname = models.CharField("Имя", max_length=20)
39 middlename = models.CharField("Отчество", max_length=20)
40 tariffid = models.ForeignKey(Tariffs,db_column='tariffid')
41 balance = models.DecimalField(max_digits=7, decimal_places=4)
42 credit = models.DecimalField(max_digits=7, decimal_places=4)
43 blocked = models.IntegerField(default=0, choices=YES_NO)
44 class Meta:
45 db_table = u'users'
46 verbose_name = 'клиента'
47 verbose_name_plural = 'Клиенты'
48 def __unicode__(self):
49 return "%s" % (self.login)
50 class Admin:
51 fields = (
52 ('Основная информация', {'fields': ('login','password','lastname','firstname','middlename',)}),
53 ('Счет абонента', {'fields': ('balance', 'credit', 'tariffid', 'blocked')}),
55 list_display = ("login", "balance", "credit", "tariffid")
56 ordering = ["login"]
57 search_fields = ("login", "lastname")
58 list_filter = ("tariffid",)
60 class RefillLog(models.Model):
61 id = models.AutoField(primary_key=True)
62 datetime = models.DateTimeField(default=datetime.now())
63 adminid = models.ForeignKey(User,db_column='adminid')
64 userid = models.ForeignKey(Users,db_column='userid')
65 refill_size = models.DecimalField("Пополнено на",max_digits=5, decimal_places=2, help_text='Размер пополнения')
66 class Meta:
67 verbose_name = 'пополнение счета'
68 verbose_name_plural = 'Логи пополнения счетов'
69 class Admin:
70 list_display = ("datetime", "adminid","userid","refill_size")
73 # This classes only for show links in admin main page.
74 class Refill(models.Model):
75 id = models.AutoField(primary_key=True)
76 class Meta:
77 db_table = u'not_table'
78 verbose_name_plural = 'Пополнить баланс'
79 class Admin:
80 pass