Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
L
library-app-django
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ilham Maulana
library-app-django
Commits
beaf22b4
Commit
beaf22b4
authored
Jul 03, 2024
by
impfundev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: uniq account number member
fix: nullable return date on book loan
parent
75f7f42b
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
148 additions
and
47 deletions
+148
-47
0004_alter_bookloans_return_date.py
book_loans/migrations/0004_alter_bookloans_return_date.py
+18
-0
models.py
book_loans/models.py
+1
-1
0002_members_uniq_code.py
members/migrations/0002_members_uniq_code.py
+19
-0
0003_remove_members_uniq_code_members_account_number.py
...s/0003_remove_members_uniq_code_members_account_number.py
+22
-0
0004_alter_members_account_number.py
members/migrations/0004_alter_members_account_number.py
+18
-0
models.py
members/models.py
+6
-0
members_table_data.html
members/templates/members_table_data.html
+51
-46
utils.py
members/utils.py
+13
-0
No files found.
book_loans/migrations/0004_alter_bookloans_return_date.py
0 → 100644
View file @
beaf22b4
# Generated by Django 4.2 on 2024-07-03 05:25
from
django.db
import
migrations
,
models
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'book_loans'
,
'0003_rename_issued_by_bookloans_librarians'
),
]
operations
=
[
migrations
.
AlterField
(
model_name
=
'bookloans'
,
name
=
'return_date'
,
field
=
models
.
DateTimeField
(
blank
=
True
,
null
=
True
),
),
]
book_loans/models.py
View file @
beaf22b4
...
...
@@ -11,7 +11,7 @@ class BookLoans(models.Model):
notes
=
models
.
TextField
(
blank
=
True
,
null
=
True
)
loan_date
=
models
.
DateTimeField
()
due_date
=
models
.
DateTimeField
()
return_date
=
models
.
DateTimeField
()
return_date
=
models
.
DateTimeField
(
null
=
True
,
blank
=
True
)
created_at
=
models
.
DateTimeField
(
auto_now_add
=
True
)
updated_at
=
models
.
DateTimeField
(
auto_now
=
True
)
...
...
members/migrations/0002_members_uniq_code.py
0 → 100644
View file @
beaf22b4
# Generated by Django 4.2 on 2024-07-03 05:31
from
django.db
import
migrations
,
models
import
uuid
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'members'
,
'0001_initial'
),
]
operations
=
[
migrations
.
AddField
(
model_name
=
'members'
,
name
=
'uniq_code'
,
field
=
models
.
UUIDField
(
default
=
uuid
.
UUID
(
'7159cb38-38d8-4a14-b38d-aa99818f5dc3'
),
editable
=
False
),
),
]
members/migrations/0003_remove_members_uniq_code_members_account_number.py
0 → 100644
View file @
beaf22b4
# Generated by Django 4.2 on 2024-07-03 05:47
from
django.db
import
migrations
,
models
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'members'
,
'0002_members_uniq_code'
),
]
operations
=
[
migrations
.
RemoveField
(
model_name
=
'members'
,
name
=
'uniq_code'
,
),
migrations
.
AddField
(
model_name
=
'members'
,
name
=
'account_number'
,
field
=
models
.
CharField
(
default
=
'93080345'
,
editable
=
False
,
max_length
=
8
),
),
]
members/migrations/0004_alter_members_account_number.py
0 → 100644
View file @
beaf22b4
# Generated by Django 4.2 on 2024-07-03 05:49
from
django.db
import
migrations
,
models
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'members'
,
'0003_remove_members_uniq_code_members_account_number'
),
]
operations
=
[
migrations
.
AlterField
(
model_name
=
'members'
,
name
=
'account_number'
,
field
=
models
.
CharField
(
default
=
'025950513486265'
,
editable
=
False
,
max_length
=
15
),
),
]
members/models.py
View file @
beaf22b4
from
django.db
import
models
from
members.utils
import
generate_unique_number
random_number
=
generate_unique_number
(
15
)
class
Members
(
models
.
Model
):
account_number
=
models
.
CharField
(
default
=
random_number
,
editable
=
False
,
max_length
=
15
)
name
=
models
.
CharField
(
max_length
=
50
)
email
=
models
.
EmailField
()
password
=
models
.
CharField
(
max_length
=
255
)
...
...
members/templates/members_table_data.html
View file @
beaf22b4
<table
class=
"table table-hover"
>
<thead>
<tr
class=
"table-primary"
>
<th
scope=
"col"
>
Name
</th>
<th
scope=
"col"
>
Email
</th>
<th
scope=
"col"
>
Created At
</th>
<th
scope=
"col"
>
Updated At
</th>
<th
scope=
"col"
></th>
</tr>
</thead>
<tbody>
{% if members %} {% for member in members %}
<tr>
<td>
{{ member.name }}
</td>
<td>
{{ member.email }}
</td>
<td>
{{ member.created_at }}
</td>
<td>
{{ member.updated_at }}
</td>
<td
class=
"d-flex gap-2"
>
<a
class=
"btn btn-success"
href=
"/dashboard/members/{{ member.id }}/update/"
>
<i
class=
"bi bi-pencil-square"
></i>
</a>
<button
class=
"btn btn-danger"
data-bs-toggle=
"modal"
data-bs-target=
"#member_delete_modal_{{ member.id }}"
>
<i
class=
"bi bi-trash3-fill"
></i>
</button>
</td>
</tr>
{% endfor %} {% else %}
<tr
class=
"w-100"
>
<td></td>
<td></td>
<td>
<p>
Data Empty
</p>
</td>
<td></td>
<td></td>
</tr>
{% endif %}
</tbody>
</table>
<table
class=
"table table-hover"
>
<thead>
<tr
class=
"table-primary"
>
<th
scope=
"col"
>
Name
</th>
<th
scope=
"col"
>
Email
</th>
<th
scope=
"col"
>
Created At
</th>
<th
scope=
"col"
>
Updated At
</th>
<th
scope=
"col"
>
Account Number
</th>
<th
scope=
"col"
></th>
</tr>
</thead>
<tbody>
{% if members %} {% for member in members %}
<tr
class=
"text-truncate"
>
<td>
{{ member.name }}
</td>
<td>
{{ member.email }}
</td>
<td>
{{ member.created_at }}
</td>
<td>
{{ member.updated_at }}
</td>
<td>
{{ member.account_number }}
</td>
<td
class=
"d-flex gap-2"
>
<a
class=
"btn btn-success"
href=
"/dashboard/members/{{ member.id }}/update/"
>
<i
class=
"bi bi-pencil-square"
></i>
</a>
<button
class=
"btn btn-danger"
data-bs-toggle=
"modal"
data-bs-target=
"#member_delete_modal_{{ member.id }}"
>
<i
class=
"bi bi-trash3-fill"
></i>
</button>
</td>
</tr>
{% endfor %} {% else %}
<tr
class=
"w-100"
>
<td></td>
<td></td>
<td></td>
<td>
<p>
Data Empty
</p>
</td>
<td></td>
<td></td>
</tr>
{% endif %}
</tbody>
</table>
</div>
members/utils.py
0 → 100644
View file @
beaf22b4
import
random
import
string
def
generate_unique_number
(
digit
:
int
):
while
True
:
number
=
""
.
join
(
random
.
choices
(
string
.
digits
,
k
=
digit
))
if
not
is_number_used
(
number
):
return
number
def
is_number_used
(
number
):
return
False
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