Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
perpustakaan
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
Nurrofi
perpustakaan
Commits
08c826f5
Commit
08c826f5
authored
Jan 10, 2024
by
Nurrofimutaqin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
menambahkan fitur peminjaman langsung dari halaman buku
parent
3fae0457
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
124 additions
and
28 deletions
+124
-28
databuku.html
perpustakaan/book/templates/buku/databuku.html
+3
-0
detailbuku.html
perpustakaan/book/templates/buku/detailbuku.html
+5
-5
editbuku.html
perpustakaan/book/templates/buku/editbuku.html
+5
-2
peminjaman.html
perpustakaan/book/templates/buku/peminjaman.html
+58
-0
tambahbuku.html
perpustakaan/book/templates/buku/tambahbuku.html
+6
-3
addcategory.html
perpustakaan/book/templates/category/addcategory.html
+0
-2
datacategory.html
perpustakaan/book/templates/category/datacategory.html
+4
-0
index.html
perpustakaan/book/templates/index.html
+1
-0
addpeminjaman.html
perpustakaan/book/templates/peminjaman/addpeminjaman.html
+0
-3
tambah_peminjaman_by_user.html
.../book/templates/peminjaman/tambah_peminjaman_by_user.html
+11
-1
urls.py
perpustakaan/book/urls.py
+3
-2
views.py
perpustakaan/book/views.py
+28
-10
No files found.
perpustakaan/book/templates/buku/databuku.html
View file @
08c826f5
...
@@ -64,6 +64,9 @@
...
@@ -64,6 +64,9 @@
<a
href=
"detail/{{books.id}}"
class=
"btn btn-secondary "
>
<a
href=
"detail/{{books.id}}"
class=
"btn btn-secondary "
>
<i
class=
"fas fa-fw fa-info"
></i><span
class=
"text"
>
Detail
</span>
<i
class=
"fas fa-fw fa-info"
></i><span
class=
"text"
>
Detail
</span>
</a>
</a>
<a
href=
"peminjaman/{{books.id}}"
class=
"btn btn-secondary "
>
<i
class=
"fas fa-fw fa-info"
></i><span
class=
"text"
>
peminjaman
</span>
</a>
{% if request.user.is_authenticated and request.user.role == 'librarian'%}
{% if request.user.is_authenticated and request.user.role == 'librarian'%}
<a
href=
"edit/{{books.id}}"
class=
"btn btn-warning "
>
<a
href=
"edit/{{books.id}}"
class=
"btn btn-warning "
>
<i
class=
"fas fa-fw fa-edit"
></i><span
class=
"text"
>
Edit
</span>
<i
class=
"fas fa-fw fa-edit"
></i><span
class=
"text"
>
Edit
</span>
...
...
perpustakaan/book/templates/buku/detailbuku.html
View file @
08c826f5
...
@@ -4,15 +4,17 @@
...
@@ -4,15 +4,17 @@
<div
class=
"card-header text-light bg-gradient-danger text-center"
>
<div
class=
"card-header text-light bg-gradient-danger text-center"
>
<h3>
Detail Buku {{buku.judul}}
</h3>
<h3>
Detail Buku {{buku.judul}}
</h3>
</div>
</div>
<div
class=
"card-body col-8 "
>
<div
class=
"card-body col-12 "
>
<a
href=
"{% url 'book-list'%}"
type=
"button col-5"
class=
"btn btn-primary"
><i
class=
"fas fa-fw fa-arrow-left"
></i>
Back
</a>
<hr>
<form
<form
>
>
{% csrf_token %}
{% csrf_token %}
<div
class=
"form-group row "
>
<div
class=
"form-group row "
>
<label
class=
"col-4 col-form-label"
for=
"judul"
>
Cover Buku :
</label>
<label
class=
"col-4 col-form-label"
for=
"judul"
>
Cover Buku :
</label>
<div
class=
"
col-8
"
>
<div
class=
"
col-8
"
>
{%if buku.cover %}
{%if buku.cover %}
<img
src=
"{{buku.cover.url}}"
class=
" border border-danger p-2
"
height=
"500px"
width=
"300px"
>
<img
src=
"{{buku.cover.url}}"
class=
" border border-danger p-2
col-lg-3 col-sm-12"
>
{% endif %}
{% endif %}
</div>
</div>
...
@@ -73,8 +75,6 @@
...
@@ -73,8 +75,6 @@
/>
/>
</div>
</div>
</div>
</div>
<a
href=
"{% url 'book-list'%}"
type=
"button col-5"
class=
"btn btn-primary"
><i
class=
"fas fa-fw fa-arrow-left"
></i>
Back
</a>
</form>
</form>
</div>
</div>
</div>
</div>
...
...
perpustakaan/book/templates/buku/editbuku.html
View file @
08c826f5
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"card-header text-light bg-gradient-danger"
>
<div
class=
"card-header text-light bg-gradient-danger"
>
<h3>
Edit Data {{book.judul}}
</h3>
<h3>
Edit Data {{book.judul}}
</h3>
</div>
</div>
<div
class=
"card-body
col-5
"
>
<div
class=
"card-body"
>
<form
<form
method=
"post"
method=
"post"
action=
"{% url 'books-update' books.id%}"
action=
"{% url 'books-update' books.id%}"
...
@@ -92,13 +92,16 @@
...
@@ -92,13 +92,16 @@
{{form.cover}}
{{form.cover}}
</div>
</div>
</div>
</div>
<hr>
<button
<button
type=
"submit"
type=
"submit"
name=
"submit"
name=
"submit"
class=
"btn btn-primary align-items-center"
class=
"btn btn-primary align-items-center
col-12
"
>
>
Update Data
Update Data
</button>
</button>
<hr>
<a
href=
"{% url 'book-list'%}"
type=
"button col-5"
class=
"btn btn-danger"
><i
class=
"fas fa-fw fa-arrow-left"
></i>
Back
</a>
</form>
</form>
</div>
</div>
</div>
</div>
...
...
perpustakaan/book/templates/buku/peminjaman.html
0 → 100644
View file @
08c826f5
{% extends "index.html"%} {% block content%}
<div
class=
"card"
>
<div
class=
"card-header text-light bg-gradient-danger"
>
<h3>
Pinjam Buku {{book.judul}}
</h3>
</div>
<div
class=
"card-body"
>
<form
method=
"post"
action=
"{% url 'loan_book_from_book' book.id%}"
enctype=
"multipart/form-data"
class=
"col-8"
>
{% csrf_token %}
<div
class=
"form-group row"
>
<label
class=
"col-4 col-form-label"
for=
"judul"
>
Id Buku
</label>
<div
class=
"col-8"
>
<input
id=
"judul"
name=
"buku"
value=
"{{book.id}}"
placeholder=
"Masukan Nama Buku"
type=
"text"
class=
"form-control"
required=
"required"
readonly
/>
</div>
</div>
<div
class=
"form-group row"
>
<label
class=
"col-4 col-form-label"
for=
"judul"
>
Id Buku
</label>
<div
class=
"col-8"
>
<input
value=
"{{book.judul}}"
readonly
class=
"form-control"
/>
</div>
</div>
<div
class=
"form-group row"
>
<label
for=
"tanggal_kembali"
class=
"col-4 col-form-label"
>
Tanggal Kembali
</label>
<div
class=
"col-8"
>
<input
id=
"tanggal_kembali"
name=
"tanggal_kembali"
placeholder=
"Masukan tanggal kembali"
type=
"date"
class=
"form-control"
>
</div>
</div>
<hr>
<button
type=
"submit"
name=
"submit"
class=
"btn btn-primary align-items-center col-12"
>
Pinjam Buku
</button>
<hr>
<a
href=
"{% url 'book-list'%}"
type=
"button col-5"
class=
"btn btn-danger"
><i
class=
"fas fa-fw fa-arrow-left"
></i>
Back
</a>
</form>
</div>
</div>
{% endblock content%}
perpustakaan/book/templates/buku/tambahbuku.html
View file @
08c826f5
...
@@ -2,8 +2,8 @@
...
@@ -2,8 +2,8 @@
<div
class=
"card"
>
<div
class=
"card"
>
<div
class=
"card-header text-light bg-gradient-danger text-center"
>
<div
class=
"card-header text-light bg-gradient-danger text-center"
>
<h3>
Tambah Data Buku
</h3>
</div>
<h3>
Tambah Data Buku
</h3>
<
hr
>
<
/div
>
<div
class=
"card-body"
>
<div
class=
"card-body"
>
<div
class=
"card-body col-sm-5"
>
<div
class=
"card-body col-sm-5"
>
<form
method=
"post"
action=
"{% url 'book-create'%}"
enctype=
"multipart/form-data"
>
<form
method=
"post"
action=
"{% url 'book-create'%}"
enctype=
"multipart/form-data"
>
...
@@ -50,7 +50,10 @@
...
@@ -50,7 +50,10 @@
<input
id=
"cover"
name=
"cover"
type=
"file"
class=
"form-control"
required=
"required"
>
<input
id=
"cover"
name=
"cover"
type=
"file"
class=
"form-control"
required=
"required"
>
</div>
</div>
</div>
</div>
<button
type=
"submit"
name=
"submit"
class=
"btn btn-primary align-items-center"
>
Insert
</button>
<hr>
<button
type=
"submit"
name=
"submit"
class=
"btn btn-primary col-12"
>
Insert
</button>
<hr>
<a
href=
"{% url 'book-list'%}"
type=
"button col-5"
class=
"btn btn-danger"
><i
class=
"fas fa-fw fa-arrow-left"
></i>
Back
</a>
</form>
</form>
</div>
</div>
</div>
</div>
...
...
perpustakaan/book/templates/category/addcategory.html
View file @
08c826f5
...
@@ -5,7 +5,6 @@
...
@@ -5,7 +5,6 @@
<h3>
Tambah Data Buku
</h3>
</div>
<h3>
Tambah Data Buku
</h3>
</div>
<hr>
<hr>
<div
class=
"card-body"
>
<div
class=
"card-body"
>
<div
class=
"card-body col-sm-5"
>
<form
method=
"post"
action=
"{% url 'category-create'%}"
enctype=
"multipart/form-data"
>
<form
method=
"post"
action=
"{% url 'category-create'%}"
enctype=
"multipart/form-data"
>
{% csrf_token %}
{% csrf_token %}
<div
class=
"form-group row"
>
<div
class=
"form-group row"
>
...
@@ -17,7 +16,6 @@
...
@@ -17,7 +16,6 @@
<button
type=
"submit"
name=
"submit"
class=
"btn btn-primary align-items-center"
>
Insert
</button>
<button
type=
"submit"
name=
"submit"
class=
"btn btn-primary align-items-center"
>
Insert
</button>
</form>
</form>
</div>
</div>
</div>
</div>
</div>
{% endblock content%}
{% endblock content%}
\ No newline at end of file
perpustakaan/book/templates/category/datacategory.html
View file @
08c826f5
...
@@ -23,7 +23,9 @@
...
@@ -23,7 +23,9 @@
</div>
</div>
{% endfor %}
{% endfor %}
{% endif %}
{% endif %}
{% if request.user.is_authenticated and request.user.role == 'librarian'%}
<a
href=
"{% url 'category-create'%}"
type=
"button"
class=
"btn btn-primary"
><i
class=
"fas fa-fw fa-save"
></i>
Tambah Data Category
</a>
<a
href=
"{% url 'category-create'%}"
type=
"button"
class=
"btn btn-primary"
><i
class=
"fas fa-fw fa-save"
></i>
Tambah Data Category
</a>
{%endif%}
</div>
</div>
<div
class=
"card-body"
>
<div
class=
"card-body"
>
<div
class=
"table-responsive"
>
<div
class=
"table-responsive"
>
...
@@ -46,12 +48,14 @@
...
@@ -46,12 +48,14 @@
<td>
{{categorys.id}}
</td>
<td>
{{categorys.id}}
</td>
<td>
{{categorys.namaCategory}}
</td>
<td>
{{categorys.namaCategory}}
</td>
<td>
<td>
{% if request.user.is_authenticated and request.user.role == 'librarian'%}
<a
href=
"edit/{{categorys.id}}"
class=
"btn btn-warning "
>
<a
href=
"edit/{{categorys.id}}"
class=
"btn btn-warning "
>
<i
class=
"fas fa-fw fa-edit"
></i><span
class=
"text"
>
Edit
</span>
<i
class=
"fas fa-fw fa-edit"
></i><span
class=
"text"
>
Edit
</span>
</a>
</a>
<a
href=
"delete/{{categorys.id}}"
class=
"btn btn-danger "
>
<a
href=
"delete/{{categorys.id}}"
class=
"btn btn-danger "
>
<i
class=
"fas fa-fw fa-trash"
></i><span
class=
"text"
>
Delete
</span>
<i
class=
"fas fa-fw fa-trash"
></i><span
class=
"text"
>
Delete
</span>
</a>
</a>
{%endif%}
</td>
</td>
</tr>
</tr>
{%endfor%}
{%endfor%}
...
...
perpustakaan/book/templates/index.html
View file @
08c826f5
...
@@ -95,6 +95,7 @@
...
@@ -95,6 +95,7 @@
<h6
class=
"collapse-header"
>
Peminjaman Featue
</h6>
<h6
class=
"collapse-header"
>
Peminjaman Featue
</h6>
<a
class=
"collapse-item"
href=
"{% url 'datapeminjaman'%}"
>
Data Peminjaman Buku
</a>
<a
class=
"collapse-item"
href=
"{% url 'datapeminjaman'%}"
>
Data Peminjaman Buku
</a>
{% if request.user.is_authenticated and request.user.role == 'member'%}
{% if request.user.is_authenticated and request.user.role == 'member'%}
<a
class=
"collapse-item"
href=
"{% url 'list-loan-user'%}"
>
List Book loan By user
</a>
<a
class=
"collapse-item"
href=
"{% url 'loans-by-user'%}"
>
Book loan By user
</a>
<a
class=
"collapse-item"
href=
"{% url 'loans-by-user'%}"
>
Book loan By user
</a>
{%endif%}
{%endif%}
{% if request.user.is_authenticated and request.user.role == 'librarian'%}
{% if request.user.is_authenticated and request.user.role == 'librarian'%}
...
...
perpustakaan/book/templates/peminjaman/addpeminjaman.html
View file @
08c826f5
...
@@ -2,9 +2,7 @@
...
@@ -2,9 +2,7 @@
<div
class=
"card"
>
<div
class=
"card"
>
<div
class=
"card-header text-light bg-gradient-danger"
>
<div
class=
"card-header text-light bg-gradient-danger"
>
<h3>
Tambah Data Peminjaman
</h3>
</div>
<h3>
Tambah Data Peminjaman
</h3>
</div>
<hr>
<div
class=
"card-body"
>
<div
class=
"card-body"
>
<div
class=
"card-body col-sm-5"
>
<form
method=
"post"
action=
"{% url 'createpeminjaman'%}"
enctype=
"multipart/form-data"
>
<form
method=
"post"
action=
"{% url 'createpeminjaman'%}"
enctype=
"multipart/form-data"
>
{% csrf_token %}
{% csrf_token %}
<div
class=
"form-group row"
>
<div
class=
"form-group row"
>
...
@@ -39,7 +37,6 @@
...
@@ -39,7 +37,6 @@
<a
href=
"{% url 'datapeminjaman'%}"
type=
"button"
class=
"btn btn-primary"
>
Back
</a>
<a
href=
"{% url 'datapeminjaman'%}"
type=
"button"
class=
"btn btn-primary"
>
Back
</a>
<button
type=
"submit"
name=
"submit"
class=
"btn btn-warning align-items-center"
>
Submit
</button>
<button
type=
"submit"
name=
"submit"
class=
"btn btn-warning align-items-center"
>
Submit
</button>
</form>
</form>
</div>
</div>
</div>
</div>
</div>
{% endblock content%}
{% endblock content%}
\ No newline at end of file
perpustakaan/book/templates/peminjaman/tambah_peminjaman.html
→
perpustakaan/book/templates/peminjaman/tambah_peminjaman
_by_user
.html
View file @
08c826f5
...
@@ -35,7 +35,17 @@
...
@@ -35,7 +35,17 @@
</select>
</select>
</div>
</div>
</div> -->
</div> -->
{{form.buku}}
<div
class=
"form-group row"
>
<label
class=
"col-4 col-form-label"
for=
"nama"
>
Judul Buku
</label>
<div
class=
"col-8"
>
<select
class=
"form-control"
aria-label=
"Default select example"
name=
"buku"
>
<option
selected
>
Open this select menu
</option>
{% for buku in book %}
<option
value=
"{{buku.id}}"
>
{{buku.judul}}
</option>
{%endfor%}
</select>
</div>
</div>
<div
class=
"form-group row"
>
<div
class=
"form-group row"
>
<label
for=
"tanggal_kembali"
class=
"col-4 col-form-label"
>
Tanggal Kembali
</label>
<label
for=
"tanggal_kembali"
class=
"col-4 col-form-label"
>
Tanggal Kembali
</label>
<div
class=
"col-8"
>
<div
class=
"col-8"
>
...
...
perpustakaan/book/urls.py
View file @
08c826f5
...
@@ -22,7 +22,8 @@ urlpatterns =[
...
@@ -22,7 +22,8 @@ urlpatterns =[
path
(
'peminjaman/reportdeadline'
,
views
.
report_deadline
,
name
=
'reportdeadline'
),
path
(
'peminjaman/reportdeadline'
,
views
.
report_deadline
,
name
=
'reportdeadline'
),
path
(
'peminjaman/hampirdeadline'
,
views
.
report_hampir_deadline
,
name
=
'hampirdeadline'
),
path
(
'peminjaman/hampirdeadline'
,
views
.
report_hampir_deadline
,
name
=
'hampirdeadline'
),
path
(
'user/'
,
views
.
datauser
,
name
=
'datauser'
),
# path('user/', views.datauser, name='datauser'),
path
(
'user/'
,
ListUser
.
as_view
(),
name
=
'datauser'
),
path
(
'signup/'
,
views
.
signup
,
name
=
'signup'
),
path
(
'signup/'
,
views
.
signup
,
name
=
'signup'
),
path
(
'user/create/'
,
views
.
createuser
,
name
=
'createuser'
),
path
(
'user/create/'
,
views
.
createuser
,
name
=
'createuser'
),
path
(
'user/delete/<int:id>/'
,
views
.
deleteuser
,
name
=
'deleteuser'
),
path
(
'user/delete/<int:id>/'
,
views
.
deleteuser
,
name
=
'deleteuser'
),
...
@@ -37,6 +38,6 @@ urlpatterns =[
...
@@ -37,6 +38,6 @@ urlpatterns =[
path
(
'categorys/delete/<int:pk>/'
,
CategoryDeleteView
.
as_view
(),
name
=
'category-delete'
),
path
(
'categorys/delete/<int:pk>/'
,
CategoryDeleteView
.
as_view
(),
name
=
'category-delete'
),
path
(
'book-loan/by-user/'
,
PeminjamanCreateView
.
as_view
(),
name
=
'loans-by-user'
),
path
(
'book-loan/by-user/'
,
PeminjamanCreateView
.
as_view
(),
name
=
'loans-by-user'
),
path
(
'list-book-loans/by-user/'
,
ListPeminjamanByUser
.
as_view
(),
name
=
'list-loan-user'
),
path
(
'list-book-loans/by-user/'
,
ListPeminjamanByUser
.
as_view
(),
name
=
'list-loan-user'
),
path
(
'books/peminjaman/<int:pk>/'
,
LoanBookFromBook
.
as_view
(),
name
=
'loan_book_from_book'
),
]
]
perpustakaan/book/views.py
View file @
08c826f5
...
@@ -62,7 +62,7 @@ class BookCreateView(View):
...
@@ -62,7 +62,7 @@ class BookCreateView(View):
##untuk peminjaman buku berdasarkan user yang sedang login
##untuk peminjaman buku berdasarkan user yang sedang login
@
method_decorator
(
login_required
,
name
=
'dispatch'
)
@
method_decorator
(
login_required
,
name
=
'dispatch'
)
class
PeminjamanCreateView
(
View
):
class
PeminjamanCreateView
(
View
):
template_name
=
'peminjaman/tambah_peminjaman.html'
template_name
=
'peminjaman/tambah_peminjaman
_by_user
.html'
def
get
(
self
,
request
):
def
get
(
self
,
request
):
form
=
PeminjamanForm
()
form
=
PeminjamanForm
()
...
@@ -84,7 +84,27 @@ class ListPeminjamanByUser(View):
...
@@ -84,7 +84,27 @@ class ListPeminjamanByUser(View):
def
get
(
self
,
request
):
def
get
(
self
,
request
):
peminjaman
=
Peminjaman
.
objects
.
filter
(
member
=
request
.
user
)
peminjaman
=
Peminjaman
.
objects
.
filter
(
member
=
request
.
user
)
return
render
(
request
,
self
.
template_name
,
{
'peminjaman'
:
peminjaman
})
return
render
(
request
,
self
.
template_name
,
{
'peminjaman'
:
peminjaman
})
class
LoanBookFromBook
(
View
):
template_name
=
'buku/peminjaman.html'
def
get
(
self
,
request
,
pk
):
book
=
get_object_or_404
(
Book
,
pk
=
pk
)
form
=
PeminjamanForm
()
return
render
(
request
,
self
.
template_name
,
{
'book'
:
book
,
'form'
:
form
})
def
post
(
self
,
request
,
pk
):
buku
=
Book
.
objects
.
get
(
pk
=
pk
)
form
=
PeminjamanForm
(
request
.
POST
)
if
form
.
is_valid
():
peminjaman
=
form
.
save
(
commit
=
False
)
peminjaman
.
buku
=
buku
peminjaman
.
member
=
request
.
user
peminjaman
.
save
()
messages
.
success
(
request
,
'Berhasil Input Data peminjaman'
)
return
redirect
(
'list-loan-user'
)
# Ganti dengan URL halaman sukses peminjaman
return
render
(
request
,
self
.
template_name
,
{
'form'
:
form
,
'buku'
:
buku
})
@
method_decorator
(
login_required
,
name
=
'dispatch'
)
@
method_decorator
(
login_required
,
name
=
'dispatch'
)
class
BooksUpdateView
(
UpdateView
):
class
BooksUpdateView
(
UpdateView
):
template_name
=
'buku/editbuku.html'
template_name
=
'buku/editbuku.html'
...
@@ -234,14 +254,12 @@ def report_hampir_deadline(request):
...
@@ -234,14 +254,12 @@ def report_hampir_deadline(request):
#untuk Crud user
#untuk Crud user
@
login_required
(
login_url
=
settings
.
LOGIN_URL
)
@
method_decorator
(
login_required
,
name
=
'dispatch'
)
def
datauser
(
request
):
@
method_decorator
(
librarian_required
,
name
=
'dispatch'
)
user
=
CustomUser
.
objects
.
all
()
class
ListUser
(
ListView
):
context
=
{
model
=
CustomUser
'user'
:
user
,
template_name
=
'user/datauser.html'
}
context_object_name
=
'user'
return
render
(
request
,
'user/datauser.html'
,
context
)
@
librarian_required
@
librarian_required
def
createuser
(
request
):
def
createuser
(
request
):
...
...
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