Exemplo n.º 1
0
def daftar(request, kode_toko):
	(pengguna, toko) = inisiasi_view(request, kode_toko)
	grup_peminjaman_di_luar = []
	peminjaman_di_luar = Peminjaman.objects.filter(
		pelanggan__toko=toko,
		dikembalikan =False,
		)


	for p in peminjaman_di_luar:
		stat_peminjaman_di_luar = {}
		stat_peminjaman_di_luar['peminjaman'] = p 
		if p.selesai < timezone.now() :
			stat_peminjaman_di_luar['terlambat'] = True

		grup_peminjaman_di_luar.append(stat_peminjaman_di_luar)

	minggu_ini_min = datetime.datetime.combine(
		datetime.date.today()-datetime.timedelta(days=7), 
		datetime.time.min
		)
	minggu_ini_max = datetime.datetime.combine(
		datetime.date.today(), datetime.time.max
		)
	peminjaman = Peminjaman.objects.filter(
		pelanggan__toko=toko,
		mulai__range=(minggu_ini_min, minggu_ini_max)
		)


	return render(request, 'peminjaman/daftar.jade', locals())
Exemplo n.º 2
0
def berlangsung(request, kode_toko):
    (pengguna, toko) = inisiasi_view(request, kode_toko)
    ada_pesanan = cek_pesanan(request)

    if request.method == "POST":
        postdata = request.POST.copy()

        if postdata["submit"] == "Batal":

            hapus_pesanan(request)
            return redirect(toko)

        if postdata['submit'] == "hapus":
            pesanan = ambil_pesanan(request)
            item_dihapus = pesanan.item.get(pk=postdata['pk_item'])
            pesanan.item.remove(item_dihapus)
            pesanan.save()
            del item_dihapus

        if postdata['submit'] == "Checkout":
            pesanan = ambil_pesanan(request)
            pesanan.check_out = True
            pesanan.save()
            hapus_cookie_pesanan(request)
            return redirect(toko)

    try:
        pesanan = ambil_pesanan(request)
    except Pesanan.DoesNotExist:
        hapus_cookie_pesanan(request)
        return redirect(request.path)
    item = pesanan.item.all()

    return render(request, 'pesanan/berlangsung.jade', locals())
Exemplo n.º 3
0
def detail(request, kode_toko='', kode_pelanggan=''):
	(pengguna, toko) = inisiasi_view(request, kode_toko)
	pelanggan = Pelanggan.objects.get(toko=toko, 
		slug=kode_pelanggan)
	pelanggan.dilihat = timezone.now()
	pelanggan.save(update_fields=['dilihat'])
	peminjaman = Peminjaman.objects.filter(pelanggan=pelanggan)
	catatan_peminjaman = []
	ada_pesanan = cek_pesanan(request)
	ada_keranjang = cek_keranjang(request)
	for p in peminjaman:
		item_peminjaman = ItemPeminjaman.objects.filter(
			peminjaman=p)
		catatan_peminjaman.append(item_peminjaman)
	if request.method == "POST":
		datapost = request.POST.copy()
		if datapost['submit'] == "Peminjaman Baru":
			set_keranjang(request, pelanggan)
			return redirect(reverse(
				'katalog_depan',
				args=[toko.slug,]
				))
		if datapost['submit'] == "pesanan":
			cantumkan_pelanggan(request, pelanggan)
			return redirect(reverse(
				'pesanan_lihat', args=[toko.slug]
				))
		if datapost['submit'] == "hapus":
			pelanggan.diaktifkan = False
			pelanggan.save(update_fields=['diaktifkan',])
			return redirect(reverse('pelanggan_depan', args=[toko.slug,]))
	
	return render(request, 'pelanggan/detail.jade', locals())
Exemplo n.º 4
0
def lihat(request, kode_toko):
    (pengguna, toko) = inisiasi_view(request, kode_toko)
    form = CheckoutKeranjangForm()
    ada_keranjang = cek_keranjang(request)
    if not ada_keranjang:
        return redirect(toko)
    keranjang = ItemKeranjang.objects.get(
        id_keranjang=request.session[ID_KERANJANG_SESSION_KEY],
        check_out=False)
    if request.method == "POST":
        postdata = request.POST.copy()
        if postdata['submit'] == "Hapus":
            item_dihapus = keranjang.item.get(pk=postdata['pk_item'])
            keranjang.item.remove(item_dihapus)
            keranjang.save()
            del item_dihapus
        if postdata['submit'] == "Checkout":
            form = CheckoutKeranjangForm(postdata)
            if form.is_valid():
                checkout(request)
                return redirect(toko)
        if postdata['submit'] == "Batal":
            hapus_keranjang(request)
            return redirect(toko)
    item = keranjang.item.all()

    return render(request, 'keranjang/lihat.jade', locals())
Exemplo n.º 5
0
def item_detail(request, kode_toko, slug_kategori, slug_jenis, nama_item):

    (pengguna, toko) = inisiasi_view(request, kode_toko)
    kategori = Kategori.objects.get(toko=toko, slug=slug_kategori)
    jenis = Jenis.objects.get(kategori=kategori, slug=slug_jenis)
    item = Item.objects.get(jenis=jenis, nama=nama_item)
    item_baru = Item(jenis=jenis)
    form = TambahItemForm(instance=item_baru)
    peminjaman = Peminjaman.objects.filter(
        aktif=True,
        item__id=item.id,
    )
    pesanan = Pesanan.objects.filter(
        aktif=True,
        check_out=True,
        item__id__exact=item.id,
    )

    if request.method == "POST":
        item.aktif = False
        item.save(update_fields=['aktif'])
        return redirect(
            reverse('katalog_daftar_item',
                    args=[toko.slug, kategori.slug, jenis.slug]))

    form.fields['jenis'].widget = HiddenInput()
    item.dilihat = now()
    item.save(update_fields=['dilihat'])
    #item = Item.objects.filter(jenis=jenis)
    return render(request, 'katalog/item_detail.jade', locals())
Exemplo n.º 6
0
def lihat(request, kode_toko):
	(pengguna, toko) = inisiasi_view(request, kode_toko)
	form = CheckoutKeranjangForm()
	ada_keranjang = cek_keranjang(request)
	if not ada_keranjang:
		return redirect(toko)
	keranjang = ItemKeranjang.objects.get(
		id_keranjang = request.session[ID_KERANJANG_SESSION_KEY],
		check_out =  False
		)
	if request.method == "POST":
		postdata = request.POST.copy()
		if postdata['submit'] == "Hapus":
			item_dihapus = keranjang.item.get(
				pk= postdata['pk_item']
				)
			keranjang.item.remove(item_dihapus)
			keranjang.save()
			del item_dihapus
		if postdata['submit'] == "Checkout":
			form = CheckoutKeranjangForm(postdata)
			if form.is_valid():
				checkout(request)
				return redirect(toko)
		if postdata['submit'] == "Batal":
			hapus_keranjang(request)
			return redirect(toko)
	item = keranjang.item.all()


	return render(request, 'keranjang/lihat.jade', locals())
Exemplo n.º 7
0
def detail(request, kode_toko='', kode_pelanggan=''):
    (pengguna, toko) = inisiasi_view(request, kode_toko)
    pelanggan = Pelanggan.objects.get(toko=toko, slug=kode_pelanggan)
    pelanggan.dilihat = timezone.now()
    pelanggan.save(update_fields=['dilihat'])
    peminjaman = Peminjaman.objects.filter(pelanggan=pelanggan)
    catatan_peminjaman = []
    ada_pesanan = cek_pesanan(request)
    ada_keranjang = cek_keranjang(request)
    for p in peminjaman:
        item_peminjaman = ItemPeminjaman.objects.filter(peminjaman=p)
        catatan_peminjaman.append(item_peminjaman)
    if request.method == "POST":
        datapost = request.POST.copy()
        if datapost['submit'] == "Peminjaman Baru":
            set_keranjang(request, pelanggan)
            return redirect(reverse('katalog_depan', args=[
                toko.slug,
            ]))
        if datapost['submit'] == "pesanan":
            cantumkan_pelanggan(request, pelanggan)
            return redirect(reverse('pesanan_lihat', args=[toko.slug]))
        if datapost['submit'] == "hapus":
            pelanggan.diaktifkan = False
            pelanggan.save(update_fields=[
                'diaktifkan',
            ])
            return redirect(reverse('pelanggan_depan', args=[
                toko.slug,
            ]))

    return render(request, 'pelanggan/detail.jade', locals())
Exemplo n.º 8
0
def ubah(request, kode_toko='', kode_pelanggan=''):
    (pengguna, toko) = inisiasi_view(request, kode_toko)
    pelanggan = Pelanggan.objects.get(toko=toko, slug=kode_pelanggan)
    form = UbahPelangganForm(instance=pelanggan)
    if request.method == "POST":
        form = UbahPelangganForm(request.POST, instance=pelanggan)
        if form.is_valid:
            form.save()
            return redirect(pelanggan)
    return render(request, 'pelanggan/ubah.jade', locals())
Exemplo n.º 9
0
def depan(request, kode_toko):
    (pengguna, toko) = inisiasi_view(request, kode_toko)
    if request.method == "POST":
        nama = request.POST['nama']
        if nama != '':
            kategori_baru = Kategori(nama=nama, toko=toko)
            toko_slugify(kategori_baru, nama)
            kategori_baru.save()
    kategori = Kategori.objects.filter(toko=toko, aktif=True)
    return render(request, 'katalog/depan.jade', locals())
Exemplo n.º 10
0
def depan(request, kode_toko=''):
    (pengguna, toko) = inisiasi_view(request, kode_toko)
    form = TambahPelangganForm(initial={'toko': toko.pk})
    if request.method == "POST":
        form = TambahPelangganForm(request.POST)
        if form.is_valid():
            pelanggan_baru = form.save()
            return redirect(pelanggan_baru)

    pelanggan = Pelanggan.objects.filter(toko=toko, diaktifkan=True)
    return render(request, 'pelanggan/depan.jade', locals())
Exemplo n.º 11
0
def depan(request, kode_toko=''):
	(pengguna, toko) = inisiasi_view(request, kode_toko)
	form = TambahPelangganForm(initial={'toko': toko.pk})
	if request.method == "POST":
		form = TambahPelangganForm(request.POST)
		if form.is_valid():
			pelanggan_baru = form.save()
			return redirect(pelanggan_baru)

	pelanggan = Pelanggan.objects.filter(toko=toko, diaktifkan=True)
	return render(request, 'pelanggan/depan.jade', locals())
Exemplo n.º 12
0
def ubah(request, kode_toko='', kode_pelanggan=''):
	(pengguna, toko) = inisiasi_view(request, kode_toko)
	pelanggan = Pelanggan.objects.get(
		toko=toko, 
		slug=kode_pelanggan)
	form = UbahPelangganForm(instance=pelanggan)
	if request.method == "POST":
		form = UbahPelangganForm(request.POST, 
			instance=pelanggan)
		if form.is_valid:
			form.save()
			return redirect(pelanggan)
	return render(request, 'pelanggan/ubah.jade', locals())
Exemplo n.º 13
0
def hasil(request, kode_toko):
    (pengguna, toko) = inisiasi_view(request, kode_toko)
    q = request.GET.get('q', '')
    permintaan = request.GET.get('submit')
    if permintaan == "cari_item":
        cocok = mesin_cari.item(toko, q)
        objek_cari = "Item"
        kolom_cari = "nama"
    else:
        cocok = mesin_cari.pelanggan(toko, q)
        objek_cari = "Pelanggan"
        kolom_cari = "telepon"
    if cocok.count() == 1:
        return redirect(cocok[0])
    return render(request, 'cari/hasil_cari.jade', locals())
Exemplo n.º 14
0
def hasil(request, kode_toko):
	(pengguna, toko) = inisiasi_view(request, kode_toko)
	q = request.GET.get('q', '')
	permintaan = request.GET.get('submit')
	if permintaan == "cari_item":
		cocok = mesin_cari.item(toko,q)
		objek_cari = "Item"
		kolom_cari = "nama"
	else:
		cocok = mesin_cari.pelanggan(toko, q)
		objek_cari = "Pelanggan"
		kolom_cari = "telepon" 
	if cocok.count() == 1:
		return redirect(cocok[0])
	return render(request, 'cari/hasil_cari.jade', locals())
Exemplo n.º 15
0
def kategori(request, kode_toko, slug_kategori):
    (pengguna, toko) = inisiasi_view(request, kode_toko)
    kategori = Kategori.objects.get(toko=toko, slug=slug_kategori)
    if request.method == "POST":
        postdata = request.POST.copy()
        if postdata['submit'] == "tambah":
            nama = request.POST['nama']
            jenis_baru = Jenis(nama=nama, kategori=kategori)
            jenis_baru.save()
        if postdata['submit'] == "hapus":
            kategori.aktif = False
            kategori.save(update_fields=['aktif'])
            return redirect(reverse('katalog_depan', args=[toko.slug]))
    kategori.dilihat = now()
    kategori.save(update_fields=['dilihat'])
    jenis = Jenis.objects.filter(kategori=kategori, aktif=True)
    return render(request, 'katalog/kategori_detail.jade', locals())
Exemplo n.º 16
0
def lihat(request, kode_toko):
	(pengguna, toko) = inisiasi_view(request, kode_toko)
	ada_pesanan = cek_pesanan(request)
	ada_keranjang = cek_keranjang(request)
	
	form = BuatPesananForm()

	if request.method == "POST":
		postdata = request.POST.copy()
		if postdata["submit"] == "buat":
			form = BuatPesananForm(request.POST)
			if form.is_valid():
				buat_pesanan(request, form)
				ada_pesanan = True

		if postdata["submit"] == "Batal":

			hapus_pesanan(request)
			return redirect(toko)

		if postdata['submit'] == "hapus":
			pesanan = ambil_pesanan(request)
			item_dihapus = pesanan.item.get(
				pk= postdata['pk_item']
				)
			pesanan.item.remove(item_dihapus)
			pesanan.save()
			del item_dihapus

		if postdata['submit'] == "Checkout":
			pesanan = ambil_pesanan(request)
			pesanan.check_out = True
			pesanan.save()
			hapus_cookie_pesanan(request)
			return redirect(toko)

	if ada_pesanan:
		try:
			pesanan = ambil_pesanan(request)
		except Pesanan.DoesNotExist:
			hapus_cookie_pesanan(request)
			return redirect(request.path)
		item = pesanan.item.all()

	return render(request, 'pesanan/lihat.jade', locals())
Exemplo n.º 17
0
def lihat(request, kode_toko):
    (pengguna, toko) = inisiasi_view(request, kode_toko)
    ada_pesanan = cek_pesanan(request)
    ada_keranjang = cek_keranjang(request)

    form = BuatPesananForm()

    if request.method == "POST":
        postdata = request.POST.copy()
        if postdata["submit"] == "buat":
            form = BuatPesananForm(request.POST)
            if form.is_valid():
                buat_pesanan(request, form)
                ada_pesanan = True

        if postdata["submit"] == "Batal":

            hapus_pesanan(request)
            return redirect(toko)

        if postdata['submit'] == "hapus":
            pesanan = ambil_pesanan(request)
            item_dihapus = pesanan.item.get(pk=postdata['pk_item'])
            pesanan.item.remove(item_dihapus)
            pesanan.save()
            del item_dihapus

        if postdata['submit'] == "Checkout":
            pesanan = ambil_pesanan(request)
            pesanan.check_out = True
            pesanan.save()
            hapus_cookie_pesanan(request)
            return redirect(toko)

    if ada_pesanan:
        try:
            pesanan = ambil_pesanan(request)
        except Pesanan.DoesNotExist:
            hapus_cookie_pesanan(request)
            return redirect(request.path)
        item = pesanan.item.all()

    return render(request, 'pesanan/lihat.jade', locals())
Exemplo n.º 18
0
def detail(request, kode_toko, pk_peminjaman):
	(pengguna, toko) = inisiasi_view(request, kode_toko)
	peminjaman = Peminjaman.objects.get(pk=pk_peminjaman)
	item_peminjaman = ItemPeminjaman.objects.filter(
		peminjaman=peminjaman)

	if request.method == 'POST':
		postdata = request.POST.copy()
		if postdata['submit'] == 'selesai':
			peminjaman.dikembalikan = True
			peminjaman.save(update_fields = ['dikembalikan',])
		if postdata['submit'] == 'keterangan':
			form = PerbaruiKeteranganForm(postdata)
			if form.is_valid():
				peminjaman.keterangan = form.cleaned_data['keterangan']
				peminjaman.save(update_fields = ['keterangan',])
	form = PerbaruiKeteranganForm(
		instance=peminjaman, 
		)

	return render(request, 'peminjaman/detail.jade', locals())
Exemplo n.º 19
0
def berlangsung(request, kode_toko):
	(pengguna, toko) = inisiasi_view(request, kode_toko)
	ada_pesanan = cek_pesanan(request)
	

	if request.method == "POST":
		postdata = request.POST.copy()


		if postdata["submit"] == "Batal":

			hapus_pesanan(request)
			return redirect(toko)

		if postdata['submit'] == "hapus":
			pesanan = ambil_pesanan(request)
			item_dihapus = pesanan.item.get(
				pk= postdata['pk_item']
				)
			pesanan.item.remove(item_dihapus)
			pesanan.save()
			del item_dihapus

		if postdata['submit'] == "Checkout":
			pesanan = ambil_pesanan(request)
			pesanan.check_out = True
			pesanan.save()
			hapus_cookie_pesanan(request)
			return redirect(toko)


	try:
		pesanan = ambil_pesanan(request)
	except Pesanan.DoesNotExist:
		hapus_cookie_pesanan(request)
		return redirect(request.path)
	item = pesanan.item.all()

	return render(request, 'pesanan/berlangsung.jade', locals())
Exemplo n.º 20
0
def detail(request, kode_toko, pk):
	(pengguna, toko) = inisiasi_view(request, kode_toko)
	pesanan = Pesanan.objects.get(pk=pk)
	item = pesanan.item.all()

	return render(request, 'pesanan/detail.jade', locals())
Exemplo n.º 21
0
def detail(request, kode_toko, pk):
    (pengguna, toko) = inisiasi_view(request, kode_toko)
    pesanan = Pesanan.objects.get(pk=pk)
    item = pesanan.item.all()

    return render(request, 'pesanan/detail.jade', locals())
Exemplo n.º 22
0
def daftar_item(request, kode_toko, slug_kategori, slug_jenis):
    (pengguna, toko) = inisiasi_view(request, kode_toko)
    kategori = Kategori.objects.get(toko=toko, slug=slug_kategori)
    jenis = Jenis.objects.get(kategori=kategori, slug=slug_jenis)
    item_baru = Item(jenis=jenis)
    form = TambahItemForm(instance=item_baru)

    if request.method == "POST":
        postdata = request.POST.copy()
        # kalau form item baru
        if postdata['submit'] == "item_baru":
            form = TambahItemForm(request.POST)
            if form.is_valid():
                nama = form.cleaned_data['nama']
                item_baru = Item(nama=nama, jenis=jenis)
                item_baru.save()
        # kalau form tambah item ke keranjang
        if postdata['submit'] == "tambah_keranjang":
            tambah_item_ke_keranjang(request)
            return redirect(reverse('keranjang_lihat', args=[
                toko.slug,
            ]))
        if postdata['submit'] == "pesan":
            tambah_pesanan(request)
            return redirect(jenis)
        if postdata['submit'] == "hapus":
            jenis.aktif = False
            jenis.save(update_fields=['aktif'])
            return redirect(
                reverse('katalog_kategori', args=[toko.slug, kategori.slug]))
    form.fields['jenis'].widget = HiddenInput()
    ada_keranjang = cek_keranjang(request)
    ada_pesanan = cek_pesanan(request)
    jenis.dilihat = now()
    jenis.save(update_fields=['dilihat'])
    item = Item.objects.filter(jenis=jenis, aktif=True)
    grup_stat_item = []
    stat_item = {}
    for it in item:
        stat_item['item'] = it
        status = "Tersedia"
        peminjaman_item = Peminjaman.objects.filter(
            dikembalikan=False,
            item__id=it.id,
        )
        if peminjaman_item:
            status = "Sedang dipinjam"
        stat_item['status'] = status
        pesanan_terdekat = Pesanan.objects.filter(
            item__id=it.id,
            check_out=True,
            awal__gte=now().date(),
        )
        status_pesanan = ""
        if pesanan_terdekat:
            pesanan_terdekat = pesanan_terdekat[0]
            status_pesanan = pesanan_terdekat.awal
        if ada_pesanan:
            pesanan = ambil_pesanan(request)
            if it in pesanan.item.all():
                status_pesanan = "Sedang dipesan"
        if not status_pesanan:
            status_pesanan = "Tidak dipesan"
        stat_item['pesanan_terdekat'] = status_pesanan
        grup_stat_item.append(stat_item)
    return render(request, 'katalog/daftar_item.jade', locals())