Commit 08c826f5 authored by Nurrofimutaqin's avatar Nurrofimutaqin

menambahkan fitur peminjaman langsung dari halaman buku

parent 3fae0457
......@@ -64,6 +64,9 @@
<a href="detail/{{books.id}}" class="btn btn-secondary ">
<i class="fas fa-fw fa-info"></i><span class="text"> Detail</span>
</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'%}
<a href="edit/{{books.id}}" class="btn btn-warning ">
<i class="fas fa-fw fa-edit"></i><span class="text"> Edit</span>
......
......@@ -4,15 +4,17 @@
<div class="card-header text-light bg-gradient-danger text-center">
<h3>Detail Buku {{buku.judul}}</h3>
</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
>
{% csrf_token %}
<div class="form-group row ">
<label class="col-4 col-form-label" for="judul">Cover Buku :</label>
<div class=" col-8 " >
<div class="col-8" >
{%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 %}
</div>
......@@ -73,8 +75,6 @@
/>
</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>
</div>
</div>
......
......@@ -3,7 +3,7 @@
<div class="card-header text-light bg-gradient-danger">
<h3>Edit Data {{book.judul}}</h3>
</div>
<div class="card-body col-5">
<div class="card-body">
<form
method="post"
action="{% url 'books-update' books.id%}"
......@@ -92,13 +92,16 @@
{{form.cover}}
</div>
</div>
<hr>
<button
type="submit"
name="submit"
class="btn btn-primary align-items-center"
class="btn btn-primary align-items-center col-12"
>
Update Data
</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>
......
{% 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%}
......@@ -2,8 +2,8 @@
<div class="card">
<div class="card-header text-light bg-gradient-danger text-center">
<h3>Tambah Data Buku</h3> </div>
<hr>
<h3>Tambah Data Buku</h3>
</div>
<div class="card-body">
<div class="card-body col-sm-5">
<form method="post" action="{% url 'book-create'%}" enctype="multipart/form-data">
......@@ -50,7 +50,10 @@
<input id="cover" name="cover" type="file" class="form-control" required="required">
</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>
</div>
</div>
......
......@@ -5,7 +5,6 @@
<h3>Tambah Data Buku</h3> </div>
<hr>
<div class="card-body">
<div class="card-body col-sm-5">
<form method="post" action="{% url 'category-create'%}" enctype="multipart/form-data">
{% csrf_token %}
<div class="form-group row">
......@@ -18,6 +17,5 @@
<button type="submit" name="submit" class="btn btn-primary align-items-center">Insert</button>
</form>
</div>
</div>
</div>
{% endblock content%}
\ No newline at end of file
......@@ -23,7 +23,9 @@
</div>
{% endfor %}
{% 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>
{%endif%}
</div>
<div class="card-body">
<div class="table-responsive">
......@@ -46,12 +48,14 @@
<td>{{categorys.id}}</td>
<td>{{categorys.namaCategory}}</td>
<td>
{% if request.user.is_authenticated and request.user.role == 'librarian'%}
<a href="edit/{{categorys.id}}" class="btn btn-warning ">
<i class="fas fa-fw fa-edit"></i><span class="text"> Edit</span>
</a>
<a href="delete/{{categorys.id}}" class="btn btn-danger ">
<i class="fas fa-fw fa-trash"></i><span class="text"> Delete</span>
</a>
{%endif%}
</td>
</tr>
{%endfor%}
......
......@@ -95,6 +95,7 @@
<h6 class="collapse-header">Peminjaman Featue</h6>
<a class="collapse-item" href="{% url 'datapeminjaman'%}">Data Peminjaman Buku</a>
{% 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>
{%endif%}
{% if request.user.is_authenticated and request.user.role == 'librarian'%}
......
......@@ -2,9 +2,7 @@
<div class="card">
<div class="card-header text-light bg-gradient-danger">
<h3>Tambah Data Peminjaman</h3> </div>
<hr>
<div class="card-body">
<div class="card-body col-sm-5">
<form method="post" action="{% url 'createpeminjaman'%}" enctype="multipart/form-data">
{% csrf_token %}
<div class="form-group row">
......@@ -40,6 +38,5 @@
<button type="submit" name="submit" class="btn btn-warning align-items-center">Submit</button>
</form>
</div>
</div>
</div>
{% endblock content%}
\ No newline at end of file
......@@ -35,7 +35,17 @@
</select>
</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">
<label for="tanggal_kembali" class="col-4 col-form-label"> Tanggal Kembali</label>
<div class="col-8">
......
......@@ -22,7 +22,8 @@ urlpatterns =[
path('peminjaman/reportdeadline', views.report_deadline, name='reportdeadline'),
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('user/create/', views.createuser, name='createuser'),
path('user/delete/<int:id>/', views.deleteuser, name='deleteuser'),
......@@ -37,6 +38,6 @@ urlpatterns =[
path('categorys/delete/<int:pk>/', CategoryDeleteView.as_view(), name='category-delete'),
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('books/peminjaman/<int:pk>/', LoanBookFromBook.as_view(), name='loan_book_from_book'),
]
......@@ -62,7 +62,7 @@ class BookCreateView(View):
##untuk peminjaman buku berdasarkan user yang sedang login
@method_decorator(login_required, name='dispatch')
class PeminjamanCreateView(View):
template_name = 'peminjaman/tambah_peminjaman.html'
template_name = 'peminjaman/tambah_peminjaman_by_user.html'
def get(self, request):
form = PeminjamanForm()
......@@ -85,6 +85,26 @@ class ListPeminjamanByUser(View):
peminjaman = Peminjaman.objects.filter(member = request.user )
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')
class BooksUpdateView(UpdateView):
template_name = 'buku/editbuku.html'
......@@ -234,14 +254,12 @@ def report_hampir_deadline(request):
#untuk Crud user
@login_required(login_url=settings.LOGIN_URL)
def datauser(request):
user = CustomUser.objects.all()
context = {
'user' : user,
}
return render(request, 'user/datauser.html', context)
@method_decorator(login_required, name='dispatch')
@method_decorator(librarian_required, name='dispatch')
class ListUser(ListView):
model = CustomUser
template_name = 'user/datauser.html'
context_object_name = 'user'
@librarian_required
def createuser(request):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment