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). Тариф будет активен в эти дни.")
16 verbose_name
= 'тариф'
17 verbose_name_plural
= 'Тарифы'
18 def __unicode__(self
):
19 return "%s" % (self
.title
)
22 ('Информация о тарифе', {'fields': ('title','perday','permonth','week_days')}),
24 list_display
= ("title", "perday", "permonth", "week_days")
26 search_fields
= ("title")
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
)
46 verbose_name
= 'клиента'
47 verbose_name_plural
= 'Клиенты'
48 def __unicode__(self
):
49 return "%s" % (self
.login
)
52 ('Основная информация', {'fields': ('login','password','lastname','firstname','middlename',)}),
53 ('Счет абонента', {'fields': ('balance', 'credit', 'tariffid', 'blocked')}),
55 list_display
= ("login", "balance", "credit", "tariffid")
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
='Размер пополнения')
67 verbose_name
= 'пополнение счета'
68 verbose_name_plural
= 'Логи пополнения счетов'
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)
77 db_table
= u
'not_table'
78 verbose_name_plural
= 'Пополнить баланс'