Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
AE UTBM
Sith
Commits
260a17ae
Commit
260a17ae
authored
Aug 05, 2016
by
Skia
🤘
Browse files
Improve generation of account id
parent
44a6621a
Changes
4
Hide whitespace changes
Inline
Side-by-side
counter/migrations/0014_auto_20160804_1603.py
0 → 100644
View file @
260a17ae
# -*- coding: utf-8 -*-
from
__future__
import
unicode_literals
from
django.db
import
migrations
,
models
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'counter'
,
'0013_auto_20160801_2255'
),
]
operations
=
[
migrations
.
AlterModelOptions
(
name
=
'customer'
,
options
=
{
'verbose_name'
:
'customer'
,
'ordering'
:
[
'account_id'
],
'verbose_name_plural'
:
'customers'
},
),
]
counter/models.py
View file @
260a17ae
...
...
@@ -6,7 +6,8 @@ from django.core.urlresolvers import reverse
from
django.forms
import
ValidationError
from
datetime
import
timedelta
from
random
import
randrange
import
random
import
string
from
club.models
import
Club
from
accounting.models
import
CurrencyField
...
...
@@ -26,12 +27,17 @@ class Customer(models.Model):
class
Meta
:
verbose_name
=
_
(
'customer'
)
verbose_name_plural
=
_
(
'customers'
)
ordering
=
[
'account_id'
,]
def
__str__
(
self
):
return
self
.
user
.
username
def
generate_account_id
():
return
randrange
(
0
,
4000
)
# TODO: improve me!
def
generate_account_id
(
number
):
number
=
str
(
number
)
letter
=
random
.
choice
(
string
.
ascii_lowercase
)
while
Customer
.
objects
.
filter
(
account_id
=
number
+
letter
).
exists
():
letter
=
random
.
choice
(
string
.
ascii_lowercase
)
return
number
+
letter
def
save
(
self
,
*
args
,
**
kwargs
):
if
self
.
amount
<
0
:
...
...
eboutic/models.py
View file @
260a17ae
...
...
@@ -59,7 +59,8 @@ class Invoice(models.Model):
raise
DataError
(
_
(
"Invoice already validated"
))
from
counter.models
import
Customer
if
not
Customer
.
objects
.
filter
(
user
=
self
.
user
).
exists
():
Customer
(
user
=
self
.
user
,
account_id
=
Customer
.
generate_account_id
(),
amount
=
0
).
save
()
number
=
Customer
.
objects
.
last
().
account_id
[:
-
1
]
Customer
(
user
=
self
.
user
,
account_id
=
Customer
.
generate_account_id
(
number
),
amount
=
0
).
save
()
if
self
.
payment_method
==
"SITH_ACCOUNT"
:
self
.
user
.
customer
.
amount
-=
self
.
get_total
()
self
.
user
.
customer
.
save
()
...
...
subscription/models.py
View file @
260a17ae
...
...
@@ -51,7 +51,7 @@ class Subscription(models.Model):
super
(
Subscription
,
self
).
save
()
from
counter.models
import
Customer
if
not
Customer
.
objects
.
filter
(
user
=
self
.
member
).
exists
():
Customer
(
user
=
self
.
member
,
account_id
=
Customer
.
generate_account_id
(),
amount
=
0
).
save
()
Customer
(
user
=
self
.
member
,
account_id
=
Customer
.
generate_account_id
(
self
.
id
),
amount
=
0
).
save
()
def
get_absolute_url
(
self
):
return
reverse
(
'core:user_profile'
,
kwargs
=
{
'user_id'
:
self
.
member
.
pk
})
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment