Commit cbe90573 by aagusti

update 23-06-2015 (20.35) web-r Gilang

1 parent e3a68cf3
......@@ -295,10 +295,12 @@ class ARInvoice(CommonModel, Base):
update_uid = Column(Integer)
create_date = Column(DateTime(timezone=True))
update_date = Column(DateTime(timezone=True))
#bulan = Column(Integer)
#tanggal = Column(Integer)
status_grid = Column(SmallInteger, nullable=False, default=0) # 0 Register 1 Pembayaran_cepat
wilayah_id = Column(Integer, ForeignKey("wilayahs.id"))
subjekpajaks = relationship("SubjekPajak", backref=backref('arinvoices'))
objekpajaks = relationship("ObjekPajak", backref=backref('arinvoices'))
wilayahs = relationship("Wilayah", backref=backref('arinvoices'))
units = relationship("Unit", backref=backref('arinvoices'))
UniqueConstraint(tahun_id,unit_id,no_id,name='arinvoice_uq')
......
......@@ -42,7 +42,7 @@
<textElement textAlignment="Center">
<font isBold="true"/>
</textElement>
<text><![CDATA[DAFTAR PENYETOR]]></text>
<text><![CDATA[DAFTAR SUBJEK PAJAK]]></text>
</staticText>
</band>
</title>
......
......@@ -14,17 +14,14 @@
<field name="kode" class="java.lang.String">
<fieldDescription><![CDATA[kode]]></fieldDescription>
</field>
<field name="no" class="java.lang.String">
<fieldDescription><![CDATA[no]]></fieldDescription>
</field>
<field name="nama" class="java.lang.String">
<fieldDescription><![CDATA[nama]]></fieldDescription>
</field>
<field name="rekening" class="java.lang.String">
<fieldDescription><![CDATA[rekening]]></fieldDescription>
<field name="alamat_1" class="java.lang.String">
<fieldDescription><![CDATA[alamat_1]]></fieldDescription>
</field>
<field name="wilayah" class="java.lang.String">
<fieldDescription><![CDATA[wilayah]]></fieldDescription>
<field name="alamat_2" class="java.lang.String">
<fieldDescription><![CDATA[alamat_2]]></fieldDescription>
</field>
<field name="status" class="java.lang.String">
<fieldDescription><![CDATA[status]]></fieldDescription>
......@@ -45,7 +42,7 @@
<textElement textAlignment="Center">
<font isBold="true"/>
</textElement>
<text><![CDATA[DAFTAR OBJEK]]></text>
<text><![CDATA[DAFTAR SUBJEK PAJAK]]></text>
</staticText>
</band>
</title>
......@@ -88,7 +85,7 @@
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Wilayah]]></text>
<text><![CDATA[Alamat 2]]></text>
</staticText>
<staticText>
<reportElement x="441" y="0" width="54" height="12"/>
......@@ -114,7 +111,7 @@
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Rekening]]></text>
<text><![CDATA[Alamat 1]]></text>
</staticText>
</band>
</pageHeader>
......@@ -154,7 +151,7 @@
<textElement textAlignment="Center">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{wilayah}]]></textFieldExpression>
<textFieldExpression><![CDATA[$F{alamat_2}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="441" y="0" width="54" height="12"/>
......@@ -176,7 +173,7 @@
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{rekening}]]></textFieldExpression>
<textFieldExpression><![CDATA[$F{alamat_1}]]></textFieldExpression>
</textField>
</band>
</detail>
......
route_id,group_id
4,1
4,2
4,4
42,1
42,2
42,4
57,1
57,2
57,4
65,2
65,4
66,1
......@@ -76,3 +81,13 @@ route_id,group_id
121,1
122,2
123,1
132,2
132,4
133,2
133,4
134,2
134,4
135,2
135,4
136,2
136,4
id,kode,nama,rekening_id,tarif,tahun,status
1,4.1.1.01.01.,Pajak Kendaraan Bermotor,5,100,2015,1
2,4.1.1.01.02.,"A-2 Sedan, Jeep, Station Wagon (Umum)",6,100,2015,1
3,4.1.1.01.04.,"B-1 Bus, Micro Bus (Pribadi)",8,100,2015,1
4,4.1.1.01.05.,"B-2 Bus, Micro Bus (Umum)",9,100,2015,1
5,4.1.1.01.07.,"C-1 Truck, Pick Up (Pribadi)",11,100,2015,1
6,4.1.1.01.08.,"C-2 Truck, Pick Up (Umum)",12,100,2015,1
7,4.1.1.01.10.,D-1 Kendaraan Khusus (Pribadi),14,100,2015,1
8,4.1.1.01.11.,D-2 Kendaraan Khusus (Umum),15,100,2015,1
9,4.1.1.01.13.,"E-1 Sepeda Motor, Scooter (Pribadi)",17,100,2015,1
10,4.1.1.02.01.,Pajak Kendaraan Di Atas Air,20,100,2015,1
11,4.1.1.03.01.,Bea Balik Nama Kendaraan Bermotor,22,100,2015,1
12,4.1.1.03.02.,"A-2 Sedan, Jeep, Station Wagon (Umum)",23,100,2015,1
13,4.1.1.03.03.,"A-3 Sedan, Jeep, Station Wagon (Dinas)",24,100,2015,1
14,4.1.1.03.04.,"B-1 Bus, Micro Bus (Pribadi)",25,100,2015,1
15,4.1.1.03.05.,"B-2 Bus, Micro Bus (Umum)",26,100,2015,1
16,4.1.1.03.06.,"B-3 Bus, Micro Bus (Dinas)",27,100,2015,1
17,4.1.1.03.07.,"C-1 Truck, Pick Up (Pribadi)",28,100,2015,1
18,4.1.1.03.08.,"C-2 Truck, Pick Up (Umum)",29,100,2015,1
19,4.1.1.03.09.,"C-3 Truck, Pick Up (Dinas)",30,100,2015,1
20,4.1.1.03.10.,D-1 Kendaraan Khusus (Pribadi),31,100,2015,1
21,4.1.1.03.11.,D-2 Kendaraan Khusus (Umum),32,100,2015,1
22,4.1.1.03.12.,D-3 Kendaraan Khusus (Dinas),33,100,2015,1
23,4.1.1.03.13.,"E-1 Sepeda Motor, Scooter (Pribadi)",34,100,2015,1
24,4.1.1.03.14.,"E-2 Sepeda Motor, Scooter (Dinas)",35,100,2015,1
25,4.1.1.04.01.,Bea Balik nama Kendaraan Di atas Air,37,100,2015,1
1,4.1.1.01.01.,Pajak Kendaraan Bermotor,5,100,2015,0
2,4.1.1.01.02.,"A-2 Sedan, Jeep, Station Wagon (Umum)",6,100,2015,0
3,4.1.1.01.04.,"B-1 Bus, Micro Bus (Pribadi)",8,100,2015,0
4,4.1.1.01.05.,"B-2 Bus, Micro Bus (Umum)",9,100,2015,0
5,4.1.1.01.07.,"C-1 Truck, Pick Up (Pribadi)",11,100,2015,0
6,4.1.1.01.08.,"C-2 Truck, Pick Up (Umum)",12,100,2015,0
7,4.1.1.01.10.,D-1 Kendaraan Khusus (Pribadi),14,100,2015,0
8,4.1.1.01.11.,D-2 Kendaraan Khusus (Umum),15,100,2015,0
9,4.1.1.01.13.,"E-1 Sepeda Motor, Scooter (Pribadi)",17,100,2015,0
10,4.1.1.02.01.,Pajak Kendaraan Di Atas Air,20,100,2015,0
11,4.1.1.03.01.,Bea Balik Nama Kendaraan Bermotor,22,100,2015,0
12,4.1.1.03.02.,"A-2 Sedan, Jeep, Station Wagon (Umum)",23,100,2015,0
13,4.1.1.03.03.,"A-3 Sedan, Jeep, Station Wagon (Dinas)",24,100,2015,0
14,4.1.1.03.04.,"B-1 Bus, Micro Bus (Pribadi)",25,100,2015,0
15,4.1.1.03.05.,"B-2 Bus, Micro Bus (Umum)",26,100,2015,0
16,4.1.1.03.06.,"B-3 Bus, Micro Bus (Dinas)",27,100,2015,0
17,4.1.1.03.07.,"C-1 Truck, Pick Up (Pribadi)",28,100,2015,0
18,4.1.1.03.08.,"C-2 Truck, Pick Up (Umum)",29,100,2015,0
19,4.1.1.03.09.,"C-3 Truck, Pick Up (Dinas)",30,100,2015,0
20,4.1.1.03.10.,D-1 Kendaraan Khusus (Pribadi),31,100,2015,0
21,4.1.1.03.11.,D-2 Kendaraan Khusus (Umum),32,100,2015,0
22,4.1.1.03.12.,D-3 Kendaraan Khusus (Dinas),33,100,2015,0
23,4.1.1.03.13.,"E-1 Sepeda Motor, Scooter (Pribadi)",34,100,2015,0
24,4.1.1.03.14.,"E-2 Sepeda Motor, Scooter (Dinas)",35,100,2015,0
25,4.1.1.04.01.,Bea Balik nama Kendaraan Di atas Air,37,100,2015,0
26,4.1.1.05.01.,Pajak Bahan Bakar Kendaraan Bermotor,39,100,2015,1
27,4.1.1.05.02.,Pertamax,40,100,2015,1
28,4.1.1.05.03.,Pertamax Plus,41,100,2015,1
......
......@@ -2,7 +2,7 @@ id,kode,nama,path,factory,perm_name,disabled,created,updated,create_uid
1,"home","Beranda","/",,"''",0,"2015-03-08 16:45:45",,1
2,"login","Masuk","/login",,"''",0,"2015-03-08 16:45:45",,1
3,"logout","Logout","/logout",,"view",0,"2015-03-08 16:45:45",,1
4,"password","Ubah password","/password",,"view",0,"2015-03-08 16:45:45",,1
4,"password","Ubah password","/password",,"edit",0,"2015-03-08 16:45:45",,1
5,"forbidden","Forbidden","/forbidden",,"view",0,"2015-03-08 16:45:45",,1
7,"user","Users","/user",,"view",0,"2015-03-08 16:45:45",,1
8,"user-act","Baca User ","/user/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
......@@ -113,4 +113,9 @@ id,kode,nama,path,factory,perm_name,disabled,created,updated,create_uid
128,"rekon-epap","Rekon e-PAP","/rekon-epap",,"read",0,"2015-03-08 16:45:45",,1
129,"rekon-epap-act","Baca Rekon e-PAP","/rekon-epap/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
130,"rekon-epap-edit","Edit Rekon e-PAP","/rekon-epap/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
131,"rekon-epap-delete","Hapus Rekon e-PAP","/rekon-epap/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
\ No newline at end of file
131,"rekon-epap-delete","Hapus Rekon e-PAP","/rekon-epap/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
132,"fast-pay","Pembayaran Cepat","/fast-pay",,"read",0,"2015-03-08 16:45:45",,1
133,"fast-pay-act","Baca Pembayaran Cepat","/fast-pay/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
134,"fast-pay-add","Tambah Pembayaran Cepat","/fast-pay/add",,"add",0,"2015-03-08 16:45:45",,1
135,"fast-pay-edit","Edit Pembayaran Cepat","/fast-pay/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
136,"fast-pay-delete","Hapus Pembayaran Cepat","/fast-pay/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
\ No newline at end of file
......@@ -286,7 +286,14 @@ def session_failed(request, session_name):
@view_config(route_name='arinvoice-add', renderer='templates/arinvoice/add.pt',
permission='add')
def view_add(request):
form = get_form(request, AddSchema)
values = {}
values['tgl_tetap'] = datetime.now()
values['jatuh_tempo'] = datetime.now()
values['periode_1'] = datetime.now()
values['periode_2'] = datetime.now()
form.set_appstruct(values)
if request.POST:
if 'simpan' in request.POST:
controls = request.POST.items()
......@@ -428,13 +435,10 @@ def view_act(request):
columns.append(ColumnDT('op_kode'))
columns.append(ColumnDT('op_nama'))
columns.append(ColumnDT('rek_nama'))
#columns.append(ColumnDT('pokok'))
#columns.append(ColumnDT('denda'))
#columns.append(ColumnDT('bunga'))
columns.append(ColumnDT('jumlah', filter=_DTnumberformat))
columns.append(ColumnDT('unit_nama'))
query = DBSession.query(ARInvoice
).filter(ARInvoice.owner_id==u
).filter(ARInvoice.owner_id==u, ARInvoice.status_grid==0
)
rowTable = DataTables(req, ARInvoice, query, columns)
return rowTable.output_result()
......@@ -20,7 +20,7 @@ from ..tools import _DTnumberformat
from ..models import DBSession
from ..models.isipkd import(
Pegawai, ObjekPajak, SubjekPajak, ARInvoice,
Unit, Wilayah, Pajak, Rekening
Unit, UserUnit,Wilayah, Pajak, Rekening
)
from datatables import (
......@@ -287,6 +287,26 @@ def session_failed(request, session_name):
permission='add')
def view_add(request):
form = get_form(request, AddSchema)
values = {}
u = request.user.id
print '----------------User_id-------------------',u
a = DBSession.query(UserUnit.unit_id).filter(UserUnit.user_id==u).first()
b = '%s' % a
c = int(b)
values['unit_id'] = c
print '----------------Unit id-------------------------',values['unit_id']
unit = DBSession.query(Unit.nama.label('unm')
).filter(Unit.id==c,
).first()
values['unit_nm'] = unit.unm
print '----------------Unit nama-----------------------',values['unit_nm']
values['tgl_tetap'] = datetime.now()
values['jatuh_tempo'] = datetime.now()
values['periode_1'] = datetime.now()
values['periode_2'] = datetime.now()
form.set_appstruct(values)
if request.POST:
if 'simpan' in request.POST:
controls = request.POST.items()
......@@ -426,7 +446,7 @@ def view_act(request):
columns.append(ColumnDT('jumlah', filter=_DTnumberformat))
columns.append(ColumnDT('unit_nama'))
query = DBSession.query(ARInvoice
).filter(ARInvoice.owner_id==u
).filter(ARInvoice.owner_id==u, ARInvoice.status_grid==0
)
rowTable = DataTables(req, ARInvoice, query, columns)
return rowTable.output_result()
......@@ -20,7 +20,8 @@ from ..tools import _DTnumberformat
from ..models import DBSession
from ..models.isipkd import(
Pegawai, ObjekPajak, SubjekPajak, ARInvoice,
Unit, Wilayah, Pajak, Rekening
Unit, Wilayah, Pajak, Rekening,
User
)
from datatables import (
......@@ -287,6 +288,35 @@ def session_failed(request, session_name):
permission='add')
def view_add(request):
form = get_form(request, AddSchema)
values = {}
u = request.user.id
a = DBSession.query(User.email).filter(User.id==u).first()
print '----------------Email---------------------',a
rows = DBSession.query(SubjekPajak.id.label('sid'), SubjekPajak.nama.label('snm'), SubjekPajak.unit_id.label('sui'), SubjekPajak.user_id.label('sus'),
).filter(SubjekPajak.email==a,
).first()
values['subjek_pajak_id'] = rows.sid
print '----------------Subjek id-----------------------',values['subjek_pajak_id']
values['subjek_pajak_nm'] = rows.snm
print '----------------Subjek nama---------------------',values['subjek_pajak_nm']
values['subjek_pajak_us'] = rows.sus
print '----------------Subjek user---------------------',values['subjek_pajak_us']
values['subjek_pajak_un'] = rows.sui
print '----------------Subjek unit 1-------------------',values['subjek_pajak_un']
values['unit_id'] = rows.sui
print '----------------Subjek unit---------------------',values['unit_id']
unit = DBSession.query(Unit.nama.label('unm')
).filter(Unit.id==values['unit_id'],
).first()
values['unit_nm'] = unit.unm
print '----------------Unit nama-----------------------',values['unit_nm']
values['tgl_tetap'] = datetime.now()
values['jatuh_tempo'] = datetime.now()
values['periode_1'] = datetime.now()
values['periode_2'] = datetime.now()
form.set_appstruct(values)
if request.POST:
if 'simpan' in request.POST:
controls = request.POST.items()
......@@ -426,7 +456,7 @@ def view_act(request):
columns.append(ColumnDT('jumlah', filter=_DTnumberformat))
columns.append(ColumnDT('unit_nama'))
query = DBSession.query(ARInvoice
).filter(ARInvoice.owner_id==u
).filter(ARInvoice.owner_id==u, ARInvoice.status_grid==0
)
rowTable = DataTables(req, ARInvoice, query, columns)
return rowTable.output_result()
......@@ -99,7 +99,7 @@ class AddSchema(colander.Schema):
)
kode = colander.SchemaNode(
colander.String(),
title="Kode Bayar",
title="Kode STS",
missing = colander.drop,
)
......@@ -185,6 +185,30 @@ def session_failed(request, session_name):
permission='add')
def view_add(request):
form = get_form(request, AddSchema)
values = {}
u = request.user.id
print '----------------User_Login---------------',u
x = DBSession.query(UserGroup.group_id).filter(UserGroup.user_id==u).first()
y = '%s' % x
z = int(y)
print '----------------Group_id-----------------',z
if z == 2:
print '----------------User_id-------------------',u
a = DBSession.query(UserUnit.unit_id).filter(UserUnit.user_id==u).first()
b = '%s' % a
c = int(b)
values['unit_id'] = c
print '----------------Unit id-------------------------',values['unit_id']
unit = DBSession.query(Unit.nama.label('unm')
).filter(Unit.id==c,
).first()
values['unit_nm'] = unit.unm
print '----------------Unit nama-----------------------',values['unit_nm']
values['tgl_sts'] = datetime.now()
form.set_appstruct(values)
if request.POST:
if 'simpan' in request.POST:
controls = request.POST.items()
......
......@@ -87,7 +87,25 @@ def daftar_wilayah():
d = (row.id, row.kode+' : '+row.nama)
r.append(d)
return r
###############################
## Untuk pemilihan Wilayah 1 ##
###############################
@colander.deferred
def deferred_wilayah1(node, kw):
values = kw.get('daftar_wilayah1',[])
return widget.SelectWidget(values=values)
def daftar_wilayah1():
rows = DBSession.query(Wilayah.id, Wilayah.kode, Wilayah.nama).filter_by(level_id=1).all()
r=[]
d = (0,'Pilih Wilayah')
r.append(d)
for row in rows:
d = (row.id, row.kode+' : '+row.nama)
r.append(d)
return r
#############################
## Untuk pemilihan Jabatan ##
#############################
......@@ -313,4 +331,9 @@ auto_wilayah_nm = widget.AutocompleteInputWidget(
auto_rekening_nm = widget.AutocompleteInputWidget(
size=60,
values = '/rekening/hon/act',
min_length=1)
auto_pajak_nm = widget.AutocompleteInputWidget(
size=60,
values = '/pajak/hon/act',
min_length=1)
\ No newline at end of file
......@@ -17,6 +17,7 @@ from ..models.isipkd import(
ObjekPajak,
SubjekPajak,
Unit,
UserUnit,
Wilayah,
Pajak,
Rekening,
......@@ -33,7 +34,7 @@ from daftar import (STATUS, deferred_status,
daftar_subjekpajak, deferred_subjekpajak,
daftar_wilayah, deferred_wilayah,
daftar_unit, deferred_unit,
daftar_pajak, deferred_pajak, auto_wp_nm2
daftar_pajak, deferred_pajak, auto_wp_nm2, auto_pajak_nm
)
SESS_ADD_FAILED = 'Gagal tambah Objek Pajak'
......@@ -93,8 +94,17 @@ class AddSchema(colander.Schema):
)
pajak_id = colander.SchemaNode(
colander.Integer(),
widget=deferred_pajak,
title="Rekening"
widget=widget.HiddenWidget(),
oid="pajak_id",
#widget=deferred_pajak,
#title="Rekening"
)
pajak_nm = colander.SchemaNode(
colander.String(),
#widget=auto_pajak_nm,
title="Rekening",
oid="pajak_nm"
)
kode = colander.SchemaNode(
colander.String(),
......@@ -132,6 +142,7 @@ def save(values, row=None):
if not row:
row = ObjekPajak()
row.from_dict(values)
p = values['pajak_id']
x = values['kode']
y = values['nama']
......@@ -140,9 +151,7 @@ def save(values, row=None):
row.kode = row1.kode
row.nama = row1.nama
print "********------",row.kode, "********--------", row.nama
#if values['password']:
# row.password = values['password']
DBSession.add(row)
DBSession.flush()
return row
......@@ -166,15 +175,60 @@ def session_failed(request, session_name):
permission='add')
def view_add(request):
form = get_form(request, AddSchema)
values = {}
u = request.user.id
print '----------------User_Login---------------',u
x = DBSession.query(UserGroup.group_id).filter(UserGroup.user_id==u).first()
y = '%s' % x
z = int(y)
print '----------------Group_id-----------------',z
if z == 1:
a = DBSession.query(User.email).filter(User.id==u).first()
print '----------------Email---------------------',a
rows = DBSession.query(SubjekPajak.id.label('sid'), SubjekPajak.nama.label('snm'), SubjekPajak.unit_id.label('sui'), SubjekPajak.user_id.label('sus'),
).filter(SubjekPajak.email==a,
).first()
values['subjekpajak_id'] = rows.sid
print '----------------Subjek id-----------------------',values['subjekpajak_id']
values['subjekpajak_nm'] = rows.snm
print '----------------Subjek nama---------------------',values['subjekpajak_nm']
values['subjekpajak_us'] = rows.sus
print '----------------Subjek user---------------------',values['subjekpajak_us']
values['subjekpajak_un'] = rows.sui
print '----------------Subjek unit 1-------------------',values['subjekpajak_un']
values['unit_id'] = rows.sui
print '----------------Subjek unit---------------------',values['unit_id']
unit = DBSession.query(Unit.nama.label('unm')
).filter(Unit.id==values['unit_id'],
).first()
values['unit_nm'] = unit.unm
print '----------------Unit nama-----------------------',values['unit_nm']
elif z == 2:
print '----------------User_id-------------------',u
a = DBSession.query(UserUnit.unit_id).filter(UserUnit.user_id==u).first()
b = '%s' % a
c = int(b)
values['unit_id'] = c
print '----------------Unit id-------------------------',values['unit_id']
unit = DBSession.query(Unit.nama.label('unm')
).filter(Unit.id==c,
).first()
values['unit_nm'] = unit.unm
print '----------------Unit nama-----------------------',values['unit_nm']
form.set_appstruct(values)
if request.POST:
if 'simpan' in request.POST:
controls = request.POST.items()
try:
c = form.validate(controls)
except ValidationFailure, e:
return dict(form=form)
#request.session[SESS_ADD_FAILED] = e.render()
#return HTTPFound(location=request.route_url('op-add'))
save_request(dict(controls), request)
return route_list(request)
elif SESS_ADD_FAILED in request.session:
......@@ -200,10 +254,10 @@ def view_edit(request):
if not row:
return id_not_found(request)
x = DBSession.query(ARInvoice).filter(ARInvoice.objek_pajak_id==id).first()
if x:
request.session.flash('Tidak bisa diedit, karena objek sudah digunakan di daftar bayar.','error')
return route_list(request)
#x = DBSession.query(ARInvoice).filter(ARInvoice.objek_pajak_id==id).first()
#if x:
# request.session.flash('Tidak bisa diedit, karena objek sudah digunakan di daftar bayar.','error')
# return route_list(request)
form = get_form(request, EditSchema)
if request.POST:
......@@ -220,6 +274,7 @@ def view_edit(request):
values = row.to_dict()
values['subjekpajak_nm'] = row and row.subjekpajaks.nama or None
values['unit_nm'] = row and row.units.nama or None
values['pajak_nm'] = row and row.pajaks.nama or None
form.set_appstruct(values)
return dict(form=form)
......@@ -336,3 +391,29 @@ def view_act(request):
r.append(d)
return r
elif url_dict['act']=='hon1':
x = request.user.id
term = 'term' in params and params['term'] or ''
d = DBSession.query(User.email).filter(User.id==x).first()
rows = DBSession.query(ObjekPajak).join(SubjekPajak).join(Pajak).\
filter(ObjekPajak.nama.ilike('%%%s%%' % term),
ObjekPajak.subjekpajak_id==SubjekPajak.id,
SubjekPajak.email==d,
ObjekPajak.pajak_id==Pajak.id).all()
r = []
for k in rows:
print k
d={}
d['id'] = k.id
d['value'] = k.nama
d['sp_id'] = k.subjekpajaks.id
d['sp_nm'] = k.subjekpajaks.nama
d['unit_id'] = k.units.id
d['unit_nm'] = k.units.nama
d['tarif'] = k.pajaks.tarif
r.append(d)
return r
\ No newline at end of file
......@@ -242,3 +242,30 @@ def view_act(request):
join(Rekening)
rowTable = DataTables(req, Pajak, query, columns)
return rowTable.output_result()
elif url_dict['act']=='hon':
term = 'term' in params and params['term'] or ''
rows = DBSession.query(Pajak.id, Pajak.nama
).filter(Pajak.status==1, Pajak.nama.ilike('%%%s%%' % term)
).all()
r = []
for k in rows:
d={}
d['id'] = k[0]
d['value'] = k[1]
r.append(d)
return r
elif url_dict['act']=='hon_fast':
term = 'term' in params and params['term'] or ''
rows = DBSession.query(Pajak.id, Pajak.nama, Pajak.tarif
).filter(Pajak.status==1, Pajak.nama.ilike('%%%s%%' % term)
).all()
r = []
for k in rows:
d={}
d['id'] = k[0]
d['value'] = k[1]
d['tarif'] = k[2]
r.append(d)
return r
\ No newline at end of file
......@@ -215,9 +215,9 @@ def save(request, values, row=None):
return p
def save_request(values, request, row=None):
values['npwpd'] = values['npwpd']
values['m_pjk_bln'] = values['m_pjk_bln']
values['m_pjk_thn'] = values['m_pjk_thn']
#values['npwpd'] = values['npwpd']
#values['m_pjk_bln'] = values['m_pjk_bln']
#values['m_pjk_thn'] = values['m_pjk_thn']
row = save(request, values, row)
return row
......@@ -259,17 +259,13 @@ def view_add(request):
except ValidationFailure, e:
return dict(form=form, private_key=private_key, found=found)
row = save_request(dict(controls), request)
if not row:
request.session.flash('Data PAP tidak ditemukan', 'error')
return route_list(request)
else:
request.session.flash('Data PAP ditemukan.')
found = 1
ctrl=dict(controls)
row = save_request(ctrl, request)
found = 1
print '----------------Row Hasil Select--------------------',row
return HTTPFound(location=request.route_url('pap-edit',nr=row.npwpd,
nk=row.m_pjk_bln,
em=row.m_pjk_thn))
return HTTPFound(location=request.route_url('pap-edit',nr=ctrl['npwpd'],
nk=ctrl['m_pjk_bln'],
em=ctrl['m_pjk_thn']))
return route_list(request)
elif SESS_ADD_FAILED in request.session:
......@@ -324,53 +320,32 @@ def view_edit(request):
except ValidationFailure, e:
return dict(form=form, private_key=private_key, found=found)
row = save_request(dict(controls), request)
if not row:
request.session.flash('Data PAP tidak ditemukan', 'error')
return route_list(request)
else:
request.session.flash('Data PAP ditemukan.')
found = 1
ctrl=dict(controls)
row = save_request(ctrl, request)
found = 1
print '----------------Row Hasil Select--------------------',row
return HTTPFound(location=request.route_url('pap-edit',nr=row.npwpd,
nk=row.m_pjk_bln,
em=row.m_pjk_thn))
return HTTPFound(location=request.route_url('pap-edit',nr=ctrl['npwpd'],
nk=ctrl['m_pjk_bln'],
em=ctrl['m_pjk_thn']))
return route_list(request)
elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED)
values = {}
values['kd_status'] = row.kd_status
values['kd_bayar'] = row.kd_bayar
values['npwpd1'] = row.npwpd
values['nm_perus'] = row.nm_perus
values['al_perus'] = row.al_perus
values['m_pjk_bln1'] = row.m_pjk_bln
values['m_pjk_thn1'] = row.m_pjk_thn
values['tgl_tetap'] = row.tgl_tetap
values['tgl_jt_tempo'] = row.tgl_jt_tempo
values['keterangan'] = row.keterangan
## Untuk yang tipe Integer ##
if row.vol_air == None:
values['vol_air'] = 0
else:
values['vol_air'] = row.vol_air
if row.npa == None:
values['npa'] = 0
else:
values['npa'] = row.npa
if row.bea_pok_pjk == None:
values['bea_pok_pjk'] = 0
else:
values['bea_pok_pjk'] = row.bea_pok_pjk
if row.bea_den_pjk == None:
values['bea_den_pjk'] = 0
else:
values['bea_den_pjk'] = row.bea_den_pjk
values['kd_status'] = row and row.kd_status or 0
values['kd_bayar'] = row and row.kd_bayar or None
values['npwpd1'] = row and row.npwpd or request.matchdict['nr']
values['nm_perus'] = row and row.nm_perus or None
values['al_perus'] = row and row.al_perus or None
values['m_pjk_bln1'] = row and row.m_pjk_bln or request.matchdict['nk']
values['m_pjk_thn1'] = row and row.m_pjk_thn or request.matchdict['em']
values['tgl_tetap'] = row and row.tgl_tetap or None
values['tgl_jt_tempo'] = row and row.tgl_jt_tempo or None
values['keterangan'] = row and row.keterangan or None
values['vol_air'] = row and row.vol_air or 0
values['npa'] = row and row.npa or 0
values['bea_pok_pjk'] = row and row.bea_pok_pjk or 0
values['bea_den_pjk'] = row and row.bea_den_pjk or 0
form.set_appstruct(values)
return dict(form=form, private_key=private_key, found=found)
\ No newline at end of file
return dict(form=form, private_key=private_key, found=found)
File mode changed
File mode changed
......@@ -287,6 +287,20 @@ def view_act(request):
print '---------------Unit------------------',r
return r
elif url_dict['act']=='hon_fast':
term = 'term' in params and params['term'] or ''
rows = DBSession.query(Unit.id, Unit.nama
).filter(Unit.level_id==3, Unit.nama.ilike('%%%s%%' % term)).all()
r = []
for k in rows:
d={}
d['id'] = k[0]
d['value'] = k[1]
d['nama'] = k[1]
r.append(d)
print '---------------Unit------------------',r
return r
elif url_dict['act']=='hon_wp':
term = 'term' in params and params['term'] or ''
u = request.user.id
......
......@@ -244,22 +244,6 @@
$('#subjek_pajak_us').val(datum.user);
$('#subjek_pajak_un').val(datum.unit);
//Untuk headof Objek
$('#objek_pajak_nm').typeahead({
"hint" : true,
"highlight": true,
"minLength": 1,
"remote" : "/op/hon/act?subjek_pajak_id="+$("#subjek_pajak_id").val()+"&term=%QUERY",
},{
"name" : 'objek_pajak_nm',
"displayKey": 'value',
});
$('#objek_pajak_nm').bind('typeahead:selected', function(obj, datum, name) {
$('#objek_pajak_id').val(datum.id);
$('#tarif').val(datum.tarif);
});
//Untuk headof OPD
$('#unit_nm').typeahead({
"hint" : true,
......@@ -276,6 +260,22 @@
});
});
//Untuk headof Objek
$('#objek_pajak_nm').typeahead({
"hint" : true,
"highlight": true,
"minLength": 1,
"remote" : "/op/hon1/act?term=%QUERY",
},{
"name" : 'objek_pajak_nm',
"displayKey": 'value',
});
$('#objek_pajak_nm').bind('typeahead:selected', function(obj, datum, name) {
$('#objek_pajak_id').val(datum.id);
$('#tarif').val(datum.tarif);
});
$('#dasar').keyup(function(){
var dasar = this.value.length;
......
......@@ -292,7 +292,7 @@
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Bayar</button>
value="simpan">Proses</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default "
value="batal">Batal</button>
</div>
......
......@@ -50,6 +50,7 @@
<li class="dropdown" tal:attributes="class request.matched_route.name in ['wp', 'wp-add', 'wp-edit', 'wp-delete'] and 'active'">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">e-Payment<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/fast-pay">Pembayaran Cepat</a></li>
<li><a href="/arinvoice">No. Bayar (BUD)</a></li>
<li><a href="/arinvoiceb">No. Bayar (Bendahara)</a></li>
<li><a href="/arinvoicewp">No. Bayar (WP)</a></li>
......@@ -81,8 +82,8 @@
<li><a href="/rekening">Kode Rekening</a></li>
<li><a href="/pajak">Tarif</a></li>
<li><a href="/wilayah">Wilayah</a></li>
<li><a href="/rekon-esamsat">Rekon e-Samsat</a></li>
<li><a href="/rekon-epap">Rekon e-PAP</a></li>
<!--li><a href="/rekon-esamsat">Rekon e-Samsat</a></li-->
<!--li><a href="/rekon-epap">Rekon e-PAP</a></li-->
</ul>
</li>
</ul>
......
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content">
<div class="panel panel-danger">
<div class="panel-heading">
<h3 class="panel-title">Warning</h3>
</div>
<div class="panel-body">
<div tal:condition="not row.arsspds"> Hapus No. Pembayaran ID #${row.id} Kode# ${row.kode} ? </div>
<div tal:condition="row.arsspds" >No. Pembayaran ID #${row.id} Kode# ${row.kode} tidak dapat dihapus</div>
</div>
</div>
<div tal:content="structure form"/>
</div>
</html>
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content">
<link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet">
<link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet">
<h4>Daftar Pembayaran Cepat</h4>
<hr>
<div class="container">
</div>
<p>
<table id="table1" name="table1" class="table table-bordered table-hover table-condensed" >
<thead>
<tr>
<th>ID</th>
<th>Kode</th>
<th>Penyetor</th>
<th>Pajak</th>
<th>Uraian</th>
<th>Rekening</th>
<th>Jumlah</th>
<th>OPD</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<script src="/static/datatables/media/js/jquery.dataTables.min.js"></script>
<script src="/static/datatables/media/js/jquery.dataTables.ext.js"></script>
<script src="/static/datatables/extensions/TableTools/media/js/ZeroClipboard.js"></script>
<script src="/static/datatables/media/js/dataTables.bootstrap.js"></script>
<script>
var mID;
var oTable;
var iPos;
var oFormUrl = "/fast-pay/";
var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () {
oTable = $('#table1').dataTable({
"sAjaxSource" : oTableUrl,
"bStateSave" : true,
"bServerSide" : true,
"bProcessing" : true,
"sDom" : '<"toolbar">lfrtip',
"bScrollCollapse" : true,
"bSort" : true,
"bInfo" : false,
"bFilter" : true,
"bAutoWidth" : false,
"bPaginate" : true,
"sPaginationType" : "full_numbers",
"lengthMenu": [
[10, 25, 50, 100],
[10, 25, 50, 100]
],
"aoColumnDefs": [
{"bSearchable": false, "bVisible": false, "aTargets": [0]}
],
"aoColumns": [
null,
{"sWidth": "100px", "sClass": "left"},
{"sWidth": "30px", "sClass": "center"},
{"sWidth": "30px", "sClass": "center"},
null,
null,
{"sWidth": "75px", "sClass": "right"},
null
],
});
var tb_array = [
'<div class="btn-group pull-left">',
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Cetak</button>',
' <button id="btn_close" class="btn btn btn-warning" type="button">Tutup</button>',
' &nbsp;',
'</div>',
];
var tb = tb_array.join(' ');
$("div.toolbar").html(tb);
$('#table1 tbody').on('click', 'tr', function () {
if ($(this).hasClass('selected')) {
mID = '';
$(this).removeClass('selected');
} else {
iPos = oTable.fnGetPosition(this);
var aData = oTable.fnGetData(iPos);
mID = aData[0];
oTable.$('tr.selected').removeClass('selected');
$(this).addClass('selected');
}
});
$('#btn_tambah').click(function () {
window.location = oFormUrl+'add';
});
$('#btn_edit').click(function () {
if (mID) {
window.location = oFormUrl+mID+'/edit';
} else {
alert('Silahkan pilih data yang akan diedit');
}
});
$('#btn_print').click(function () {
url = "/reports/act/r100"
window.open(url);
});
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () {
if (mID) {
var hapus = confirm('Hapus data ini?');
if (hapus == true) {
window.location = oFormUrl+mID+'/delete';
};
} else {
alert('Silahkan pilih data yang akan dihapus');
}
});
});
</script>
</div>
</html>
......@@ -22,6 +22,10 @@
<div tal:define="field form['unit_id']">
${structure:field.serialize()}
</div>
<!--pajak_id ------------------------------->
<div tal:define="field form['pajak_id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--subjekpajak_id ------------------------------->
......@@ -36,8 +40,9 @@
${error}</p>
</div>
</div>
<!--wilayah_id ------------------------------->
<div class="form-group" tal:define="field form['wilayah_id']" id="item-${field.oid}">
<!--unit_id ------------------------------->
<div class="form-group" tal:define="field form['unit_nm']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
......@@ -48,8 +53,8 @@
${error}</p>
</div>
</div>
<!--unit_id ------------------------------->
<div class="form-group" tal:define="field form['unit_nm']" id="item-${field.oid}">
<!--wilayah_id ------------------------------->
<div class="form-group" tal:define="field form['wilayah_id']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
......@@ -60,8 +65,8 @@
${error}</p>
</div>
</div>
<!--pajak_id ------------------------------->
<div class="form-group" tal:define="field form['pajak_id']" id="item-${field.oid}">
<!--pajak_nm ------------------------------->
<div class="form-group" tal:define="field form['pajak_nm']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
......@@ -71,6 +76,22 @@
tal:repeat="error field.error.messages()">
${error}</p>
</div>
<script>
//Untuk headof Pajak
$('#pajak_nm').typeahead({
"hint" : true,
"highlight": true,
"minLength": 1,
"remote" : "/pajak/hon/act?term=%QUERY",
},{
"name" : 'pajak_nm',
"displayKey": 'value',
});
$('#pajak_nm').bind('typeahead:selected', function(obj, datum, name) {
$('#pajak_id').val(datum.id);
});
</script>
</div>
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" id="item-${field.oid}">
......@@ -141,7 +162,6 @@
$('#unit_nm').bind('typeahead:selected', function(obj, datum, name) {
$('#unit_id').val(datum.id);
});
});
</script>
</fieldset>
......
......@@ -19,6 +19,10 @@
<div tal:define="field form['unit_id']">
${structure:field.serialize()}
</div>
<!--pajak_id ------------------------------->
<div tal:define="field form['pajak_id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--subjekpajak_id ------------------------------->
......@@ -33,8 +37,9 @@
${error}</p>
</div>
</div>
<!--wilayah_id ------------------------------->
<div class="form-group" tal:define="field form['wilayah_id']" id="item-${field.oid}">
<!--unit_id ------------------------------->
<div class="form-group" tal:define="field form['unit_nm']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
......@@ -45,8 +50,8 @@
${error}</p>
</div>
</div>
<!--unit_id ------------------------------->
<div class="form-group" tal:define="field form['unit_nm']" id="item-${field.oid}">
<!--wilayah_id ------------------------------->
<div class="form-group" tal:define="field form['wilayah_id']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
......@@ -57,8 +62,8 @@
${error}</p>
</div>
</div>
<!--pajak_id ------------------------------->
<div class="form-group" tal:define="field form['pajak_id']" id="item-${field.oid}">
<!--pajak_nm ------------------------------->
<div class="form-group" tal:define="field form['pajak_nm']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
......@@ -68,6 +73,23 @@
tal:repeat="error field.error.messages()">
${error}</p>
</div>
<script>
//Untuk headof Pajak
$('#pajak_nm').typeahead({
"hint" : true,
"highlight": true,
"minLength": 1,
"remote" : "/pajak/hon/act?term=%QUERY",
},{
"name" : 'pajak_nm',
"displayKey": 'value',
});
$('#pajak_nm').bind('typeahead:selected', function(obj, datum, name) {
$('#pajak_id').val(datum.id);
});
$('#pajak_nm').attr('readonly', true);
</script>
</div>
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" id="item-${field.oid}">
......@@ -137,8 +159,9 @@
$('#unit_nm').bind('typeahead:selected', function(obj, datum, name) {
$('#unit_id').val(datum.id);
});
});
</script>
</fieldset>
</form>
......
......@@ -173,9 +173,12 @@
</div>
<script>
//Untuk readonly email
var login = $('input[name="login"]:checked').val();
//alert(login);
var email = $('#email').val();
if(email!=''){
if(login=='true'){
$('#email').attr('readonly', true)
$('input[name="login"]:checked').removeAttr('checked');
}
//Untuk headof OPD
......
......@@ -17,7 +17,7 @@ from ..models.isipkd import(
Wilayah,
)
from daftar import (
deferred_wilayah, daftar_wilayah, auto_wilayah_nm)
deferred_wilayah, daftar_wilayah, auto_wilayah_nm, deferred_wilayah1, daftar_wilayah1)
from datatables import (
ColumnDT, DataTables)
......@@ -100,7 +100,7 @@ class EditSchema(AddSchema):
def get_form(request, class_form):
schema = class_form(validator=form_validator)
schema = schema.bind(daftar_wilayah=daftar_wilayah())
schema = schema.bind(daftar_wilayah=daftar_wilayah(),daftar_wilayah1=daftar_wilayah1())
schema.request = request
return Form(schema, buttons=('simpan','batal'))
......@@ -180,11 +180,9 @@ def view_edit(request):
elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED)
values = row.to_dict()
values['parent_id'] = 'parent_id' in values and values['parent_id']==None and -1 or values['parent_id']
#print values['parent_id'], values['parent_id']==None
#print values
values['parent_id'] = row and row.parent_id or 0
form.set_appstruct(values)
return dict(form=form)#.render(appstruct=values))
return dict(form=form)
##########
# Delete #
......@@ -229,13 +227,26 @@ def view_act(request):
return rowTable.output_result()
elif url_dict['act']=='hon':
term = 'term' in params and params['term'] or ''
rows = DBSession.query(Wilayah.id, Wilayah.nama
).filter(Wilayah.nama.ilike('%%%s%%' % term) ).all()
r = []
for k in rows:
d={}
d['id'] = k[0]
d['value'] = k[1]
r.append(d)
return r
term = 'term' in params and params['term'] or ''
rows = DBSession.query(Wilayah.id, Wilayah.nama
).filter(Wilayah.nama.ilike('%%%s%%' % term) ).all()
r = []
for k in rows:
d={}
d['id'] = k[0]
d['value'] = k[1]
r.append(d)
return r
elif url_dict['act']=='hon_fast':
term = 'term' in params and params['term'] or ''
rows = DBSession.query(Wilayah.id, Wilayah.nama, Wilayah.kode
).filter(Wilayah.nama.ilike('%%%s%%' % term) ).all()
r = []
for k in rows:
d={}
d['id'] = k[0]
d['value'] = k[1]
d['kode'] = k[2]
r.append(d)
return r
......@@ -103,6 +103,7 @@ class AddSchema(colander.Schema):
'''
kode = colander.SchemaNode(
colander.String(),
title ="Kode Penyetor"
)
nama = colander.SchemaNode(
colander.String()
......@@ -140,7 +141,8 @@ class AddSchema(colander.Schema):
login = colander.SchemaNode(
colander.Boolean(),
missing = colander.drop,
title='Buat Login'
title='Buat Login',
oid='login'
)
email = colander.SchemaNode(
colander.String(),
......@@ -309,8 +311,6 @@ def view_edit(request):
request.session.flash('Tidak bisa diedit, karena penyetor sudah digunakan di daftar bayar.','error')
return route_list(request)
y = DBSession.query(User.email).filter(User.email==email).first()
if y:
found = 1
form = get_form(request, EditSchema)
if request.POST:
......@@ -378,6 +378,10 @@ def view_edit(request):
else:
values['email'] = row.email
if y:
found = 1
values['login'] = found
#cek = DBSession.query(User).filter(User.email==row.email).first()
#if cek:
# values['login'] = True
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!