Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
*.pyc
env
venv
siteenv
newenv
.vscode
17 changes: 10 additions & 7 deletions administrasi/administrasi/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = []
ALLOWED_HOSTS = ['*']


# Application definition
Expand All @@ -38,6 +38,7 @@
'django.contrib.messages',
'django.contrib.staticfiles',
'surat_menyurat',
'inventaris',
]

MIDDLEWARE = [
Expand Down Expand Up @@ -76,12 +77,14 @@

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django_class_base',
'USER': 'root',
'PASSWORD': 'root',
'HOST': '127.0.0.1',
'PORT': '8889',
# 'ENGINE': 'django.db.backends.mysql',
# 'NAME': 'django_class_base',
# 'USER': 'root',
# 'PASSWORD': 'root',
# 'HOST': '127.0.0.1',
# 'PORT': '8889',
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}

Expand Down
2 changes: 2 additions & 0 deletions administrasi/administrasi/urls.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
from django.contrib import admin
from django.urls import path, include
from surat_menyurat import views
# from inventaris import views as inven_views

urlpatterns = [
path('', views.login_redirect, name='login_redirect'),
path('home/', views.home, name='home'),
path('surat/', include('surat_menyurat.urls', namespace="surat")),
path('inventaris/', include('inventaris.urls', namespace="inventaris_itec")),#include('inventaris.urls', namespace='inventaris')),
path('accounts/', include('django.contrib.auth.urls')),
path('admin/', admin.site.urls),
]
Binary file added administrasi/db.sqlite3
Binary file not shown.
Empty file.
3 changes: 3 additions & 0 deletions administrasi/inventaris/admin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from django.contrib import admin

# Register your models here.
5 changes: 5 additions & 0 deletions administrasi/inventaris/apps.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from django.apps import AppConfig


class InventarisConfig(AppConfig):
name = 'inventaris'
12 changes: 12 additions & 0 deletions administrasi/inventaris/forms.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from django import forms
from .models import Inventaris

class FormInventaris(forms.ModelForm):
class Meta:
model = Inventaris
exclude = ('id',)

def __init__(self, *args, **kwargs):
super(FormInventaris, self).__init__(*args, **kwargs)
for visible in self.visible_fields():
visible.field.widget.attrs['class'] = 'form-control form-control-sm'
24 changes: 24 additions & 0 deletions administrasi/inventaris/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Generated by Django 2.1.4 on 2018-12-27 17:40

from django.db import migrations, models


class Migration(migrations.Migration):

initial = True

dependencies = [
]

operations = [
migrations.CreateModel(
name='Inventaris',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('nomor', models.CharField(error_messages={'unique': 'A student with that nim already exists.'}, max_length=255, unique=True)),
('nama_barang', models.CharField(max_length=255)),
('jumlah', models.IntegerField(default=1)),
('kondisi_barang', models.CharField(choices=[('baik', 'Baik'), ('sedang', 'Sedang'), ('rusak', 'Rusak')], default='baik', max_length=20)),
],
),
]
Empty file.
18 changes: 18 additions & 0 deletions administrasi/inventaris/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
from django.db import models
from django.utils.translation import ugettext_lazy as _

# Create your models here.
class Inventaris(models.Model):
KONDISI_BARANG = (
('baik', 'Baik'),
('sedang', 'Sedang'),
('rusak', 'Rusak'),
)
nomor = models.CharField(max_length=255, blank=False, null=False, unique=True,
error_messages={
'unique': _(
"Nomor Inventaris Sudah ada"),
})
nama_barang = models.CharField(max_length=255)
jumlah = models.IntegerField(default=1)
kondisi_barang = models.CharField(max_length=20, choices=KONDISI_BARANG, default='baik')
3 changes: 3 additions & 0 deletions administrasi/inventaris/tests.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from django.test import TestCase

# Create your tests here.
11 changes: 11 additions & 0 deletions administrasi/inventaris/urls.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from django.urls import path, include
from . import views

app_name = 'inventaris'

urlpatterns = [
path('inventaris-list', views.InventarisListView.as_view(), name='inventaris_list'),
path('inventaris-form', views.InventarisCreateView.as_view(), name='inventaris_form'),
path('inventaris-delete/<int:id>', views.InventarisDeleteView.as_view(), name='inventaris_delete'),
path('inventaris-edit/<int:pk>', views.InventarisUpdateView.as_view(), name='inventaris_edit'),
]
53 changes: 53 additions & 0 deletions administrasi/inventaris/views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
from django.shortcuts import render, redirect, get_object_or_404
from django.contrib.auth.decorators import login_required
from django.utils.decorators import method_decorator
from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic import ListView, CreateView, View, UpdateView
from .models import Inventaris
from .forms import FormInventaris
from django.urls import reverse_lazy

# Create your views here.

class InventarisListView(LoginRequiredMixin, ListView):
queryset = Inventaris.objects.all()
template_name = 'inventaris/inventaris_list.html'

class InventarisCreateView(LoginRequiredMixin, CreateView):
form_class = FormInventaris
template_name = 'inventaris/inventaris_new.html'
success_url = reverse_lazy('inventaris:inventaris_list')

class InventarisDeleteView(LoginRequiredMixin, View):
def get(self, r, id):
instansi = get_object_or_404(Inventaris, id=id)
instansi.delete()
return redirect ('inventaris:inventaris_list')

# class InventarisUpdateView(LoginRequiredMixin, UpdateView):
# model = Inventaris
# form_class = FormInventaris
# template_name = 'inventaris/inventaris_edit.html'

# def form_valid(self, form):
# self.object = form.save(commit=False)
# self.object.save()
# return redirect('inventaris:inventaris_list')

# @method_decorator(login_required)
# def dispatch(self, request, *args, **kwargs):
# return super(InventarisUpdateView, self).dispatch(request, *args, **kwargs)

class InventarisUpdateView(LoginRequiredMixin, UpdateView):
model = Inventaris
form_class = FormInventaris
template_name = 'inventaris/inventaris_edit.html'

def form_valid(self, form):
self.object = form.save(commit=False)
self.object.save()
return redirect("inventaris:inventaris_list")

@method_decorator(login_required)
def dispatch(self, request, *args, **kwargs):
return super(InventarisUpdateView, self).dispatch(request, *args, **kwargs)
2 changes: 1 addition & 1 deletion administrasi/surat_menyurat/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated by Django 2.1.4 on 2018-12-22 09:49
# Generated by Django 2.1.4 on 2018-12-27 17:40

from django.db import migrations, models
import django.db.models.deletion
Expand Down
4 changes: 2 additions & 2 deletions administrasi/surat_menyurat/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
path('suratmasuk-list/', views.SMListView.as_view(), name='sm_list'),
path('suratmasuk-form/', views.SMCreateView.as_view(), name='sm_form'),
path('suratmasuk-delete/<int:id>', views.SMDeleteView.as_view(), name='sm_delete'),
path('suratmasuk-edit/<int:id>', views.SMUpdateView.as_view(), name='sm_edit'),
path('suratmasuk-edit/<int:pk>', views.SMUpdateView.as_view(), name='sm_edit'),

path('suratkeluar-list/', views.SKListView.as_view(), name='sk_list'),
path('suratkeluar-form/', views.SKCreateView.as_view(), name='sk_form'),
path('suratkeluar-delete/<int:id>', views.SKDeleteView.as_view(), name='sk_delete'),
path('suratkeluaredit/<int:id>', views.SKUpdateView.as_view(), name='sk_edit'),
path('suratkeluaredit/<int:pk>', views.SKUpdateView.as_view(), name='sk_edit'),
]
19 changes: 19 additions & 0 deletions administrasi/templates/inventaris/inventaris_edit.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{% extends "base.html" %}

{% block content %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{% url 'inventaris:inventaris_list' %}">List</a></li>
<li class="breadcrumb-item"><a href="{% url 'inventaris:inventaris_form' %}">New</a></li>
<li class="breadcrumb-item active" aria-current="page">Edit</li>
</ol>
</nav>
<form action="" method="post">
{% csrf_token %}
<table class="table table-striped table-hover">
<input type="hidden" value="{{ id }}" name="id" />
{{form.as_table}}
</table>
<button class="btn btn-primary btn-lg btn-block" type="submit">Submit</button>
</form>
{% endblock %}
37 changes: 37 additions & 0 deletions administrasi/templates/inventaris/inventaris_list.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{% extends 'base.html' %}

{% block content %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item active" aria-current="page">List</li>
<li class="breadcrumb-item"><a href="{% url 'inventaris:inventaris_form' %}">Form</a></li>
</ol>
</nav>
<table class="table table-hover">
<thead>
<tr>
<th scope="col">No</th>
<th scope="col">Nomor Inventaris</th>
<th scope="col">Nama Barang</th>
<th scope="col">Jumlah</th>
<th scope="col">Kondisi</th>
<th scope="col">#</th>
</tr>
</thead>
{% for dt in object_list %}
<tbody>
<tr>
<td scope="col">{{ forloop.counter }} .</td>
<td scope="row">{{ dt.nomor }}</td>
<td>{{dt.nama_barang}}</td>
<td>{{dt.jumlah}}</td>
<td>{{dt.kondisi_barang}}</td>
<td>
<a class="btn btn-warning btn-sm" href="{% url 'inventaris:inventaris_edit' dt.id %}">Edit</a>
<a class="btn btn-danger btn-sm" onclick="return confirm('Delete data?')" href="{% url 'inventaris:inventaris_delete' dt.id %}">Hapus</a>
</td>
</tr>
</tbody>
{% endfor %}
</table>
{% endblock %}
17 changes: 17 additions & 0 deletions administrasi/templates/inventaris/inventaris_new.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{% extends "base.html" %}

{% block content %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{% url 'inventaris:inventaris_list' %}">List</a></li>
<li class="breadcrumb-item active" aria-current="page">Form</li>
</ol>
</nav>
<form action="" method="post">
{% csrf_token %}
<table class="table table-striped table-hover">
{{form.as_table}}
</table>
<button class="btn btn-primary btn-lg btn-block" type="submit">Submit</button>
</form>
{% endblock %}
9 changes: 9 additions & 0 deletions administrasi/templates/navbar.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,15 @@
<a class="dropdown-item" href="{% url 'surat:instansi_form' %}">Add new</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Inventaris
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="{% url 'inventaris:inventaris_list' %}">List</a>
<a class="dropdown-item" href="{% url 'inventaris:inventaris_form' %}">Add new</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Surat Masuk
Expand Down
78 changes: 78 additions & 0 deletions sitenv/bin/activate
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# This file must be used with "source bin/activate" *from bash*
# you cannot run it directly

deactivate () {
unset -f pydoc >/dev/null 2>&1

# reset old environment variables
# ! [ -z ${VAR+_} ] returns true if VAR is declared at all
if ! [ -z "${_OLD_VIRTUAL_PATH+_}" ] ; then
PATH="$_OLD_VIRTUAL_PATH"
export PATH
unset _OLD_VIRTUAL_PATH
fi
if ! [ -z "${_OLD_VIRTUAL_PYTHONHOME+_}" ] ; then
PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME"
export PYTHONHOME
unset _OLD_VIRTUAL_PYTHONHOME
fi

# This should detect bash and zsh, which have a hash command that must
# be called to get it to forget past commands. Without forgetting
# past commands the $PATH changes we made may not be respected
if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then
hash -r 2>/dev/null
fi

if ! [ -z "${_OLD_VIRTUAL_PS1+_}" ] ; then
PS1="$_OLD_VIRTUAL_PS1"
export PS1
unset _OLD_VIRTUAL_PS1
fi

unset VIRTUAL_ENV
if [ ! "${1-}" = "nondestructive" ] ; then
# Self destruct!
unset -f deactivate
fi
}

# unset irrelevant variables
deactivate nondestructive

VIRTUAL_ENV="/home/ramdani/Documents/Django/django-example-project-class_base/sitenv"
export VIRTUAL_ENV

_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/bin:$PATH"
export PATH

# unset PYTHONHOME if set
if ! [ -z "${PYTHONHOME+_}" ] ; then
_OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME"
unset PYTHONHOME
fi

if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then
_OLD_VIRTUAL_PS1="$PS1"
if [ "x" != x ] ; then
PS1="$PS1"
else
PS1="(`basename \"$VIRTUAL_ENV\"`) $PS1"
fi
export PS1
fi

# Make sure to unalias pydoc if it's already there
alias pydoc 2>/dev/null >/dev/null && unalias pydoc

pydoc () {
python -m pydoc "$@"
}

# This should detect bash and zsh, which have a hash command that must
# be called to get it to forget past commands. Without forgetting
# past commands the $PATH changes we made may not be respected
if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then
hash -r 2>/dev/null
fi
Loading