Commit 51e791db by aagusti

aa-informix

1 parent 581c23a9
Showing 100 changed files with 2835 additions and 409 deletions
File mode changed
File mode changed
File mode changed
File mode changed
File mode changed
File mode changed
...@@ -5,24 +5,30 @@ ...@@ -5,24 +5,30 @@
[app:main] [app:main]
use = egg:esipkd use = egg:esipkd
reload_templates = true reload_templates = trues
debug_authorization = false debug_authorization = false
debug_notfound = false debug_notfound = false
debug_routematch = false debug_routematch = false
debug_templates = true debug_templates = true
default_locale_name = en default_locale_name = en
sqlalchemy.url = postgresql://aagusti:a@127.0.0.1/aagusti sqlalchemy.url = postgresql://aagusti:a@127.0.0.1/esipkd
pyramid.includes = pyramid.includes =
pyramid_debugtoolbar pyramid_debugtoolbar
pyramid_tm pyramid_tm
otherdb.url = informix://informix:a@localhost/esipkd
recaptcha.private_key =
#6LcGLQATAAAAABtqq0J20BATKsZPGXwBVj6i5zk_
recaptcha.data_key = 6LcGLQATAAAAAPlQuLEaUUrmAO845hlNKbZeUr1J
debugtoolbar.hosts = 127.0.0.1 192.168.56.1 debugtoolbar.hosts = 127.0.0.1 192.168.56.1
session.type = ext:database session.type = ext:database
session.secret = s0s3cr3t session.secret = s0s3cr3t
session.cookie_expires = true session.cookie_expires = true
session.key = WhatEver session.key = WhatEver
session.url = postgresql://aagusti:a@127.0.0.1/aagusti session.url = postgresql://aagusti:a@127.0.0.1/esipkd
session.timeout = 3000 session.timeout = 3000
session.lock_dir = %(here)s/tmp session.lock_dir = %(here)s/tmp
......
...@@ -116,7 +116,6 @@ class Group(GroupMixin, Base, CommonModel): ...@@ -116,7 +116,6 @@ class Group(GroupMixin, Base, CommonModel):
class GroupPermission(GroupPermissionMixin, Base): class GroupPermission(GroupPermissionMixin, Base):
pass pass
class UserGroup(UserGroupMixin, Base): class UserGroup(UserGroupMixin, Base):
@classmethod @classmethod
def get_by_email(cls, email): def get_by_email(cls, email):
......
import informixdb
from ..tools import get_settings
class EngInformix(object):
def __init__(self):
self.conn = None
self.database = None
self.user = None
self.password = None
settings = get_settings()
url = settings['otherdb.url']
self.dbtype, url = url.split('://')
user_pass, url = url.split('@')
self.user, self.password = user_pass.split(':')
self.server, self.database = url.split('/')
def connect(self):
self.conn = informixdb.connect(self.database, user=self.user, password=self.password)
return self.conn
def execute(self, sql):
if not self.conn:
self.connect()
cursor = self.conn.cursor(rowformat=informixdb.ROW_AS_OBJECT)
cursor.execute(sql)
self.conn.commit()
return
def fetchone(self, sql):
if not self.conn:
self.connect()
cursor = self.conn.cursor(rowformat=informixdb.ROW_AS_OBJECT)
cursor.execute(sql)
row = cursor.fetchone()
return row
def query_obj(self, sql):
if not self.conn:
self.connect()
cursor = self.conn.cursor(rowformat=informixdb.ROW_AS_OBJECT)
cursor.execute(sql)
return cursor.fetchall()
def query_dict(sql):
if not self.conn:
self.connect()
cursor = self.conn.cursor(rowformat=informixdb.ROW_AS_DICT)
cursor.execute(sql)
return cursor.fetchall()
\ No newline at end of file \ No newline at end of file
...@@ -97,7 +97,7 @@ class Pajak(NamaModel, Base): ...@@ -97,7 +97,7 @@ class Pajak(NamaModel, Base):
rekening_id = Column(Integer,ForeignKey("rekenings.id")) rekening_id = Column(Integer,ForeignKey("rekenings.id"))
tahun = Column(Integer, nullable=False, default=0) tahun = Column(Integer, nullable=False, default=0)
tarif = Column(Float, default=0, nullable=False) tarif = Column(Float, default=0, nullable=False)
denda_rekening_id = Column(Integer, nullable=False, default=0) denda_rekening_id = Column(Integer, nullable=True, default=0)
UniqueConstraint('rekening_id','tahun', name='rekening_tahun') UniqueConstraint('rekening_id','tahun', name='rekening_tahun')
rekenings = relationship("Rekening", backref=backref('pajaks')) rekenings = relationship("Rekening", backref=backref('pajaks'))
...@@ -120,12 +120,20 @@ class SubjekPajak(NamaModel, Base): ...@@ -120,12 +120,20 @@ class SubjekPajak(NamaModel, Base):
kelurahan = Column(String(128)) kelurahan = Column(String(128))
kecamatan = Column(String(128)) kecamatan = Column(String(128))
kota = Column(String(128)) kota = Column(String(128))
user_id = Column(Integer, ForeignKey('users.id'), nullable=True) user_id = Column(Integer,ForeignKey("users.id"))
users = relationship(User,backref=backref('subjekpajaks')) users = relationship("User", backref=backref('subjekpajaks'))
UniqueConstraint('kode') UniqueConstraint('kode')
# get_by_user untuk wp non global
@classmethod
def get_by_user_wp(cls, user_id):
return DBSession.query(cls).filter_by(user_id=user_id).first()
# get_by_user untuk wp global
@classmethod @classmethod
def get_by_user(cls, user_id): def get_by_user(cls, user_id):
return DBSession.query(cls).filter(cls.user_id==user_id).all() return DBSession.query(cls).filter_by(user_id=user_id).all()
class ObjekPajak(NamaModel, Base): class ObjekPajak(NamaModel, Base):
__tablename__ = 'objekpajaks' __tablename__ = 'objekpajaks'
...@@ -135,7 +143,7 @@ class ObjekPajak(NamaModel, Base): ...@@ -135,7 +143,7 @@ class ObjekPajak(NamaModel, Base):
alamat_1 = Column(String(128)) alamat_1 = Column(String(128))
alamat_2 = Column(String(128)) alamat_2 = Column(String(128))
wilayah_id = Column(Integer, ForeignKey("wilayahs.id")) wilayah_id = Column(Integer, ForeignKey("wilayahs.id"))
unit_id = Column(Integer,ForeignKey("units.id")) unit_id = Column(Integer, ForeignKey("units.id"))
pajak_id = Column(Integer, ForeignKey("pajaks.id")) pajak_id = Column(Integer, ForeignKey("pajaks.id"))
subjekpajak_id = Column(Integer, ForeignKey("subjekpajaks.id")) subjekpajak_id = Column(Integer, ForeignKey("subjekpajaks.id"))
subjekpajaks = relationship('SubjekPajak', backref=backref('objekpajaks')) subjekpajaks = relationship('SubjekPajak', backref=backref('objekpajaks'))
......
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="pegawai" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="742" leftMargin="50" rightMargin="50" topMargin="28" bottomMargin="20">
<property name="ireport.scriptlethandling" value="0"/>
<property name="ireport.encoding" value="UTF-8"/>
<property name="ireport.zoom" value="1.24184264611831"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<import value="net.sf.jasperreports.engine.*"/>
<import value="java.util.*"/>
<import value="net.sf.jasperreports.engine.data.*"/>
<queryString language="xPath">
<![CDATA[/webr/user]]>
</queryString>
<field name="kode" class="java.lang.String">
<fieldDescription><![CDATA[kode]]></fieldDescription>
</field>
<field name="wp_kode" class="java.lang.String">
<fieldDescription><![CDATA[wp_kode]]></fieldDescription>
</field>
<field name="wp_nama" class="java.lang.String">
<fieldDescription><![CDATA[wp_nama]]></fieldDescription>
</field>
<field name="op_kode" class="java.lang.String">
<fieldDescription><![CDATA[op_kode]]></fieldDescription>
</field>
<field name="op_nama" class="java.lang.String">
<fieldDescription><![CDATA[op_nama]]></fieldDescription>
</field>
<field name="rek_nama" class="java.lang.String">
<fieldDescription><![CDATA[rek_nama]]></fieldDescription>
</field>
<field name="jumlah" class="java.lang.String">
<fieldDescription><![CDATA[jumlah]]></fieldDescription>
</field>
<field name="skpd" class="java.lang.String">
<fieldDescription><![CDATA[skpd]]></fieldDescription>
</field>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="55" splitType="Stretch">
<textField isBlankWhenNull="true">
<reportElement x="0" y="4" width="694" height="15"/>
<textElement textAlignment="Center" markup="none">
<font isBold="true"/>
</textElement>
</textField>
<staticText>
<reportElement x="0" y="19" width="694" height="15"/>
<textElement textAlignment="Center">
<font isBold="true"/>
</textElement>
<text><![CDATA[DAFTAR NOMOR BAYAR]]></text>
</staticText>
</band>
</title>
<pageHeader>
<band height="12" splitType="Stretch">
<staticText>
<reportElement x="90" y="0" width="54" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Subjek]]></text>
</staticText>
<staticText>
<reportElement x="0" y="0" width="90" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Kode]]></text>
</staticText>
<staticText>
<reportElement x="221" y="0" width="134" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Uraian]]></text>
</staticText>
<staticText>
<reportElement x="355" y="0" width="140" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Rekening]]></text>
</staticText>
<staticText>
<reportElement x="144" y="0" width="77" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Objek]]></text>
</staticText>
<staticText>
<reportElement x="495" y="0" width="68" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Jumlah]]></text>
</staticText>
<staticText>
<reportElement x="563" y="0" width="131" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[SKPD]]></text>
</staticText>
</band>
</pageHeader>
<columnHeader>
<band splitType="Stretch"/>
</columnHeader>
<detail>
<band height="12" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="0" y="0" width="90" height="12"/>
<box leftPadding="2">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{kode}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="90" y="0" width="54" height="12"/>
<box leftPadding="2">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{wp_kode}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="221" y="0" width="134" height="12"/>
<box leftPadding="1">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{op_nama}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="355" y="0" width="140" height="12"/>
<box leftPadding="1">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{rek_nama}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="144" y="0" width="77" height="12"/>
<box leftPadding="2">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{op_kode}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="495" y="0" width="68" height="12"/>
<box rightPadding="1">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Right">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{jumlah}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="563" y="0" width="131" height="12"/>
<box leftPadding="1">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{skpd}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="19" splitType="Stretch"/>
</pageFooter>
<summary>
<band height="1" splitType="Stretch">
<line>
<reportElement x="0" y="0" width="694" height="1"/>
<graphicElement>
<pen lineWidth="0.25"/>
</graphicElement>
</line>
</band>
</summary>
</jasperReport>
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="pegawai" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="742" leftMargin="50" rightMargin="50" topMargin="28" bottomMargin="20">
<property name="ireport.scriptlethandling" value="0"/>
<property name="ireport.encoding" value="UTF-8"/>
<property name="ireport.zoom" value="1.24184264611831"/>
<property name="ireport.x" value="330"/>
<property name="ireport.y" value="0"/>
<import value="net.sf.jasperreports.engine.*"/>
<import value="java.util.*"/>
<import value="net.sf.jasperreports.engine.data.*"/>
<queryString language="xPath">
<![CDATA[/webr/user]]>
</queryString>
<field name="id" class="java.lang.String">
<fieldDescription><![CDATA[id]]></fieldDescription>
</field>
<field name="wp_kode" class="java.lang.String">
<fieldDescription><![CDATA[wp_kode]]></fieldDescription>
</field>
<field name="wp_nama" class="java.lang.String">
<fieldDescription><![CDATA[wp_nama]]></fieldDescription>
</field>
<field name="op_kode" class="java.lang.String">
<fieldDescription><![CDATA[op_kode]]></fieldDescription>
</field>
<field name="op_nama" class="java.lang.String">
<fieldDescription><![CDATA[op_nama]]></fieldDescription>
</field>
<field name="rek_nama" class="java.lang.String">
<fieldDescription><![CDATA[rek_nama]]></fieldDescription>
</field>
<field name="jumlah" class="java.lang.String">
<fieldDescription><![CDATA[jumlah]]></fieldDescription>
</field>
<field name="tgl_bayar" class="java.lang.String">
<fieldDescription><![CDATA[tgl_bayar]]></fieldDescription>
</field>
<field name="kode" class="java.lang.String">
<fieldDescription><![CDATA[kode]]></fieldDescription>
</field>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="55" splitType="Stretch">
<textField isBlankWhenNull="true">
<reportElement x="0" y="4" width="617" height="15"/>
<textElement textAlignment="Center" markup="none">
<font isBold="true"/>
</textElement>
</textField>
<staticText>
<reportElement x="0" y="19" width="617" height="15"/>
<textElement textAlignment="Center">
<font isBold="true"/>
</textElement>
<text><![CDATA[DAFTAR PENERIMAAN]]></text>
</staticText>
</band>
</title>
<pageHeader>
<band height="12" splitType="Stretch">
<staticText>
<reportElement x="90" y="0" width="54" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Subjek]]></text>
</staticText>
<staticText>
<reportElement x="0" y="0" width="90" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Kode]]></text>
</staticText>
<staticText>
<reportElement x="221" y="0" width="134" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Uraian]]></text>
</staticText>
<staticText>
<reportElement x="355" y="0" width="140" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Rekening]]></text>
</staticText>
<staticText>
<reportElement x="144" y="0" width="77" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Objek]]></text>
</staticText>
<staticText>
<reportElement x="495" y="0" width="68" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Jumlah]]></text>
</staticText>
<staticText>
<reportElement x="563" y="0" width="54" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Tgl. Bayar]]></text>
</staticText>
</band>
</pageHeader>
<columnHeader>
<band splitType="Stretch"/>
</columnHeader>
<detail>
<band height="12" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="0" y="0" width="90" height="12"/>
<box leftPadding="2">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{kode}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="90" y="0" width="54" height="12"/>
<box leftPadding="2">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{wp_kode}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="221" y="0" width="134" height="12"/>
<box leftPadding="1">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{op_nama}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="355" y="0" width="140" height="12"/>
<box leftPadding="1">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{rek_nama}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="144" y="0" width="77" height="12"/>
<box leftPadding="2">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{op_kode}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="495" y="0" width="68" height="12"/>
<box rightPadding="1">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Right">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{jumlah}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="563" y="0" width="54" height="12"/>
<box>
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{tgl_bayar}.substring(8,10)+"-"+$F{tgl_bayar}.substring(5,7)+"-"+$F{tgl_bayar}.substring(0,4)]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="19" splitType="Stretch"/>
</pageFooter>
<summary>
<band height="1" splitType="Stretch">
<line>
<reportElement x="0" y="0" width="617" height="1"/>
<graphicElement>
<pen lineWidth="0.25"/>
</graphicElement>
</line>
</band>
</summary>
</jasperReport>
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="pegawai" pageWidth="595" pageHeight="842" columnWidth="495" leftMargin="50" rightMargin="50" topMargin="28" bottomMargin="20">
<property name="ireport.scriptlethandling" value="0"/>
<property name="ireport.encoding" value="UTF-8"/>
<property name="ireport.zoom" value="1.24184264611831"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<import value="net.sf.jasperreports.engine.*"/>
<import value="java.util.*"/>
<import value="net.sf.jasperreports.engine.data.*"/>
<queryString language="xPath">
<![CDATA[/webr/user]]>
</queryString>
<field name="kode" class="java.lang.String">
<fieldDescription><![CDATA[kode]]></fieldDescription>
</field>
<field name="nama" class="java.lang.String">
<fieldDescription><![CDATA[nama]]></fieldDescription>
</field>
<field name="jumlah" class="java.lang.String">
<fieldDescription><![CDATA[jumlah]]></fieldDescription>
</field>
<field name="unit_nm" class="java.lang.String">
<fieldDescription><![CDATA[unit_nm]]></fieldDescription>
</field>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="55" splitType="Stretch">
<textField isBlankWhenNull="true">
<reportElement x="0" y="4" width="495" height="15"/>
<textElement textAlignment="Center" markup="none">
<font isBold="true"/>
</textElement>
</textField>
<staticText>
<reportElement x="0" y="19" width="495" height="15"/>
<textElement textAlignment="Center">
<font isBold="true"/>
</textElement>
<text><![CDATA[DAFTAR STS]]></text>
</staticText>
</band>
</title>
<pageHeader>
<band height="12" splitType="Stretch">
<staticText>
<reportElement x="76" y="0" width="215" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Uraian]]></text>
</staticText>
<staticText>
<reportElement x="0" y="0" width="76" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Kode]]></text>
</staticText>
<staticText>
<reportElement x="361" y="0" width="134" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[SKPD]]></text>
</staticText>
<staticText>
<reportElement x="291" y="0" width="70" height="12"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center">
<font size="8" isBold="true"/>
</textElement>
<text><![CDATA[Jumlah]]></text>
</staticText>
</band>
</pageHeader>
<columnHeader>
<band splitType="Stretch"/>
</columnHeader>
<detail>
<band height="12" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="0" y="0" width="76" height="12"/>
<box leftPadding="2">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{kode}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="76" y="0" width="215" height="12"/>
<box leftPadding="2">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{nama}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="361" y="0" width="134" height="12"/>
<box leftPadding="1">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{unit_nm}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="291" y="0" width="70" height="12"/>
<box leftPadding="0" rightPadding="1">
<leftPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Right">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{jumlah}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="19" splitType="Stretch"/>
</pageFooter>
<summary>
<band height="1" splitType="Stretch">
<line>
<reportElement x="0" y="0" width="495" height="1"/>
<graphicElement>
<pen lineWidth="0.25"/>
</graphicElement>
</line>
</band>
</summary>
</jasperReport>
File mode changed
id,kode,nama,path,factory,perm_name,disabled,created,updated,create_uid id,kode,nama,path,factory,perm_name,disabled,created,updated,create_uid
1,"home","Home","/",,"''",0,"2015-03-08 16:45:45",,1 1,"home","Beranda","/",,"''",0,"2015-03-08 16:45:45",,1
2,"login","Login","/login",,"''",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 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",,"view",0,"2015-03-08 16:45:45",,1
5,"forbidden","Forbidden","/forbidden",,"view",0,"2015-03-08 16:45:45",,1 5,"forbidden","Forbidden","/forbidden",,"view",0,"2015-03-08 16:45:45",,1
...@@ -14,20 +14,20 @@ id,kode,nama,path,factory,perm_name,disabled,created,updated,create_uid ...@@ -14,20 +14,20 @@ id,kode,nama,path,factory,perm_name,disabled,created,updated,create_uid
14,"group-act","Baca Group","/group/{act}/act",,"read",0,"2015-03-08 16:45:45",,1 14,"group-act","Baca Group","/group/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
15,"group-edit","Edit Group","/group/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1 15,"group-edit","Edit Group","/group/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
16,"group-delete","Hapus Group","/group/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1 16,"group-delete","Hapus Group","/group/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
17,"pkb","Pajak Kendaraan Bermotor","/pkb",,"read",0,"2015-03-08 16:45:45",,1 17,"pkb","List Pajak Kendaraan Bermotor","/pkb",,"read",0,"2015-03-08 16:45:45",,1
18,"pkb-add","Tambah Pajak Kendaraan Bermotor","/pkb/add",,"add",0,"2015-03-08 16:45:45",,1 18,"pkb-add","Pajak Kendaraan Bermotor","/pkb/add",,"add",0,"2015-03-08 16:45:45",,1
19,"pap","Pajak Air Permukaan","/pap",,"read",0,"2015-03-08 16:45:45",,1 19,"pap","List Pajak Air Permukaan","/pap",,"read",0,"2015-03-08 16:45:45",,1
20,"pap-add","Pajak Air Permukaan","/pap/add",,"add",0,"2015-03-08 16:45:45",,1 20,"pap-add","Pajak Air Permukaan","/pap/add",,"add",0,"2015-03-08 16:45:45",,1
26,"coa","Rekening","/coa",,"read",0,"2015-03-08 16:45:45",,1 26,"rekening","Kode Rekening","/rekening",,"read",0,"2015-03-08 16:45:45",,1
27,"coa-act","Baca Rekening","/coa/{act}/act",,"read",0,"2015-03-08 16:45:45",,1 27,"rekening-act","Baca Kode Rekening","/rekening/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
28,"coa-add","Tambah Rekening","/coa/add",,"add",0,"2015-03-08 16:45:45",,1 28,"rekening-add","Tambah Kode Rekening","/rekening/add",,"add",0,"2015-03-08 16:45:45",,1
29,"coa-edit","Edit Rekening","/coa/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1 29,"rekening-edit","Edit Kode Rekening","/rekening/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
40,"coa-delete","Hapus Rekening","/coa/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1 40,"rekening-delete","Hapus Kode Rekening","/rekening/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
41,"skpd","SKPD/Unit","/skpd",,"read",0,"2015-03-08 16:45:45",,1 41,"skpd","Unit Kerja/OPD","/skpd",,"read",0,"2015-03-08 16:45:45",,1
42,"skpd-act","Baca SKPD","/skpd/{act}/act",,"read",0,"2015-03-08 16:45:45",,1 42,"skpd-act","Baca Unit Kerja/OPD","/skpd/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
43,"skpd-add","Tambah SKPD/Unit","/skpd/add",,"add",0,"2015-03-08 16:45:45",,1 43,"skpd-add","Tambah Unit Kerja/OPD","/skpd/add",,"add",0,"2015-03-08 16:45:45",,1
44,"skpd-edit","Edit SKPD/Unit","/skpd/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1 44,"skpd-edit","Edit Unit Kerja/OPD","/skpd/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
45,"skpd-delete","Hapus SKPD/Unit","/skpd/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1 45,"skpd-delete","Hapus Unit Kerja/OPD","/skpd/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
46,"jabatan","Jabatan","/jabatan",,"read",0,"2015-03-08 16:45:45",,1 46,"jabatan","Jabatan","/jabatan",,"read",0,"2015-03-08 16:45:45",,1
47,"jabatan-act","Baca Jabatan","/jabatan/{act}/act",,"read",0,"2015-03-08 16:45:45",,1 47,"jabatan-act","Baca Jabatan","/jabatan/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
48,"jabatan-add","Tambah Jabatan","/jabatan/add",,"add",0,"2015-03-08 16:45:45",,1 48,"jabatan-add","Tambah Jabatan","/jabatan/add",,"add",0,"2015-03-08 16:45:45",,1
...@@ -38,35 +38,35 @@ id,kode,nama,path,factory,perm_name,disabled,created,updated,create_uid ...@@ -38,35 +38,35 @@ id,kode,nama,path,factory,perm_name,disabled,created,updated,create_uid
53,"pegawai-add","Tambah Pegawai","/pegawai/add",,"add",0,"2015-03-08 16:45:45",,1 53,"pegawai-add","Tambah Pegawai","/pegawai/add",,"add",0,"2015-03-08 16:45:45",,1
54,"pegawai-edit","Edit Pegawai","/pegawai/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1 54,"pegawai-edit","Edit Pegawai","/pegawai/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
55,"pegawai-delete","Hapus Pegawai","/pegawai/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1 55,"pegawai-delete","Hapus Pegawai","/pegawai/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
56,"pajak","Pajak","/pajak",,"read",0,"2015-03-08 16:45:45",,1 56,"pajak","Tarif","/pajak",,"read",0,"2015-03-08 16:45:45",,1
57,"pajak-act","Baca Pajak","/pajak/{act}/act",,"read",0,"2015-03-08 16:45:45",,1 57,"pajak-act","Baca Tarif","/pajak/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
58,"pajak-add","Tambah Pajak","/pajak/add",,"add",0,"2015-03-08 16:45:45",,1 58,"pajak-add","Tambah Tarif","/pajak/add",,"add",0,"2015-03-08 16:45:45",,1
59,"pajak-edit","Edit Pajak","/pajak/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1 59,"pajak-edit","Edit Tarif","/pajak/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
60,"pajak-delete","Hapus Pajak","/pajak/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1 60,"pajak-delete","Hapus Tarif","/pajak/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
61,"wilayah","Wilayah","/wilayah",,"read",0,"2015-03-08 16:45:45",,1 61,"wilayah","Wilayah","/wilayah",,"read",0,"2015-03-08 16:45:45",,1
62,"wilayah-act","Baca Wilayah","/wilayah/{act}/act",,"read",0,"2015-03-08 16:45:45",,1 62,"wilayah-act","Baca Wilayah","/wilayah/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
63,"wilayah-add","Tambah Wilayah","/wilayah/add",,"add",0,"2015-03-08 16:45:45",,1 63,"wilayah-add","Tambah Wilayah","/wilayah/add",,"add",0,"2015-03-08 16:45:45",,1
64,"wilayah-edit","Edit Wilayah","/wilayah/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1 64,"wilayah-edit","Edit Wilayah","/wilayah/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
65,"wp","Wajib Pajak","/wp",,"read",0,"2015-03-08 16:45:45",,1 65,"wp","Subjek","/wp",,"read",0,"2015-03-08 16:45:45",,1
66,"wp-act","Baca Wajb Pajak","/wp/{act}/act",,"read",0,"2015-03-08 16:45:45",,1 66,"wp-act","Baca Subjek","/wp/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
67,"wp-add","Tambah Wajib Pajak","/wp/add",,"add",0,"2015-03-08 16:45:45",,1 67,"wp-add","Tambah Subjek","/wp/add",,"add",0,"2015-03-08 16:45:45",,1
68,"wp-delete","Hapus Wajib Pajak","/pegawai/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1 68,"wp-edit","Edit Subjek","/wp/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
69,"op","Objek Pajak","/op",,"read",0,"2015-03-08 16:45:45",,1 69,"wp-delete","Hapus Subjek","/wp/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
70,"op-act","Baca Objek Pajak","/op/{act}/act",,"read",0,"2015-03-08 16:45:45",,1 70,"op","Objek","/op",,"read",0,"2015-03-08 16:45:45",,1
71,"op-add","Tambah Objek Pajak","/op/add",,"add",0,"2015-03-08 16:45:45",,1 71,"op-act","Baca Objek","/op/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
72,"op-edit","Edit Objek Pajak","/op/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1 72,"op-add","Tambah Objek","/op/add",,"add",0,"2015-03-08 16:45:45",,1
73,"op-delete","Hapus Objek Pajak","/op/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1 73,"op-edit","Edit Objek","/op/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
74,"arinvoice","Reg. Bayar","/arinvoice",,"read",0,"2015-03-08 16:45:45",,1 74,"op-delete","Hapus Objek","/op/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
75,"arinvoice-act","Register Action","/arinvoice/{act}/act",,"read",0,"2015-03-08 16:45:45",,1 75,"arinvoice","Reg. Bayar","/arinvoice",,"read",0,"2015-03-08 16:45:45",,1
76,"arinvoice-add","Tambah Reg. Bayar","/arinvoice/add",,"add",0,"2015-03-08 16:45:45",,1 76,"arinvoice-act","Register Action","/arinvoice/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
77,"arinvoice-edit","Edit Reg. Bayar","/arinvoice/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1 77,"arinvoice-add","Tambah Reg. Bayar","/arinvoice/add",,"add",0,"2015-03-08 16:45:45",,1
78,"arinvoice-delete","Hapus Reg. Bayar","/arinvoice/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1 78,"arinvoice-edit","Edit Reg. Bayar","/arinvoice/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
79,"arsspd","Penerimaan","/arsspd",,"read",0,"2015-03-08 16:45:45",,1 79,"arinvoice-delete","Hapus Reg. Bayar","/arinvoice/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
80,"arsspd-act","Baca SSPD","/arsspd/{act}/act",,"read",0,"2015-03-08 16:45:45",,1 80,"arsspd","Penerimaan","/arsspd",,"read",0,"2015-03-08 16:45:45",,1
81,"arsspd-add","Tambah Penerimaan","/arsspd/add",,"add",0,"2015-03-08 16:45:45",,1 81,"arsspd-act","Baca SSPD","/arsspd/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
82,"arsspd-edit","Edit Penerimaaan","/arsspd/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1 82,"arsspd-add","Tambah Penerimaan","/arsspd/add",,"add",0,"2015-03-08 16:45:45",,1
83,"arsspd-delete","Hapus Penerimaan","/arsspd/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1 83,"arsspd-edit","Edit Penerimaaan","/arsspd/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
84,"wp-edit","Edit Wajib Pajak","/wp/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1 84,"arsspd-delete","Hapus Penerimaan","/arsspd/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
85,"wilayah-delete","Hapus Wilayah","/wilayah/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1 85,"wilayah-delete","Hapus Wilayah","/wilayah/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
86,"usergroup","User Group","/usergroup",,"read",0,"2015-03-08 16:45:45",,1 86,"usergroup","User Group","/usergroup",,"read",0,"2015-03-08 16:45:45",,1
87,"usergroup-act","User Group Action","/usergroup/{act}/act",,"read",0,"2015-03-08 16:45:45",,1 87,"usergroup-act","User Group Action","/usergroup/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
...@@ -90,3 +90,4 @@ id,kode,nama,path,factory,perm_name,disabled,created,updated,create_uid ...@@ -90,3 +90,4 @@ id,kode,nama,path,factory,perm_name,disabled,created,updated,create_uid
105,"reports_act","Report Action","/reports/act/{act}",,"read",0,"2015-03-08 16:45:45",,1 105,"reports_act","Report Action","/reports/act/{act}",,"read",0,"2015-03-08 16:45:45",,1
106,"arinvoice-edt-unit","ARInvoice Ubah Unit","/arinvoice/edt/unit",,"arinvoice_unit",0,"2015-03-08 16:45:45",,1 106,"arinvoice-edt-unit","ARInvoice Ubah Unit","/arinvoice/edt/unit",,"arinvoice_unit",0,"2015-03-08 16:45:45",,1
107,"arinvoice-edt-subjek","ARInvoice Ubah Subjek","/arinvoice/edt/subjek",,"arinvoice_subjek",0,"2015-03-08 16:45:45",,1 107,"arinvoice-edt-subjek","ARInvoice Ubah Subjek","/arinvoice/edt/subjek",,"arinvoice_subjek",0,"2015-03-08 16:45:45",,1
108,"pkb-edit","Jawaban PKB","/pkb/add",,"add",0,"2015-03-08 16:45:45",,1
File mode changed

887 Bytes | W: | H:

887 Bytes | W: | H:

esipkd/static/img/favicon.png
esipkd/static/img/favicon.png
esipkd/static/img/favicon.png
esipkd/static/img/favicon.png
  • 2-up
  • Swipe
  • Onion skin

58.1 KB | W: | H:

58.1 KB | W: | H:

esipkd/static/img/logo-small.png
esipkd/static/img/logo-small.png
esipkd/static/img/logo-small.png
esipkd/static/img/logo-small.png
  • 2-up
  • Swipe
  • Onion skin

468 KB | W: | H:

468 KB | W: | H:

esipkd/static/img/logo.png
esipkd/static/img/logo.png
esipkd/static/img/logo.png
esipkd/static/img/logo.png
  • 2-up
  • Swipe
  • Onion skin

13.3 KB | W: | H:

13.3 KB | W: | H:

esipkd/static/img/pyramid.png
esipkd/static/img/pyramid.png
esipkd/static/img/pyramid.png
esipkd/static/img/pyramid.png
  • 2-up
  • Swipe
  • Onion skin

21.5 KB | W: | H:

21.5 KB | W: | H:

esipkd/static/img/web-r-small.png
esipkd/static/img/web-r-small.png
esipkd/static/img/web-r-small.png
esipkd/static/img/web-r-small.png
  • 2-up
  • Swipe
  • Onion skin

13.5 KB | W: | H:

13.5 KB | W: | H:

esipkd/static/img/web-r.png
esipkd/static/img/web-r.png
esipkd/static/img/web-r.png
esipkd/static/img/web-r.png
  • 2-up
  • Swipe
  • Onion skin
File mode changed
...@@ -36,7 +36,7 @@ from daftar import (STATUS, deferred_status, ...@@ -36,7 +36,7 @@ from daftar import (STATUS, deferred_status,
daftar_wilayah, deferred_wilayah, daftar_wilayah, deferred_wilayah,
daftar_unit, deferred_unit, daftar_unit, deferred_unit,
daftar_pajak, deferred_pajak, daftar_pajak, deferred_pajak,
auto_op_nm auto_op_nm, auto_unit_nm, auto_wp_nm
) )
######## ########
# List # # List #
...@@ -82,33 +82,36 @@ class AddSchema(colander.Schema): ...@@ -82,33 +82,36 @@ class AddSchema(colander.Schema):
) )
unit_nm = colander.SchemaNode( unit_nm = colander.SchemaNode(
colander.String(), colander.String(),
title="SKPD", title="OPD",
#title="SKPD",
#widget=auto_unit_nm,
oid="unit_nm" oid="unit_nm"
) )
subjek_pajak_id = colander.SchemaNode( subjek_pajak_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=widget.HiddenWidget(), widget=widget.HiddenWidget(),
title="Subjek Pajak", title="Subjek Bayar",
oid = "subjek_pajak_id" oid = "subjek_pajak_id"
) )
subjek_pajak_nm = colander.SchemaNode( subjek_pajak_nm = colander.SchemaNode(
colander.String(), colander.String(),
title="Subjek Pajak", #widget=auto_wp_nm,
title="Subjek",
oid = "subjek_pajak_nm" oid = "subjek_pajak_nm"
) )
objek_pajak_id = colander.SchemaNode( objek_pajak_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
title="Objek Pajak", title="Objek Bayar",
widget=widget.HiddenWidget(), widget=widget.HiddenWidget(),
oid = "objek_pajak_id" oid = "objek_pajak_id"
) )
objek_pajak_nm = colander.SchemaNode( objek_pajak_nm = colander.SchemaNode(
colander.String(), colander.String(),
widget=auto_op_nm, widget=auto_op_nm,
title="Objek Pajak", title="Objek",
oid = "objek_pajak_nm" oid = "objek_pajak_nm"
) )
...@@ -213,10 +216,19 @@ def save(values, row=None): ...@@ -213,10 +216,19 @@ def save(values, row=None):
row.op_nama = ref.nama row.op_nama = ref.nama
row.op_alamat_1 = ref.alamat_1 row.op_alamat_1 = ref.alamat_1
row.op_alamat_2 = ref.alamat_2 row.op_alamat_2 = ref.alamat_2
row.wilayah_id = ref.wilayah_id
row.rekening_id = ref.pajaks.rekening_id row.rekening_id = ref.pajaks.rekening_id
row.rek_kode = ref.pajaks.rekenings.kode row.rek_kode = ref.pajaks.rekenings.kode
row.rek_nama = ref.pajaks.rekenings.nama row.rek_nama = ref.pajaks.rekenings.nama
ref = Wilayah.get_by_id(row.wilayah_id)
row.wilayah_kode = ref.kode
prefix = '11'
tanggal = datetime.now().strftime('%d')
bulan = datetime.now().strftime('%m')
tahun = datetime.now().strftime('%y')
if not row.kode and not row.no_id: if not row.kode and not row.no_id:
invoice_no = DBSession.query(func.max(ARInvoice.no_id)).\ invoice_no = DBSession.query(func.max(ARInvoice.no_id)).\
filter(ARInvoice.tahun_id==row.tahun_id, filter(ARInvoice.tahun_id==row.tahun_id,
...@@ -225,8 +237,11 @@ def save(values, row=None): ...@@ -225,8 +237,11 @@ def save(values, row=None):
row.no_id = 1 row.no_id = 1
else: else:
row.no_id = invoice_no+1 row.no_id = invoice_no+1
row.kode = "".join([str(row.tahun_id), re.sub("[^0-9]", "", row.unit_kode), row.kode = "".join([prefix, re.sub("[^0-9]", "", row.wilayah_kode),
str(row.no_id).rjust(6,'0')]) str(tanggal).rjust(2,'0'),
str(bulan).rjust(2,'0'),
str(tahun).rjust(2,'0'),
str(row.no_id).rjust(4,'0')])
#if values['password']: #if values['password']:
# row.password = values['password'] # row.password = values['password']
DBSession.add(row) DBSession.add(row)
...@@ -258,6 +273,18 @@ def view_add(request): ...@@ -258,6 +273,18 @@ def view_add(request):
if request.POST: if request.POST:
if 'simpan' in request.POST: if 'simpan' in request.POST:
controls = request.POST.items() controls = request.POST.items()
controls_dicted = dict(controls)
# Cek Kode
if not controls_dicted['kode']=='':
a = form.validate(controls)
b = a['kode']
c = "%s" % b
cek = DBSession.query(ARInvoice).filter(ARInvoice.kode==c).first()
if cek :
request.session.flash('Kode Bayar %s sudah digunakan.' % b, 'error')
return HTTPFound(location=request.route_url('arinvoice-add'))
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
...@@ -275,8 +302,8 @@ def view_add(request): ...@@ -275,8 +302,8 @@ def view_add(request):
# Edit # # Edit #
######## ########
def query_id(request): def query_id(request):
return DBSession.query(ARInvoice).filter(ARInvoice.id==request.matchdict['id'], return DBSession.query(ARInvoice).filter(ARInvoice.id==request.matchdict['id'],)
ARInvoice.status_bayar==0) #ARInvoice.status_bayar==0)
def id_not_found(request): def id_not_found(request):
msg = 'No Bayar ID %s tidak ditemukan atau sudah dibayar.' % request.matchdict['id'] msg = 'No Bayar ID %s tidak ditemukan atau sudah dibayar.' % request.matchdict['id']
...@@ -287,12 +314,32 @@ def id_not_found(request): ...@@ -287,12 +314,32 @@ def id_not_found(request):
permission='edit') permission='edit')
def view_edit(request): def view_edit(request):
row = query_id(request).first() row = query_id(request).first()
uid = row.id
kode = row.kode
if not row: if not row:
return id_not_found(request) return id_not_found(request)
if row.status_bayar:
request.session.flash('Data sudah masuk di Penerimaan', 'error')
return route_list(request)
form = get_form(request, EditSchema) form = get_form(request, EditSchema)
if request.POST: if request.POST:
if 'simpan' in request.POST: if 'simpan' in request.POST:
controls = request.POST.items() controls = request.POST.items()
# Cek kode
a = form.validate(controls)
b = a['kode']
c = "%s" % b
cek = DBSession.query(ARInvoice).filter(ARInvoice.kode==c).first()
if cek:
kode1 = DBSession.query(ARInvoice).filter(ARInvoice.id==uid).first()
d = kode1.kode
if d!=c:
request.session.flash('Kode Bayar %s sudah digunakan' % b, 'error')
return HTTPFound(location=request.route_url('arinvoice-edit',id=row.id))
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
...@@ -320,8 +367,13 @@ def view_edit(request): ...@@ -320,8 +367,13 @@ def view_edit(request):
def view_delete(request): def view_delete(request):
q = query_id(request) q = query_id(request)
row = q.first() row = q.first()
if not row: if not row:
return id_not_found(request) return id_not_found(request)
if row.status_bayar:
request.session.flash('Data sudah masuk di Penerimaan', 'error')
return route_list(request)
if row.arsspds: if row.arsspds:
form = Form(colander.Schema(), buttons=('cancel',)) form = Form(colander.Schema(), buttons=('cancel',))
else: else:
......
...@@ -97,28 +97,29 @@ class AddSchema(colander.Schema): ...@@ -97,28 +97,29 @@ class AddSchema(colander.Schema):
unit_nama = colander.SchemaNode( unit_nama = colander.SchemaNode(
colander.String(), colander.String(),
title="SKPD", title="OPD",
#title="SKPD",
oid = "unit_nama", oid = "unit_nama",
missing=colander.drop missing=colander.drop
) )
wp_nama = colander.SchemaNode( wp_nama = colander.SchemaNode(
colander.String(), colander.String(),
title="Subjek Pajak", title="Subjek",
oid = "wp_nama", oid = "wp_nama",
missing=colander.drop, missing=colander.drop,
) )
rek_nama = colander.SchemaNode( rek_nama = colander.SchemaNode(
colander.String(), colander.String(),
title="Subjek Pajak", title="Rekening",
oid = "rek_nama", oid = "rek_nama",
missing=colander.drop, missing=colander.drop,
) )
op_nama = colander.SchemaNode( op_nama = colander.SchemaNode(
colander.String(), colander.String(),
title="Objek Pajak", title="Objek",
missing=colander.drop, missing=colander.drop,
oid = "op_nama" oid = "op_nama"
) )
...@@ -404,3 +405,4 @@ def view_act(request): ...@@ -404,3 +405,4 @@ def view_act(request):
rowTable = DataTables(req, ARSspd, query, columns) rowTable = DataTables(req, ARSspd, query, columns)
return rowTable.output_result() return rowTable.output_result()
...@@ -80,7 +80,8 @@ class AddSchema(colander.Schema): ...@@ -80,7 +80,8 @@ class AddSchema(colander.Schema):
unit_id = colander.SchemaNode( unit_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=deferred_unit, widget=deferred_unit,
title="SKPD" title="OPD"
#title="SKPD"
) )
kode = colander.SchemaNode( kode = colander.SchemaNode(
colander.String(), colander.String(),
...@@ -253,7 +254,7 @@ def view_act(request): ...@@ -253,7 +254,7 @@ def view_act(request):
columns.append(ColumnDT('id')) columns.append(ColumnDT('id'))
columns.append(ColumnDT('kode')) columns.append(ColumnDT('kode'))
columns.append(ColumnDT('nama')) columns.append(ColumnDT('nama'))
columns.append(ColumnDT('jumlah')) #columns.append(ColumnDT('jumlah'))
columns.append(ColumnDT('jumlah', filter=_DTnumberformat)) columns.append(ColumnDT('jumlah', filter=_DTnumberformat))
columns.append(ColumnDT('units.nama')) columns.append(ColumnDT('units.nama'))
......
...@@ -72,7 +72,10 @@ def query_invoice_id(id): ...@@ -72,7 +72,10 @@ def query_invoice_id(id):
@view_config(route_name='arstsitem-add', renderer='templates/arstsitem/add.pt', @view_config(route_name='arstsitem-add', renderer='templates/arstsitem/add.pt',
permission='add') permission='add')
def view_add(request): def view_add(request):
if 'all' == request.matchdict['id']: #Nambahin kondisi balik ke sts
if 'balik' == request.matchdict['id']:
return route_list(request)
elif 'all' == request.matchdict['id']:
rows = DBSession.query(ARSspd).join(ARInvoice).\ rows = DBSession.query(ARSspd).join(ARInvoice).\
filter( ARInvoice.unit_id==request.session['unit_id'], filter( ARInvoice.unit_id==request.session['unit_id'],
ARSspd.posted==0).all() ARSspd.posted==0).all()
...@@ -146,7 +149,6 @@ def view_delete(request): ...@@ -146,7 +149,6 @@ def view_delete(request):
DBSession.add(q) DBSession.add(q)
DBSession.flush() DBSession.flush()
request.session.flash(msg) request.session.flash(msg)
return route_list(request) return route_list(request)
############# #############
...@@ -156,7 +158,7 @@ def query_sts_id(request): ...@@ -156,7 +158,7 @@ def query_sts_id(request):
return DBSession.query(ARSts).filter_by(id=request.matchdict['id']) return DBSession.query(ARSts).filter_by(id=request.matchdict['id'])
@view_config(route_name='arstsitem-list', renderer='templates/arstsitem/list.pt', @view_config(route_name='arstsitem-list', renderer='templates/arstsitem/list.pt',
permission='read') permission='add')
def view_list(request): def view_list(request):
q = query_sts_id(request) q = query_sts_id(request)
row = q.first() row = q.first()
...@@ -165,6 +167,7 @@ def view_list(request): ...@@ -165,6 +167,7 @@ def view_list(request):
request.session['unit_id'] = row.unit_id request.session['unit_id'] = row.unit_id
request.session['sts_id'] = row.id request.session['sts_id'] = row.id
#TODO validate user_unit #TODO validate user_unit
"""if request.POST: """if request.POST:
if 'delete' in request.POST: if 'delete' in request.POST:
msg = 'Penerimaan ID %d %s sudah dihapus.' % (row.id, row.kode) msg = 'Penerimaan ID %d %s sudah dihapus.' % (row.id, row.kode)
...@@ -204,6 +207,9 @@ def view_act(request): ...@@ -204,6 +207,9 @@ def view_act(request):
return rowTable.output_result() return rowTable.output_result()
elif url_dict['act']=='grid': elif url_dict['act']=='grid':
#Nambahin param sts_id untuk percobaan sementara, karena session sts_id tidak jalan
sts_id = 'sts_id' in params and params['sts_id'] or 0
print'ssssssssssssssssssssssssssssssssssssssss',sts_id
columns = [] columns = []
columns.append(ColumnDT('sspd_id')) columns.append(ColumnDT('sspd_id'))
columns.append(ColumnDT('sts_id')) columns.append(ColumnDT('sts_id'))
...@@ -213,8 +219,7 @@ def view_act(request): ...@@ -213,8 +219,7 @@ def view_act(request):
columns.append(ColumnDT('jumlah', filter=_DTnumberformat)) columns.append(ColumnDT('jumlah', filter=_DTnumberformat))
query = DBSession.query(ARStsItem).join(Rekening).\ query = DBSession.query(ARStsItem).join(Rekening).\
filter(ARStsItem.sts_id==request.session['sts_id']) filter(ARStsItem.sts_id==sts_id)#request.session['sts_id'])
rowTable = DataTables(req, ARStsItem, query, columns) rowTable = DataTables(req, ARStsItem, query, columns)
return rowTable.output_result() return rowTable.output_result()
\ No newline at end of file \ No newline at end of file
...@@ -91,7 +91,8 @@ def deferred_jabatan(node, kw): ...@@ -91,7 +91,8 @@ def deferred_jabatan(node, kw):
def daftar_unit(): def daftar_unit():
rows = DBSession.query(Unit).filter_by(level_id=3).all() rows = DBSession.query(Unit).filter_by(level_id=3).all()
r=[] r=[]
d = (0,'Pilih SKPD') d = (0,'Pilih OPD')
#d = (0,'Pilih SKPD')
r.append(d) r.append(d)
for row in rows: for row in rows:
d = (row.id, row.kode+':'+row.nama) d = (row.id, row.kode+':'+row.nama)
...@@ -240,7 +241,7 @@ def daftar_route(): ...@@ -240,7 +241,7 @@ def daftar_route():
r.append(d) r.append(d)
return r return r
## Kumpulan Headofkode & Headofname
auto_unit_nm = widget.AutocompleteInputWidget( auto_unit_nm = widget.AutocompleteInputWidget(
size=60, size=60,
values = '/skpd/hon/act', values = '/skpd/hon/act',
...@@ -261,3 +262,27 @@ auto_op_nm = widget.AutocompleteInputWidget( ...@@ -261,3 +262,27 @@ auto_op_nm = widget.AutocompleteInputWidget(
values = '/op/hon/act', values = '/op/hon/act',
min_length=1) min_length=1)
auto_group_nm = widget.AutocompleteInputWidget(
size=60,
values = '/group/hon/act',
min_length=1)
auto_route_nm = widget.AutocompleteInputWidget(
size=60,
values = '/group/hon/act',
min_length=1)
auto_user_nm = widget.AutocompleteInputWidget(
size=60,
values = '/user/hon/act',
min_length=1)
auto_wilayah_nm = widget.AutocompleteInputWidget(
size=60,
values = '/wilayah/hon/act',
min_length=1)
auto_rekening_nm = widget.AutocompleteInputWidget(
size=60,
values = '/rekening/hon/act',
min_length=1)
\ No newline at end of file \ No newline at end of file
...@@ -14,7 +14,9 @@ from deform import ( ...@@ -14,7 +14,9 @@ from deform import (
) )
from ..models import ( from ..models import (
DBSession, DBSession,
Group Group,
UserGroup,
Route,
) )
from datatables import ( from datatables import (
...@@ -112,13 +114,14 @@ def view_add(request): ...@@ -112,13 +114,14 @@ def view_add(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_ADD_FAILED] = e.render() return dict(form=form)
#request.session[SESS_ADD_FAILED] = e.render()
return HTTPFound(location=request.route_url('group-add')) return HTTPFound(location=request.route_url('group-add'))
save_request(dict(controls), request) save_request(dict(controls), request)
return route_list(request) return route_list(request)
elif SESS_ADD_FAILED in request.session: elif SESS_ADD_FAILED in request.session:
return session_failed(request, SESS_ADD_FAILED) return session_failed(request, SESS_ADD_FAILED)
return dict(form=form.render()) return dict(form=form)#.render())
######## ########
# Edit # # Edit #
...@@ -144,7 +147,8 @@ def view_edit(request): ...@@ -144,7 +147,8 @@ def view_edit(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_EDIT_FAILED] = e.render() return dict(form=form)
#request.session[SESS_EDIT_FAILED] = e.render()
return HTTPFound(location=request.route_url('group-edit', return HTTPFound(location=request.route_url('group-edit',
id=row.id)) id=row.id))
save_request(dict(controls), request, row) save_request(dict(controls), request, row)
...@@ -152,7 +156,9 @@ def view_edit(request): ...@@ -152,7 +156,9 @@ def view_edit(request):
elif SESS_EDIT_FAILED in request.session: elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED) return session_failed(request, SESS_EDIT_FAILED)
values = row.to_dict() values = row.to_dict()
return dict(form=form.render(appstruct=values)) #print values
form.set_appstruct(values)
return dict(form=form)#.render(appstruct=values))
########## ##########
# Delete # # Delete #
...@@ -162,6 +168,13 @@ def view_edit(request): ...@@ -162,6 +168,13 @@ def view_edit(request):
def view_delete(request): def view_delete(request):
q = query_id(request) q = query_id(request)
row = q.first() row = q.first()
id = row.id
x = DBSession.query(UserGroup).filter(UserGroup.group_id==id).first()
if x:
request.session.flash('Tidak bisa dihapus, Karena datanya terpakai diusergroup.','error')
return route_list(request)
if not row: if not row:
return id_not_found(request) return id_not_found(request)
form = Form(colander.Schema(), buttons=('delete','cancel')) form = Form(colander.Schema(), buttons=('delete','cancel'))
...@@ -194,3 +207,34 @@ def view_act(request): ...@@ -194,3 +207,34 @@ def view_act(request):
query = DBSession.query(Group) query = DBSession.query(Group)
rowTable = DataTables(req, Group, query, columns) rowTable = DataTables(req, Group, query, columns)
return rowTable.output_result() return rowTable.output_result()
## Hon Group
elif url_dict['act']=='hon':
term = 'term' in params and params['term'] or ''
rows = DBSession.query(Group.id, Group.group_name
).filter(
Group.group_name.ilike('%%%s%%' % term) ).all()
r = []
for k in rows:
d={}
d['id'] = k[0]
d['value'] = k[1]
r.append(d)
return r
## Hon Route
elif url_dict['act']=='hon':
term = 'term' in params and params['term'] or ''
rows = DBSession.query(Route.id, Route.nama
).filter(
Route.nama.ilike('%{term}%'.format(term=term)),
Route.perm_name != None).\
order_by(Route.nama).all()
print rows
r = []
for k in rows:
d={}
d['id'] = k[0]
d['value'] = k[1]
r.append(d)
return r
\ No newline at end of file \ No newline at end of file
...@@ -20,14 +20,14 @@ from ..models import ( ...@@ -20,14 +20,14 @@ from ..models import (
) )
from datatables import ( from datatables import (
ColumnDT, DataTables) ColumnDT, DataTables)
from daftar import (daftar_route, deferred_route,
daftar_group, deferred_group
)
from esipkd.tools import DefaultTimeZone, _DTstrftime, _DTnumberformat, _DTactive from esipkd.tools import DefaultTimeZone, _DTstrftime, _DTnumberformat, _DTactive
SESS_ADD_FAILED = 'groupperm add failed' SESS_ADD_FAILED = 'groupperm add failed'
SESS_EDIT_FAILED = 'groupperm edit failed' SESS_EDIT_FAILED = 'groupperm edit failed'
from daftar import (daftar_route, deferred_route,
daftar_group, deferred_group, auto_group_nm, auto_route_nm
)
######## ########
# List # # List #
######## ########
...@@ -55,12 +55,28 @@ def form_validator(form, value): ...@@ -55,12 +55,28 @@ def form_validator(form, value):
class AddSchema(colander.Schema): class AddSchema(colander.Schema):
group_id = colander.SchemaNode( group_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=deferred_group, widget = deferred_group,
oid="group_id",
title="Group")
"""
group_nm = colander.SchemaNode(
colander.String(),
widget = auto_group_nm,
oid = 'group_nm',
title="Group") title="Group")
"""
route_id = colander.SchemaNode( route_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=deferred_route, widget = deferred_route,
oid="route_id",
title="Route") title="Route")
"""
route_nm = colander.SchemaNode(
colander.String(),
widget = auto_route_nm,
title ='Route',
oid = 'route_nm')
"""
def get_form(request, class_form): def get_form(request, class_form):
schema = class_form(validator=form_validator) schema = class_form(validator=form_validator)
...@@ -101,13 +117,14 @@ def view_add(request): ...@@ -101,13 +117,14 @@ def view_add(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_ADD_FAILED] = e.render() return dict(form=form)
#request.session[SESS_ADD_FAILED] = e.render()
return HTTPFound(location=request.route_url('groupperm-add')) return HTTPFound(location=request.route_url('groupperm-add'))
save_request(dict(controls), request) save_request(dict(controls), request)
return route_list(request) return route_list(request)
elif SESS_ADD_FAILED in request.session: elif SESS_ADD_FAILED in request.session:
return session_failed(request, SESS_ADD_FAILED) return session_failed(request, SESS_ADD_FAILED)
return dict(form=form.render()) return dict(form=form)#.render())
######## ########
# Edit # # Edit #
......
...@@ -15,6 +15,7 @@ from deform import ( ...@@ -15,6 +15,7 @@ from deform import (
from ..models import DBSession from ..models import DBSession
from ..models.isipkd import( from ..models.isipkd import(
Jabatan, Jabatan,
Pegawai
) )
from daftar import STATUS, deferred_status from daftar import STATUS, deferred_status
...@@ -22,6 +23,8 @@ from daftar import STATUS, deferred_status ...@@ -22,6 +23,8 @@ from daftar import STATUS, deferred_status
from datatables import ( from datatables import (
ColumnDT, DataTables) ColumnDT, DataTables)
from esipkd.tools import DefaultTimeZone, _DTstrftime, _DTnumberformat, _DTactive
SESS_ADD_FAILED = 'Gagal tambah jabatan' SESS_ADD_FAILED = 'Gagal tambah jabatan'
SESS_EDIT_FAILED = 'Gagal edit jabatan' SESS_EDIT_FAILED = 'Gagal edit jabatan'
...@@ -69,6 +72,12 @@ def form_validator(form, value): ...@@ -69,6 +72,12 @@ def form_validator(form, value):
elif found: elif found:
err_name() err_name()
# Widget Status
STATUS = (
(1, 'Aktif'),
(0, 'Inaktif'),
)
class AddSchema(colander.Schema): class AddSchema(colander.Schema):
kode = colander.SchemaNode( kode = colander.SchemaNode(
colander.String(), colander.String(),
...@@ -80,7 +89,8 @@ class AddSchema(colander.Schema): ...@@ -80,7 +89,8 @@ class AddSchema(colander.Schema):
status = colander.SchemaNode( status = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=deferred_status, #widget=deferred_status,
widget=widget.SelectWidget(values=STATUS),
title="Status") title="Status")
...@@ -131,13 +141,14 @@ def view_add(request): ...@@ -131,13 +141,14 @@ def view_add(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_ADD_FAILED] = e.render() return dict(form=form)
#request.session[SESS_ADD_FAILED] = e.render()
return HTTPFound(location=request.route_url('jabatan-add')) return HTTPFound(location=request.route_url('jabatan-add'))
save_request(dict(controls), request) save_request(dict(controls), request)
return route_list(request) return route_list(request)
elif SESS_ADD_FAILED in request.session: elif SESS_ADD_FAILED in request.session:
return session_failed(request, SESS_ADD_FAILED) return session_failed(request, SESS_ADD_FAILED)
return dict(form=form.render()) return dict(form=form)#.render())
######## ########
# Edit # # Edit #
...@@ -163,7 +174,8 @@ def view_edit(request): ...@@ -163,7 +174,8 @@ def view_edit(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_EDIT_FAILED] = e.render() return dict(form=form)
#request.session[SESS_EDIT_FAILED] = e.render()
return HTTPFound(location=request.route_url('jabatan-edit', return HTTPFound(location=request.route_url('jabatan-edit',
id=row.id)) id=row.id))
save_request(dict(controls), request, row) save_request(dict(controls), request, row)
...@@ -171,7 +183,9 @@ def view_edit(request): ...@@ -171,7 +183,9 @@ def view_edit(request):
elif SESS_EDIT_FAILED in request.session: elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED) return session_failed(request, SESS_EDIT_FAILED)
values = row.to_dict() values = row.to_dict()
return dict(form=form.render(appstruct=values)) #print values
form.set_appstruct(values)
return dict(form=form)#.render(appstruct=values))
########## ##########
# Delete # # Delete #
...@@ -181,11 +195,16 @@ def view_edit(request): ...@@ -181,11 +195,16 @@ def view_edit(request):
def view_delete(request): def view_delete(request):
q = query_id(request) q = query_id(request)
row = q.first() row = q.first()
id = row.id
if not row: if not row:
return id_not_found(request) return id_not_found(request)
form = Form(colander.Schema(), buttons=('delete','cancel')) form = Form(colander.Schema(), buttons=('delete','cancel'))
if request.POST: if request.POST:
if 'delete' in request.POST: if 'delete' in request.POST:
x = DBSession.query(Pegawai).filter(Pegawai.jabatan_id==id).first()
if x:
request.session.flash('Tidak bisa dihapus, karena jabatan sudah terpakai.','error')
else:
msg = 'Jabatan ID %d %s has been deleted.' % (row.id, row.kode) msg = 'Jabatan ID %d %s has been deleted.' % (row.id, row.kode)
q.delete() q.delete()
DBSession.flush() DBSession.flush()
...@@ -209,7 +228,7 @@ def view_act(request): ...@@ -209,7 +228,7 @@ def view_act(request):
columns.append(ColumnDT('id')) columns.append(ColumnDT('id'))
columns.append(ColumnDT('kode')) columns.append(ColumnDT('kode'))
columns.append(ColumnDT('nama')) columns.append(ColumnDT('nama'))
columns.append(ColumnDT('status')) columns.append(ColumnDT('status', filter=_DTactive))
query = DBSession.query(Jabatan) query = DBSession.query(Jabatan)
rowTable = DataTables(req, Jabatan, query, columns) rowTable = DataTables(req, Jabatan, query, columns)
return rowTable.output_result() return rowTable.output_result()
...@@ -85,7 +85,7 @@ class AddSchema(colander.Schema): ...@@ -85,7 +85,7 @@ class AddSchema(colander.Schema):
subjekpajak_id = colander.SchemaNode( subjekpajak_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=deferred_subjekpajak, widget=deferred_subjekpajak,
title="Subjek Pajak" title="Subjek"
) )
wilayah_id = colander.SchemaNode( wilayah_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
...@@ -95,7 +95,8 @@ class AddSchema(colander.Schema): ...@@ -95,7 +95,8 @@ class AddSchema(colander.Schema):
unit_id = colander.SchemaNode( unit_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=deferred_unit, widget=deferred_unit,
title="SKPD/Unit Kerja" title="OPD",
#title="SKPD/Unit Kerja"
) )
pajak_id = colander.SchemaNode( pajak_id = colander.SchemaNode(
...@@ -250,10 +251,14 @@ def view_act(request): ...@@ -250,10 +251,14 @@ def view_act(request):
query = DBSession.query(ObjekPajak).join(SubjekPajak).join(Pajak).join(Wilayah) query = DBSession.query(ObjekPajak).join(SubjekPajak).join(Pajak).join(Wilayah)
rowTable = DataTables(req, ObjekPajak, query, columns) rowTable = DataTables(req, ObjekPajak, query, columns)
return rowTable.output_result() return rowTable.output_result()
elif url_dict['act']=='hon': elif url_dict['act']=='hon':
term = 'term' in params and params['term'] or '' term = 'term' in params and params['term'] or ''
x = request.user.id
rows = DBSession.query(ObjekPajak).\ rows = DBSession.query(ObjekPajak).\
filter(ObjekPajak.nama.ilike('%%%s%%' % term) ).all() filter(ObjekPajak.nama.ilike('%%%s%%' % term),
ObjekPajak.subjekpajak_id==SubjekPajak.id,
SubjekPajak.user_id==x).all()
r = [] r = []
for k in rows: for k in rows:
print k print k
......
...@@ -18,7 +18,7 @@ from ..models.isipkd import( ...@@ -18,7 +18,7 @@ from ..models.isipkd import(
Rekening Rekening
) )
from daftar import STATUS, deferred_status, daftar_rekening, deferred_rekening from daftar import STATUS, deferred_status, daftar_rekening, deferred_rekening, auto_rekening_nm
from datatables import ( from datatables import (
ColumnDT, DataTables) ColumnDT, DataTables)
...@@ -69,16 +69,21 @@ class AddSchema(colander.Schema): ...@@ -69,16 +69,21 @@ class AddSchema(colander.Schema):
colander.String()) colander.String())
nama = colander.SchemaNode( nama = colander.SchemaNode(
colander.String()) colander.String())
rekening_id = colander.SchemaNode( rekening_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=deferred_rekening, widget = deferred_rekening,
oid="rekening_id",
title="Rekening") title="Rekening")
"""
rekening_nm = colander.SchemaNode(
colander.String(),
widget=auto_rekening_nm,
oid="rekening_nm",
title="Rekening")
"""
tahun = colander.SchemaNode( tahun = colander.SchemaNode(
colander.Integer(), colander.Integer(),
) )
tarif = colander.SchemaNode( tarif = colander.SchemaNode(
colander.Integer(), colander.Integer(),
title='Tarif (%)') title='Tarif (%)')
...@@ -136,13 +141,14 @@ def view_add(request): ...@@ -136,13 +141,14 @@ def view_add(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_ADD_FAILED] = e.render() return dict(form=form)
#request.session[SESS_ADD_FAILED] = e.render()
return HTTPFound(location=request.route_url('pajak-add')) return HTTPFound(location=request.route_url('pajak-add'))
save_request(dict(controls), request) save_request(dict(controls), request)
return route_list(request) return route_list(request)
elif SESS_ADD_FAILED in request.session: elif SESS_ADD_FAILED in request.session:
return session_failed(request, SESS_ADD_FAILED) return session_failed(request, SESS_ADD_FAILED)
return dict(form=form.render()) return dict(form=form)#.render())
######## ########
# Edit # # Edit #
...@@ -168,15 +174,21 @@ def view_edit(request): ...@@ -168,15 +174,21 @@ def view_edit(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_EDIT_FAILED] = e.render() return dict(form=form)
#request.session[SESS_EDIT_FAILED] = e.render()
return HTTPFound(location=request.route_url('pajak-edit', return HTTPFound(location=request.route_url('pajak-edit',
id=row.id)) id=row.id))
save_request(dict(controls), request, row) save_request(dict(controls), request, row)
return route_list(request) return route_list(request)
elif SESS_EDIT_FAILED in request.session: elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED) #return session_failed(request, SESS_EDIT_FAILED)
del request.session[SESS_EDIT_FAILED]
return dict(form=form)
values = row.to_dict() values = row.to_dict()
return dict(form=form.render(appstruct=values)) #values['rekening_nm'] =row.rekenings.nama
#print values
form.set_appstruct(values)
return dict(form=form)#.render(appstruct=values))
########## ##########
# Delete # # Delete #
......
...@@ -40,15 +40,16 @@ class AddSchema(colander.Schema): ...@@ -40,15 +40,16 @@ class AddSchema(colander.Schema):
no_skpd = colander.SchemaNode( no_skpd = colander.SchemaNode(
colander.String(), colander.String(),
widget = widget.TextInputWidget(max=5), widget = widget.TextInputWidget(max=5),
title = "No. SKPD" title = "NPWPD"
) )
email = colander.SchemaNode( email = colander.SchemaNode(
colander.String(), colander.String(),
validator=email_validator, validator=email_validator,
title = "e-mail" title = "Periode"
) )
no_handphone = colander.SchemaNode( no_handphone = colander.SchemaNode(
colander.String() colander.String(),
title = "Email"
) )
def get_form(request, class_form): def get_form(request, class_form):
...@@ -80,8 +81,8 @@ def session_failed(request, session_name): ...@@ -80,8 +81,8 @@ def session_failed(request, session_name):
@view_config(route_name='pap-add', renderer='templates/pap/add.pt', @view_config(route_name='pap-add', renderer='templates/pap/add.pt',
permission='view') permission='view')
def view_add(request): def view_add(request):
req = request
private_key = '6LcGLQATAAAAABtqq0J20BATKsZPGXwBVj6i5zk_' private_key = '6LcGLQATAAAAABtqq0J20BATKsZPGXwBVj6i5zk_'
req =request
form = get_form(request, AddSchema) form = get_form(request, AddSchema)
if request.POST: if request.POST:
if 'simpan' in request.POST: if 'simpan' in request.POST:
......
...@@ -26,6 +26,9 @@ from daftar import (STATUS, deferred_status, ...@@ -26,6 +26,9 @@ from daftar import (STATUS, deferred_status,
from datatables import ( from datatables import (
ColumnDT, DataTables) ColumnDT, DataTables)
from esipkd.tools import DefaultTimeZone, _DTstrftime, _DTnumberformat, _DTactive
SESS_ADD_FAILED = 'Gagal tambah pegawai' SESS_ADD_FAILED = 'Gagal tambah pegawai'
SESS_EDIT_FAILED = 'Gagal edit pegawai' SESS_EDIT_FAILED = 'Gagal edit pegawai'
...@@ -74,7 +77,7 @@ class AddSchema(colander.Schema): ...@@ -74,7 +77,7 @@ class AddSchema(colander.Schema):
unit_id = colander.SchemaNode( unit_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=deferred_unit, widget=deferred_unit,
title="SKPD") title="OPD")
jabatan_id = colander.SchemaNode( jabatan_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
...@@ -148,13 +151,14 @@ def view_add(request): ...@@ -148,13 +151,14 @@ def view_add(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_ADD_FAILED] = e.render() return dict(form=form)
#request.session[SESS_ADD_FAILED] = e.render()
return HTTPFound(location=request.route_url('pegawai-add')) return HTTPFound(location=request.route_url('pegawai-add'))
save_request(dict(controls), request) save_request(dict(controls), request)
return route_list(request) return route_list(request)
elif SESS_ADD_FAILED in request.session: elif SESS_ADD_FAILED in request.session:
return session_failed(request, SESS_ADD_FAILED) return session_failed(request, SESS_ADD_FAILED)
return dict(form=form.render()) return dict(form=form)#.render())
######## ########
# Edit # # Edit #
...@@ -180,7 +184,8 @@ def view_edit(request): ...@@ -180,7 +184,8 @@ def view_edit(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_EDIT_FAILED] = e.render() return dict(form=form)
#request.session[SESS_EDIT_FAILED] = e.render()
return HTTPFound(location=request.route_url('pegawai-edit', return HTTPFound(location=request.route_url('pegawai-edit',
id=row.id)) id=row.id))
save_request(dict(controls), request, row) save_request(dict(controls), request, row)
...@@ -188,7 +193,10 @@ def view_edit(request): ...@@ -188,7 +193,10 @@ def view_edit(request):
elif SESS_EDIT_FAILED in request.session: elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED) return session_failed(request, SESS_EDIT_FAILED)
values = row.to_dict() values = row.to_dict()
return dict(form=form.render(appstruct=values)) #print values
form.set_appstruct(values)
return dict(form=form)#.render(appstruct=values))
########## ##########
# Delete # # Delete #
...@@ -228,7 +236,7 @@ def view_act(request): ...@@ -228,7 +236,7 @@ def view_act(request):
columns.append(ColumnDT('nama')) columns.append(ColumnDT('nama'))
columns.append(ColumnDT('skpd')) columns.append(ColumnDT('skpd'))
columns.append(ColumnDT('jabatan')) columns.append(ColumnDT('jabatan'))
columns.append(ColumnDT('status')) columns.append(ColumnDT('status', filter=_DTactive))
query = DBSession.query(Pegawai.id, query = DBSession.query(Pegawai.id,
Pegawai.kode, Pegawai.kode,
......
import colander import colander
from datetime import (datetime, date) from datetime import (datetime, date)
from time import (strptime, strftime)
from sqlalchemy import (not_, or_) from time import (strptime, strftime, time, sleep)
from sqlalchemy import (not_, or_, text)
from pyramid.view import (view_config,) from pyramid.view import (view_config,)
from pyramid.httpexceptions import (HTTPFound,) from pyramid.httpexceptions import (HTTPFound,)
from deform import (Form, widget, ValidationFailure,) from deform import (Form, widget, ValidationFailure,)
from datatables import (ColumnDT, DataTables) from datatables import (ColumnDT, DataTables)
from ..tools import (email_validator,BULANS, captcha_submit, get_settings)
from ..tools import (email_validator,BULANS, captcha_submit)
from ..models import (DBSession) from ..models import (DBSession)
from ..models.isipkd import (Pkb) from ..models.isipkd import (Pkb)
from ..models.informix import EngInformix
SESS_ADD_FAILED = 'user add failed' SESS_ADD_FAILED = 'user add failed'
SESS_EDIT_FAILED = 'user edit failed' SESS_EDIT_FAILED = 'user edit failed'
...@@ -62,15 +63,67 @@ def get_form(request, class_form): ...@@ -62,15 +63,67 @@ def get_form(request, class_form):
return Form(schema, buttons=('simpan','batal')) return Form(schema, buttons=('simpan','batal'))
def save(values, user, row=None): def save(values, user, row=None):
row = {} pass
row['email'] = 'aagusti@1'
return row
def save_request(values, request, row=None): def save_request(values, request, row=None):
if 'id' in request.matchdict: engInformix = EngInformix()
values['id'] = request.matchdict['id']
row = save(values, request.user, row) c_now = datetime.now()
request.session.flash('Tunggu beberapa saat email atau SMS akan segera dikirim.') c_date = c_now.strftime('%m-%d-%Y')
c_time = c_now.strftime('%H:%M:%S')
sql = """INSERT INTO v_daftsms (no_rangka, no_ktp, email, no_hp, ivr,
tg_pros_daftar, jam_daftar, kd_status, flag_sms)
VALUES('{no_rangka}', '{no_ktp}', '{email}', '{no_hp}', '{ivr}',
'{c_date}' , '{c_time}', '{kd_status}', '{flag_sms}')"""
row = engInformix.execute(sql.format(
no_rangka = values['no_rangka'],
no_ktp = values['nik'],
email = values['email'],
no_hp = values['no_handphone'],
ivr = '11',
c_date = c_date ,
c_time = c_time,
kd_status = '0',
flag_sms = '0'))
tm_awal = datetime.now()
row_result = None
sql_result = """
SELECT * FROM v_daftsms
WHERE no_rangka= '{no_rangka}' and no_ktp= '{no_ktp}'
and email = '{email}' and no_hp='{no_hp}' and ivr= '{ivr}'
and tg_pros_daftar='{c_date}' and jam_daftar='{c_time}'
and kd_status='{kd_status}'
""".format(
no_rangka = values['no_rangka'],
no_ktp = values['nik'],
email = values['email'],
no_hp = values['no_handphone'],
ivr = '11',
c_date = c_date ,
c_time = c_time,
kd_status = '0')
trx_timeout = 10
delay_after_insert = 1
awal = time()
p = None
msg = None
while time() - awal < trx_timeout:
sleep(delay_after_insert)
try:
p = engInformix.fetchone(sql_result)
except informixdb.OperationalError, msg:
msg = msg
break
except informixdb.ProgrammingError, msg:
msg = msg
break
if p:
break
print p
return HTTPFound(location=request.route_url('pkb-edit', row=p, msg=msg))
def route_list(request): def route_list(request):
return HTTPFound(location=request.route_url('pkb')) return HTTPFound(location=request.route_url('pkb'))
...@@ -85,28 +138,38 @@ def session_failed(request, session_name): ...@@ -85,28 +138,38 @@ def session_failed(request, session_name):
@view_config(route_name='pkb-add', renderer='templates/pkb/add.pt', @view_config(route_name='pkb-add', renderer='templates/pkb/add.pt',
permission='view') permission='view')
def view_add(request): def view_add(request):
req = request
settings = get_settings()
private_key = settings['recaptcha.private_key']
data_key = settings['recaptcha.private_key']
form = get_form(request, AddSchema) form = get_form(request, AddSchema)
if request.POST: if request.POST:
if 'simpan' in request.POST: if 'simpan' in request.POST:
controls = request.POST.items() controls = request.POST.items()
try: try:
c = form.validate(controls) c = form.validate(controls)
if private_key:
response = captcha_submit( response = captcha_submit(
'6LcGLQATAAAAAPlQuLEaUUrmAO845hlNKbZeUr1J', #req.args['recaptcha_challenge_field'] data_key,
req.params['g-recaptcha-response'], req.params['g-recaptcha-response'],
private_key, None private_key, None
) )
if not response.is_valid: if not response.is_valid:
req.session.flash(response.error_code,'error') req.session.flash(response.error_code,'error')
return dict(form=form) return dict(form=form, private_key=private_key)
except ValidationFailure, e: except ValidationFailure, e:
return dict(form=form) return dict(form=form, private_key=private_key)
#request.session[SESS_ADD_FAILED] = e.render() #request.session[SESS_ADD_FAILED] = e.render()
#return HTTPFound(location=request.route_url('pkb-add')) #return HTTPFound(location=request.route_url('pkb-add'))
save_request(dict(controls), request) save_request(dict(controls), request)
return route_list(request) return route_list(request)
elif SESS_ADD_FAILED in request.session: elif SESS_ADD_FAILED in request.session:
return session_failed(request, SESS_ADD_FAILED) return session_failed(request, SESS_ADD_FAILED)
return dict(form=form) return dict(form=form, private_key=private_key)
@view_config(route_name='pkb-edit', renderer='templates/pkb/add.pt',
permission='view')
def view_edit(request):
pass
\ No newline at end of file \ No newline at end of file
from email.utils import parseaddr
from sqlalchemy import not_
from pyramid.view import (
view_config,
)
from pyramid.httpexceptions import (
HTTPFound,
)
import colander
from deform import (
Form,
widget,
ValidationFailure,
)
from ..models import DBSession
from ..models.isipkd import(
Rekening,
)
from datatables import (
ColumnDT, DataTables)
SESS_ADD_FAILED = 'Gagal tambah rekening'
SESS_EDIT_FAILED = 'Gagal edit rekening'
########
# List #
########
@view_config(route_name='rekening', renderer='templates/rekening/list.pt',
permission='edit')
def view_list(request):
return dict(rows={})
#######
# Add #
#######
def email_validator(node, value):
name, email = parseaddr(value)
if not email or email.find('@') < 0:
raise colander.Invalid(node, 'Invalid email format')
def form_validator(form, value):
def err_kode():
raise colander.Invalid(form,
'Kode Rekening %s sudah digunakan oleh ID %d' % (
value['kode'], found.id))
def err_name():
raise colander.Invalid(form,
'Uraian %s sudah digunakan oleh ID %d' % (
value['nama'], found.id))
if 'id' in form.request.matchdict:
uid = form.request.matchdict['id']
q = DBSession.query(Rekening).filter_by(id=uid)
r = q.first()
else:
r = None
q = DBSession.query(Rekening).filter_by(kode=value['kode'])
found = q.first()
if r:
if found and found.id != r.id:
err_kode()
elif found:
err_email()
if 'nama' in value: # optional
found = Rekening.get_by_nama(value['nama'])
if r:
if found and found.id != r.id:
err_name()
elif found:
err_name()
@colander.deferred
def deferred_summary(node, kw):
values = kw.get('daftar_summary', [])
return widget.SelectWidget(values=values)
SUMMARIES = (
(1, 'Header'),
(0, 'Detail'),
)
class AddSchema(colander.Schema):
kode = colander.SchemaNode(
colander.String(),
)
nama = colander.SchemaNode(
colander.String(),
missing=colander.drop)
level_id = colander.SchemaNode(
colander.Integer())
is_summary = colander.SchemaNode(
colander.Integer(),
widget=widget.SelectWidget(values=SUMMARIES),
title="Header")
class EditSchema(AddSchema):
id = colander.SchemaNode(colander.Integer(),
missing=colander.drop,
widget=widget.HiddenWidget(readonly=True))
def get_form(request, class_form):
schema = class_form(validator=form_validator)
schema = schema.bind(daftar_summary=SUMMARIES)
schema.request = request
return Form(schema, buttons=('simpan','batal'))
def save(values, row=None):
if not row:
row = Rekening()
row.from_dict(values)
#if values['password']:
# row.password = values['password']
DBSession.add(row)
DBSession.flush()
return row
def save_request(values, request, row=None):
if 'id' in request.matchdict:
values['id'] = request.matchdict['id']
print "****",values, "****", request
row = save(values, row)
request.session.flash('Rekening %s sudah disimpan.' % row.kode)
def route_list(request):
return HTTPFound(location=request.route_url('rekening'))
def session_failed(request, session_name):
r = dict(form=request.session[session_name])
del request.session[session_name]
return r
@view_config(route_name='rekening-add', renderer='templates/rekening/add.pt',
permission='edit')
def view_add(request):
form = get_form(request, AddSchema)
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('rekening-add'))
save_request(dict(controls), request)
return route_list(request)
elif SESS_ADD_FAILED in request.session:
return session_failed(request, SESS_ADD_FAILED)
return dict(form=form)#.render())
########
# Edit #
########
def query_id(request):
return DBSession.query(Rekening).filter_by(id=request.matchdict['id'])
def id_not_found(request):
msg = 'Rekening ID %s not found.' % request.matchdict['id']
request.session.flash(msg, 'error')
return route_list(request)
@view_config(route_name='rekening-edit', renderer='templates/rekening/edit.pt',
permission='edit')
def view_edit(request):
row = query_id(request).first()
if not row:
return id_not_found(request)
form = get_form(request, EditSchema)
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_EDIT_FAILED] = e.render()
return HTTPFound(location=request.route_url('rekening-edit',
id=row.id))
save_request(dict(controls), request, row)
return route_list(request)
elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED)
values = row.to_dict()
#print values
form.set_appstruct(values)
return dict(form=form)#.render(appstruct=values))
##########
# Delete #
##########
@view_config(route_name='rekening-delete', renderer='templates/rekening/delete.pt',
permission='edit')
def view_delete(request):
q = query_id(request)
row = q.first()
if not row:
return id_not_found(request)
form = Form(colander.Schema(), buttons=('delete','cancel'))
if request.POST:
if 'delete' in request.POST:
msg = 'Rekening ID %d %s has been deleted.' % (row.id, row.kode)
q.delete()
DBSession.flush()
request.session.flash(msg)
return route_list(request)
return dict(row=row,
form=form.render())
##########
# Action #
##########
@view_config(route_name='rekening-act', renderer='json',
permission='edit')
def view_act(request):
req = request
params = req.params
url_dict = req.matchdict
if url_dict['act']=='grid':
columns = []
columns.append(ColumnDT('id'))
columns.append(ColumnDT('kode'))
columns.append(ColumnDT('nama'))
columns.append(ColumnDT('level_id'))
columns.append(ColumnDT('is_summary'))
query = DBSession.query(Rekening)
rowTable = DataTables(req, Rekening, query, columns)
return rowTable.output_result()
## Headofnama Rekening
elif url_dict['act']=='hon':
term = 'term' in params and params['term'] or ''
rows = DBSession.query(Rekening.id, Rekening.nama
).filter(
Rekening.nama.ilike('%%%s%%' % term) ).all()
r = []
for k in rows:
d={}
d['id'] = k[0]
d['value'] = k[1]
r.append(d)
return r
\ No newline at end of file \ No newline at end of file
...@@ -69,7 +69,7 @@ b = ' puluh ' ...@@ -69,7 +69,7 @@ b = ' puluh '
c = ' ratus ' c = ' ratus '
d = ' ribu ' d = ' ribu '
e = ' juta ' e = ' juta '
f = ' miliyar ' f = ' milyar '
g = ' triliun ' g = ' triliun '
def Terbilang(x): def Terbilang(x):
y = str(x) y = str(x)
...@@ -259,6 +259,7 @@ class ViewLaporan(BaseViews): ...@@ -259,6 +259,7 @@ class ViewLaporan(BaseViews):
response.content_disposition='filename=output.pdf' response.content_disposition='filename=output.pdf'
response.write(pdf) response.write(pdf)
return response return response
###################### OBJEK PAJAK
elif url_dict['act']=='r010' : elif url_dict['act']=='r010' :
query = DBSession.query(ObjekPajak).join(SubjekPajak).join(Pajak).join(Wilayah).order_by(SubjekPajak.kode).all() query = DBSession.query(ObjekPajak).join(SubjekPajak).join(Pajak).join(Wilayah).order_by(SubjekPajak.kode).all()
generator = r010Generator() generator = r010Generator()
...@@ -268,9 +269,42 @@ class ViewLaporan(BaseViews): ...@@ -268,9 +269,42 @@ class ViewLaporan(BaseViews):
response.content_disposition='filename=output.pdf' response.content_disposition='filename=output.pdf'
response.write(pdf) response.write(pdf)
return response return response
###################### ARINVOICE
elif url_dict['act']=='r100' :
query = DBSession.query(ARInvoice).order_by(ARInvoice.kode).all()
generator = r100Generator()
pdf = generator.generate(query)
response=req.response
response.content_type="application/pdf"
response.content_disposition='filename=output.pdf'
response.write(pdf)
return response
###################### ARSSPD
elif url_dict['act']=='r200' :
query = DBSession.query(ARSspd).join(ARInvoice).order_by(ARSspd.id).all()
generator = r200Generator()
pdf = generator.generate(query)
response=req.response
response.content_type="application/pdf"
response.content_disposition='filename=output.pdf'
response.write(pdf)
return response
###################### ARSTS
elif url_dict['act']=='r300' :
query = DBSession.query(ARSts).join(Unit).order_by(ARSts.kode).all()
generator = r300Generator()
pdf = generator.generate(query)
response=req.response
response.content_type="application/pdf"
response.content_disposition='filename=output.pdf'
response.write(pdf)
return response
else: else:
return HTTPNotFound() #TODO: Warning Hak Akses return HTTPNotFound() #TODO: Warning Hak Akses
#User #User
class r001Generator(JasperGenerator): class r001Generator(JasperGenerator):
def __init__(self): def __init__(self):
...@@ -430,3 +464,61 @@ class r010Generator(JasperGenerator): ...@@ -430,3 +464,61 @@ class r010Generator(JasperGenerator):
ET.SubElement(xml_greeting, "wilayah").text = row.wilayahs.nama ET.SubElement(xml_greeting, "wilayah").text = row.wilayahs.nama
ET.SubElement(xml_greeting, "status").text = unicode(row.status) ET.SubElement(xml_greeting, "status").text = unicode(row.status)
return self.root return self.root
#ARINVOICE
class r100Generator(JasperGenerator):
def __init__(self):
super(r100Generator, self).__init__()
self.reportname = get_rpath('R1000.jrxml')
self.xpath = '/webr/arinvoice'
self.root = ET.Element('webr')
def generate_xml(self, tobegreeted):
for row in tobegreeted:
xml_greeting = ET.SubElement(self.root, 'arinvoice')
ET.SubElement(xml_greeting, "kode").text = row.kode
ET.SubElement(xml_greeting, "wp_kode").text = row.wp_kode
ET.SubElement(xml_greeting, "wp_nama").text = row.wp_nama
ET.SubElement(xml_greeting, "op_kode").text = row.op_kode
ET.SubElement(xml_greeting, "op_nama").text = row.op_nama
ET.SubElement(xml_greeting, "rek_nama").text = row.rek_nama
ET.SubElement(xml_greeting, "jumlah").text = unicode(row.jumlah)
ET.SubElement(xml_greeting, "skpd").text = row.unit_nama
return self.root
#ARSSPD
class r200Generator(JasperGenerator):
def __init__(self):
super(r200Generator, self).__init__()
self.reportname = get_rpath('R2000.jrxml')
self.xpath = '/webr/arsspd'
self.root = ET.Element('webr')
def generate_xml(self, tobegreeted):
for row in tobegreeted:
xml_greeting = ET.SubElement(self.root, 'arsspd')
ET.SubElement(xml_greeting, "id").text = unicode(row.id)
ET.SubElement(xml_greeting, "kode").text = row.arinvoices.kode
ET.SubElement(xml_greeting, "wp_kode").text = row.arinvoices.wp_kode
ET.SubElement(xml_greeting, "wp_nama").text = row.arinvoices.wp_nama
ET.SubElement(xml_greeting, "op_kode").text = row.arinvoices.op_kode
ET.SubElement(xml_greeting, "op_nama").text = row.arinvoices.op_nama
ET.SubElement(xml_greeting, "rek_nama").text = row.arinvoices.rek_nama
ET.SubElement(xml_greeting, "jumlah").text = unicode(row.bayar)
ET.SubElement(xml_greeting, "tgl_bayar").text = unicode(row.tgl_bayar)
return self.root
#ARSTS
class r300Generator(JasperGenerator):
def __init__(self):
super(r300Generator, self).__init__()
self.reportname = get_rpath('R3000.jrxml')
self.xpath = '/webr/arsts'
self.root = ET.Element('webr')
def generate_xml(self, tobegreeted):
for row in tobegreeted:
xml_greeting = ET.SubElement(self.root, 'arsts')
ET.SubElement(xml_greeting, "id").text = unicode(row.id)
ET.SubElement(xml_greeting, "kode").text = row.kode
ET.SubElement(xml_greeting, "nama").text = row.nama
ET.SubElement(xml_greeting, "jumlah").text = unicode(row.jumlah)
ET.SubElement(xml_greeting, "unit_nm").text = row.units.nama
return self.root
...@@ -144,13 +144,14 @@ def view_add(request): ...@@ -144,13 +144,14 @@ def view_add(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_ADD_FAILED] = e.render() return dict(form=form)
#request.session[SESS_ADD_FAILED] = e.render()
return HTTPFound(location=request.route_url('skpd-add')) return HTTPFound(location=request.route_url('skpd-add'))
save_request(dict(controls), request) save_request(dict(controls), request)
return route_list(request) return route_list(request)
elif SESS_ADD_FAILED in request.session: elif SESS_ADD_FAILED in request.session:
return session_failed(request, SESS_ADD_FAILED) return session_failed(request, SESS_ADD_FAILED)
return dict(form=form.render()) return dict(form=form)#.render())
######## ########
# Edit # # Edit #
...@@ -176,7 +177,8 @@ def view_edit(request): ...@@ -176,7 +177,8 @@ def view_edit(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_EDIT_FAILED] = e.render() return dict(form=form)
#request.session[SESS_EDIT_FAILED] = e.render()
return HTTPFound(location=request.route_url('skpd-edit', return HTTPFound(location=request.route_url('skpd-edit',
id=row.id)) id=row.id))
save_request(dict(controls), request, row) save_request(dict(controls), request, row)
...@@ -184,7 +186,9 @@ def view_edit(request): ...@@ -184,7 +186,9 @@ def view_edit(request):
elif SESS_EDIT_FAILED in request.session: elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED) return session_failed(request, SESS_EDIT_FAILED)
values = row.to_dict() values = row.to_dict()
return dict(form=form.render(appstruct=values)) #print values
form.set_appstruct(values)
return dict(form=form)#.render(appstruct=values))
########## ##########
# Delete # # Delete #
...@@ -227,15 +231,17 @@ def view_act(request): ...@@ -227,15 +231,17 @@ def view_act(request):
query = DBSession.query(Unit) query = DBSession.query(Unit)
rowTable = DataTables(req, Unit, query, columns) rowTable = DataTables(req, Unit, query, columns)
return rowTable.output_result() return rowTable.output_result()
elif url_dict['act']=='hon': elif url_dict['act']=='hon':
term = 'term' in params and params['term'] or '' term = 'term' in params and params['term'] or ''
rows = DBSession.query(Unit.id, Unit.nama rows = DBSession.query(Unit.id, Unit.nama
).filter( Unit.is_summary==0, ).filter( Unit.is_summary==0,
Unit.nama.ilike('%%%s%%' % term) ).all() Unit.nama.ilike('%%%s%%' % term)).all()
r = [] r = []
for k in rows: for k in rows:
d={} d={}
d['id'] = k[0] d['id'] = k[0]
d['value'] = k[1] d['value'] = k[1]
d['nama'] = k[1]
r.append(d) r.append(d)
return r return r
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content"> <div metal:fill-slot="content">
<h3>Tambah/Edit Register</h3> <!--h4>Tambah/Edit Register</h4-->
<h4>Tambah No. Bayar</h4>
<hr> <hr>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8" <form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal"> class="form-horizontal">
...@@ -13,19 +14,21 @@ ...@@ -13,19 +14,21 @@
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
</div> </div>
<!--objek_pajak_id ------------------------------->
<div tal:define="field form['objek_pajak_id']"> <div tal:define="field form['objek_pajak_id']">
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
<!--subjek_pajak_id ------------------------------->
<div tal:define="field form['subjek_pajak_id']"> <div tal:define="field form['subjek_pajak_id']">
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
<!--unit_id ------------------------------->
<div tal:define="field form['unit_id']"> <div tal:define="field form['unit_id']">
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<!--unit_nm ------------------------------->
<div class="form-group" tal:define="field form['unit_nm']" id="item-${field.oid}"> <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}"> <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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -37,7 +40,7 @@ ...@@ -37,7 +40,7 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--subjek_pajak_nm ------------------------------->
<div class="form-group" tal:define="field form['subjek_pajak_nm']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['subjek_pajak_nm']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -49,7 +52,7 @@ ...@@ -49,7 +52,7 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--objek_pajak_nm ------------------------------->
<div class="form-group" tal:define="field form['objek_pajak_nm']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['objek_pajak_nm']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -61,7 +64,7 @@ ...@@ -61,7 +64,7 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['kode']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -73,6 +76,7 @@ ...@@ -73,6 +76,7 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--periode_1 ------------------------------->
<div class="form-group" tal:define="field form['periode_1']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['periode_1']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -89,8 +93,8 @@ ...@@ -89,8 +93,8 @@
<div class="col-md-4" tal:define="field form['periode_2']"> <div class="col-md-4" tal:define="field form['periode_2']">
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
</div> </div>
<!--tgl_tetap ------------------------------->
<div class="form-group" tal:define="field form['tgl_tetap']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['tgl_tetap']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -102,6 +106,7 @@ ...@@ -102,6 +106,7 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--jatuh_tempo ------------------------------->
<div class="form-group" tal:define="field form['jatuh_tempo']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['jatuh_tempo']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -114,7 +119,9 @@ ...@@ -114,7 +119,9 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<!--dasar ------------------------------->
<div class="form-group" tal:define="field form['dasar']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['dasar']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -126,6 +133,7 @@ ...@@ -126,6 +133,7 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--tarif ------------------------------->
<div class="form-group" tal:define="field form['tarif']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['tarif']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -137,6 +145,7 @@ ...@@ -137,6 +145,7 @@
*</p> *</p>
</div> </div>
</div> </div>
<!--pokok ------------------------------->
<div class="form-group" tal:define="field form['pokok']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['pokok']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -148,6 +157,7 @@ ...@@ -148,6 +157,7 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--denda ------------------------------->
<div class="form-group" tal:define="field form['denda']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['denda']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -159,6 +169,7 @@ ...@@ -159,6 +169,7 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--bunga ------------------------------->
<div class="form-group" tal:define="field form['bunga']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['bunga']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -172,6 +183,7 @@ ...@@ -172,6 +183,7 @@
tal:repeat="error field.error.messages()"> tal:repeat="error field.error.messages()">
${error}</p> ${error}</p>
</div> </div>
<!--jumlah ------------------------------->
<div class="form-group" tal:define="field form['jumlah']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['jumlah']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -182,16 +194,22 @@ ...@@ -182,16 +194,22 @@
tal:repeat="error field.error.messages()"> tal:repeat="error field.error.messages()">
${error}</p> </div> ${error}</p> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="form-group">
<div class="col-md-6">
<!--Button ------------------------------->
<div class="form-group"> <div class="form-group">
<div class="col-md-offset-2"> <label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary " <button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button> value="simpan">Simpan</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default " <button id="deformcancel" name="batal" type="submit" class="btn btn-default "
value="batal">Batal</button> value="batal">Batal</button>
</div>
</div>
</div> </div>
</div> </div>
<script> <script>
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<th>Denda</th> <th>Denda</th>
<th>Bunga</th--> <th>Bunga</th-->
<th>Jumlah</th> <th>Jumlah</th>
<th>SKPD</th> <th>OPD</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
...@@ -46,17 +46,17 @@ ...@@ -46,17 +46,17 @@
var oTableUrl = oFormUrl+"grid/act"; var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
...@@ -85,7 +85,8 @@ ...@@ -85,7 +85,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>', ' <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_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_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">Print</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;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -118,6 +119,15 @@ ...@@ -118,6 +119,15 @@
} }
}); });
$('#btn_print').click(function () {
url = "/reports/act/r100"
window.open(url);
});
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
...@@ -132,5 +142,4 @@ ...@@ -132,5 +142,4 @@
</script> </script>
</div> </div>
</html> </html>
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content"> <div metal:fill-slot="content">
<h3>Tambah/Batal Penerimaan</h3> <h4>Tambah Penerimaan</h4>
<hr> <hr>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8" <form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal"> class="form-horizontal">
...@@ -16,10 +16,11 @@ ...@@ -16,10 +16,11 @@
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<!--arinvoice_id ------------------------------->
<div tal:define="field form['arinvoice_id']"> <div tal:define="field form['arinvoice_id']">
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['kode']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -53,7 +54,7 @@ ...@@ -53,7 +54,7 @@
</div> </div>
</div><!-- /input-group --> </div><!-- /input-group -->
</div> </div>
<!--unit_nama ------------------------------->
<div class="form-group" tal:define="field form['unit_nama']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['unit_nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -65,7 +66,7 @@ ...@@ -65,7 +66,7 @@
</script> </script>
</div> </div>
</div> </div>
<!--wp_nama ------------------------------->
<div class="form-group" tal:define="field form['wp_nama']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['wp_nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -77,7 +78,7 @@ ...@@ -77,7 +78,7 @@
</script> </script>
</div> </div>
</div> </div>
<!--op_nama ------------------------------->
<div class="form-group" tal:define="field form['op_nama']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['op_nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -89,7 +90,7 @@ ...@@ -89,7 +90,7 @@
</script> </script>
</div> </div>
</div> </div>
<!--rek_nama ------------------------------->
<div class="form-group" tal:define="field form['rek_nama']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['rek_nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -101,7 +102,7 @@ ...@@ -101,7 +102,7 @@
</script> </script>
</div> </div>
</div> </div>
<!--periode_1 ------------------------------->
<div class="form-group" tal:define="field form['periode_1']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['periode_1']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -121,10 +122,8 @@ ...@@ -121,10 +122,8 @@
$("#${field.oid}").attr("readonly", true); $("#${field.oid}").attr("readonly", true);
</script> </script>
</div> </div>
</div> </div>
<!--tgl_tetap ------------------------------->
<div class="form-group" tal:define="field form['tgl_tetap']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['tgl_tetap']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -135,6 +134,7 @@ ...@@ -135,6 +134,7 @@
$("#${field.oid}").attr("readonly", true); $("#${field.oid}").attr("readonly", true);
</script> </script>
</div> </div>
<!--jatuh_tempo ------------------------------->
<div tal:define="field form['jatuh_tempo']" id="item-${field.oid}"> <div tal:define="field form['jatuh_tempo']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -148,7 +148,9 @@ ...@@ -148,7 +148,9 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<!--pokok ------------------------------->
<div class="form-group" tal:define="field form['pokok']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['pokok']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -171,8 +173,7 @@ ...@@ -171,8 +173,7 @@
</div> </div>
</div> </div>
</div> </div>
<!--bunga_awal ------------------------------->
<div class="form-group" tal:define="field form['bunga_awal']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['bunga_awal']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -201,27 +202,29 @@ ...@@ -201,27 +202,29 @@
<label class="control-label col-md-3"> <label class="control-label col-md-3">
PEMBAYARAN</label> PEMBAYARAN</label>
</div> </div>
<!--tgl_bayar ------------------------------->
<div class="form-group" tal:define="field form['bunga']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['tgl_bayar']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label> tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9"> <div class="col-md-9">
${structure:field.serialize()} ${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
*</p>
</div> </div>
</div> </div>
<div class="form-group" tal:define="field form['bayar']" id="item-${field.oid}"> <!--bunga ------------------------------->
<div class="form-group" tal:define="field form['bunga']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label> tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9"> <div class="col-md-9">
${structure:field.serialize()} ${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
*</p>
</div> </div>
</div> </div>
<div class="form-group" tal:define="field form['tgl_bayar']" id="item-${field.oid}"> <!--bayar ------------------------------->
<div class="form-group" tal:define="field form['bayar']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label> tal:condition="field.required">&nbsp*</span></label>
...@@ -234,15 +237,22 @@ ...@@ -234,15 +237,22 @@
</div> </div>
</div> </div>
</div> </div>
<div class="form-group">
<div class="col-md-6">
<!--Button ------------------------------->
<div class="form-group"> <div class="form-group">
<div class="col-md-offset-2"> <label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary " <button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Bayar</button> value="simpan">Bayar</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default " <button id="deformcancel" name="batal" type="submit" class="btn btn-default "
value="batal">Batal</button> value="batal">Batal</button>
</div> </div>
</div> </div>
</div>
</div>
</fieldset> </fieldset>
</form> </form>
......
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content"> <div metal:fill-slot="content">
<h3>Reversal Penerimaan</h3> <h4>Reversal Penerimaan</h4>
<hr> <hr>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8" <form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal"> class="form-horizontal">
...@@ -16,23 +16,45 @@ ...@@ -16,23 +16,45 @@
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<!--arinvoice_id ------------------------------->
<div tal:define="field form['arinvoice_id']"> <div tal:define="field form['arinvoice_id']">
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['kode']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label> tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9"> <div class="col-md-9">
<div class="input-group">
${structure:field.serialize()} ${structure:field.serialize()}
<span class="input-group-btn">
<button id="deformcari" name="cari" type="submit" class="btn btn-primary btn-xs"
value="cari">Cari</button>
</span>
<script> <script>
$("#${field.oid}").attr("readonly", true); $("#${field.oid}").keypress(function() {
$("#unit_nama").val("");
$("#rek_nama").val("");
$("#wp_nama").val("");
$("#op_nama").val("");
$("#pokok").val("0");
$("#denda").val("0");
$("#bunga_awal").val("0");
$("#jumlah").val("0");
$("#periode_1").val("");
$("#periode_2").val("");
$("#tgl_tetap").val("");
$("#jatuh_tempo").val("0");
$("#bunga").val("0");
$("#bayar").val("0");
}
);
</script> </script>
</div>
</div><!-- /input-group --> </div><!-- /input-group -->
</div> </div>
<!--unit_nama ------------------------------->
<div class="form-group" tal:define="field form['unit_nama']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['unit_nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -44,6 +66,7 @@ ...@@ -44,6 +66,7 @@
</script> </script>
</div> </div>
</div> </div>
<!--wp_nama ------------------------------->
<div class="form-group" tal:define="field form['wp_nama']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['wp_nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -55,6 +78,7 @@ ...@@ -55,6 +78,7 @@
</script> </script>
</div> </div>
</div> </div>
<!--op_nama ------------------------------->
<div class="form-group" tal:define="field form['op_nama']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['op_nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -66,6 +90,7 @@ ...@@ -66,6 +90,7 @@
</script> </script>
</div> </div>
</div> </div>
<!--rek_nama ------------------------------->
<div class="form-group" tal:define="field form['rek_nama']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['rek_nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -77,7 +102,7 @@ ...@@ -77,7 +102,7 @@
</script> </script>
</div> </div>
</div> </div>
<!--periode_1 ------------------------------->
<div class="form-group" tal:define="field form['periode_1']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['periode_1']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -97,10 +122,8 @@ ...@@ -97,10 +122,8 @@
$("#${field.oid}").attr("readonly", true); $("#${field.oid}").attr("readonly", true);
</script> </script>
</div> </div>
</div> </div>
<!--tgl_tetap ------------------------------->
<div class="form-group" tal:define="field form['tgl_tetap']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['tgl_tetap']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -111,6 +134,7 @@ ...@@ -111,6 +134,7 @@
$("#${field.oid}").attr("readonly", true); $("#${field.oid}").attr("readonly", true);
</script> </script>
</div> </div>
<!--jatuh_tempo ------------------------------->
<div tal:define="field form['jatuh_tempo']" id="item-${field.oid}"> <div tal:define="field form['jatuh_tempo']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -124,7 +148,9 @@ ...@@ -124,7 +148,9 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<!--pokok ------------------------------->
<div class="form-group" tal:define="field form['pokok']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['pokok']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -147,8 +173,7 @@ ...@@ -147,8 +173,7 @@
</div> </div>
</div> </div>
</div> </div>
<!--bunga_awal ------------------------------->
<div class="form-group" tal:define="field form['bunga_awal']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['bunga_awal']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -177,50 +202,57 @@ ...@@ -177,50 +202,57 @@
<label class="control-label col-md-3"> <label class="control-label col-md-3">
PEMBAYARAN</label> PEMBAYARAN</label>
</div> </div>
<!--tgl_bayar ------------------------------->
<div class="form-group" tal:define="field form['bunga']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['tgl_bayar']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label> tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9"> <div class="col-md-9">
${structure:field.serialize()} ${structure:field.serialize()}
<script> <p id="error-${field.oid}" class="help-block" tal:condition="field.error"
$("#${field.oid}").attr("readonly", true); tal:repeat="error field.error.messages()">
</script> *</p>
</div> </div>
</div> </div>
<div class="form-group" tal:define="field form['bayar']" id="item-${field.oid}"> <!--bunga ------------------------------->
<div class="form-group" tal:define="field form['bunga']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label> tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9"> <div class="col-md-9">
${structure:field.serialize()} ${structure:field.serialize()}
<script>
$("#${field.oid}").attr("readonly", true);
</script>
</div> </div>
</div> </div>
<div class="form-group" tal:define="field form['tgl_bayar']" id="item-${field.oid}"> <!--bayar ------------------------------->
<div class="form-group" tal:define="field form['bayar']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label> tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9"> <div class="col-md-9">
${structure:field.serialize()} ${structure:field.serialize()}
<script> <p id="error-${field.oid}" class="help-block" tal:condition="field.error"
$("#${field.oid}").attr("readonly", true); tal:repeat="error field.error.messages()">
</script> *</p>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="form-group">
<div class="col-md-6">
<!--Button ------------------------------->
<div class="form-group"> <div class="form-group">
<div class="col-md-offset-2"> <label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary " <button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Reversal</button> value="simpan">Bayar</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default " <button id="deformcancel" name="batal" type="submit" class="btn btn-default "
value="batal">Batal</button> value="batal">Batal</button>
</div> </div>
</div> </div>
</div>
</div>
</fieldset> </fieldset>
</form> </form>
......
...@@ -86,7 +86,8 @@ ...@@ -86,7 +86,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Bayar</button>', ' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Bayar</button>',
' <button id="btn_edit" class="btn btn btn-danger pull-left" type="button">Reversal</button>', ' <button id="btn_edit" class="btn btn btn-danger pull-left" type="button">Reversal</button>',
' <!--button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</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">Print</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;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -119,6 +120,15 @@ ...@@ -119,6 +120,15 @@
} }
}); });
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_print').click(function () {
url = "/reports/act/r200"
window.open(url);
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
...@@ -131,7 +141,5 @@ ...@@ -131,7 +141,5 @@
}); });
}); });
</script> </script>
</div> </div>
</html> </html>
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet"> <link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet">
<link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet"> <link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet">
<h3>Tambah/Edit STS</h3> <h4>Tambah/Edit STS</h4>
<hr> <hr>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8" <form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal"> class="form-horizontal">
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
</div> </div>
<!--unit_id ------------------------------->
<div class="form-group" tal:define="field form['unit_id']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['unit_id']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -23,6 +24,7 @@ ...@@ -23,6 +24,7 @@
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
</div> </div>
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['kode']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -32,20 +34,18 @@ ...@@ -32,20 +34,18 @@
<script> <script>
$("#${field.oid}").attr("readonly", true); $("#${field.oid}").attr("readonly", true);
</script> </script>
</div> </div>
<!--tgl_sts ------------------------------->
<div tal:define="field form['tgl_sts']" id="item-${field.oid}"> <div tal:define="field form['tgl_sts']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-1" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label> tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-5"> <div class="col-md-3">
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
</div> </div>
</div> </div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -54,8 +54,7 @@ ...@@ -54,8 +54,7 @@
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
</div> </div>
<!--jumlah ------------------------------->
<div class="form-group" tal:define="field form['jumlah']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['jumlah']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -66,16 +65,16 @@ ...@@ -66,16 +65,16 @@
$("#${field.oid}").attr("readonly", true); $("#${field.oid}").attr("readonly", true);
</script> </script>
</div> </div>
</div>
<div class="form-group"> <!--Button ------------------------------->
<div class="col-md-offset-1"> <div class="col-md-4">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary " <button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button> value="simpan">Simpan</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default " <button id="deformcancel" name="batal" type="submit" class="btn btn-default "
value="batal">Batal</button> value="batal">Batal</button>
</div> </div>
</div> </div>
</fieldset> </fieldset>
</form> </form>
...@@ -92,7 +91,15 @@ ...@@ -92,7 +91,15 @@
</thead> </thead>
<tbody> <tbody>
</tbody> </tbody>
</table> </table><br><br><br>
<!--Form Detail------------------------------->
<form id="detail" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<!--Belum Tau Isiannya apa :) -->
</fieldset>
</form>
<script src="/static/datatables/media/js/jquery.dataTables.min.js"></script> <script src="/static/datatables/media/js/jquery.dataTables.min.js"></script>
<!--script src="/static/datatables/media/js/jquery.jeditable.js')}"></script--> <!--script src="/static/datatables/media/js/jquery.jeditable.js')}"></script-->
...@@ -103,22 +110,30 @@ ...@@ -103,22 +110,30 @@
var mID; var mID;
var oTable; var oTable;
var iPos; var iPos;
//Nambahin variable sts_id & kondisi untuk pemanggilan grid
var oFormUrl = "/arstsitem/"; var oFormUrl = "/arstsitem/";
var oTableUrl = oFormUrl+"grid/act"; var sts_id = $('#id').val();
if (!sts_id){
kosong = '0';
var oTableUrl = oFormUrl+"grid/act?sts_id="+kosong;
}
else{
var oTableUrl = oFormUrl+"grid/act?sts_id="+sts_id;
}
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bSearch": false, "bSearch" : false,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
...@@ -126,7 +141,6 @@ ...@@ -126,7 +141,6 @@
"aoColumnDefs": [ "aoColumnDefs": [
{"bSearchable": false, "bVisible": false, "aTargets": [0,1,2]} {"bSearchable": false, "bVisible": false, "aTargets": [0,1,2]}
], ],
"aoColumns": [ "aoColumns": [
null, null,
null, null,
...@@ -134,7 +148,6 @@ ...@@ -134,7 +148,6 @@
{"sWidth": "75px", "sClass": "right"}, {"sWidth": "75px", "sClass": "right"},
null, null,
{"sWidth": "75px", "sClass": "right"}, {"sWidth": "75px", "sClass": "right"},
], ],
}); });
...@@ -142,7 +155,8 @@ ...@@ -142,7 +155,8 @@
'<div class="btn-group pull-left">', '<div class="btn-group pull-left">',
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Pilih</button>', ' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Pilih</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</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">Print</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;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -164,7 +178,13 @@ ...@@ -164,7 +178,13 @@
}); });
$('#btn_tambah').click(function () { $('#btn_tambah').click(function () {
var sts_id = $('#id').val();
if(!sts_id){
alert('Simpan Dulu Headernya');
}
else{
window.location = oFormUrl+$("#id").val()+'/list'; window.location = oFormUrl+$("#id").val()+'/list';
}
}); });
$('#btn_edit').click(function () { $('#btn_edit').click(function () {
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<h3 class="panel-title">Warning</h3> <h3 class="panel-title">Warning</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
Hapus Objek ID #${row.id} ${row.nama} ? Hapus Setoran ID #${row.id} ${row.nama} ?
</div> </div>
</div> </div>
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<th>Kode</th> <th>Kode</th>
<th>Uraian</th> <th>Uraian</th>
<th>Jumlah</th> <th>Jumlah</th>
<th>SKPD</th> <th>OPD</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
...@@ -73,7 +73,8 @@ ...@@ -73,7 +73,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>', ' <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_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_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">Print</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;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -106,6 +107,15 @@ ...@@ -106,6 +107,15 @@
} }
}); });
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_print').click(function () {
url = "/reports/act/r300"
window.open(url);
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
...@@ -118,7 +128,5 @@ ...@@ -118,7 +128,5 @@
}); });
}); });
</script> </script>
</div> </div>
</html> </html>
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content"> <div metal:fill-slot="content">
<link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet"> <link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet">
<link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet"> <link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet">
<h4>Daftar Penerimaan</h4> <h4>Daftar Penerimaan</h4>
<hr> <hr>
<div class="container"> <div class="container">
...@@ -29,7 +27,6 @@ ...@@ -29,7 +27,6 @@
<th>Jumlah</th> <th>Jumlah</th>
<th>Tgl. Bayar</th> <th>Tgl. Bayar</th>
<th>Pilih</th> <th>Pilih</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
...@@ -44,21 +41,26 @@ ...@@ -44,21 +41,26 @@
var mID; var mID;
var oTable; var oTable;
var iPos; var iPos;
/**
var oFormUrl = "/arstsitem/";
var oTableUrl = oFormUrl+"sspd/act";
Setelah dicoba dengan variable ini berhasil, kenapa ya?. seharusnya tidak error juga pake variable yang sebelumnya, untuk sementara pake yang ini dulu*/
var oFormUrl = "/arstsitem/"; var oFormUrl = "/arstsitem/";
var oTableUrl = oFormUrl+"sspd/act"; var oTableUrl = oFormUrl+"sspd/act";
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
...@@ -83,6 +85,7 @@ ...@@ -83,6 +85,7 @@
var tb_array = [ var tb_array = [
'<div class="btn-group pull-left">', '<div class="btn-group pull-left">',
' <button id="btn_close" class="btn btn btn-primary" type="button">Kembali</button>',
' <button id="btn_semua" class="btn btn btn-primary pull-left" type="button">Semua</button>', ' <button id="btn_semua" class="btn btn btn-primary pull-left" type="button">Semua</button>',
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Terpilih</button>', ' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Terpilih</button>',
' &nbsp;', ' &nbsp;',
...@@ -118,9 +121,11 @@ ...@@ -118,9 +121,11 @@
alert('Silahkan pilih data yang akan ditambahkan'); alert('Silahkan pilih data yang akan ditambahkan');
} }
}); });
$('#btn_close').click(function () {
window.location = oFormUrl+'balik/add';
});
}); });
</script> </script>
</div> </div>
</html> </html>
...@@ -44,15 +44,15 @@ ...@@ -44,15 +44,15 @@
</div> </div>
<div class="navbar-collapse collapse"> <div class="navbar-collapse collapse">
<ul class="nav navbar-nav"> <ul class="nav navbar-nav">
<li tal:attributes="class request.path == '/' and 'active'"><a href="/">Home</a></li> <li tal:attributes="class request.path == '/' and 'active'"><a href="/">Beranda</a></li>
<li tal:attributes="class request.path == '/pkb/add' and 'active'"><a href="/pkb/add">PKB</a></li> <li tal:attributes="class request.path == '/pkb/add' and 'active'"><a href="/pkb/add">e-Samsat</a></li>
<li tal:attributes="class request.path == '/pap/add' and 'active'"><a href="/pap/add">PAP</a></li> <li tal:attributes="class request.path == '/pap/add' and 'active'"><a href="/pap/add">e-PAP</a></li>
<li class="dropdown" tal:attributes="class request.matched_route.name in ['wp', 'wp-add', 'wp-edit', 'wp-delete'] and 'active'"> <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">Register<b class="caret"></b></a> <a href="#" class="dropdown-toggle" data-toggle="dropdown">e-Payment<b class="caret"></b></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a href="/arinvoice">No. Bayar</a></li> <li><a href="/arinvoice">No. Bayar</a></li>
<li><a href="/wp">Subyek Bayar</a></li> <li><a href="/wp">Subjek</a></li>
<li><a href="/op">Obyek Bayar</a></li> <li><a href="/op">Objek</a></li>
</ul> </ul>
</li> </li>
<li tal:attributes="class request.path == '/arsspd' and 'active'"><a href="/arsspd">Penerimaan</a></li> <li tal:attributes="class request.path == '/arsspd' and 'active'"><a href="/arsspd">Penerimaan</a></li>
...@@ -63,20 +63,20 @@ ...@@ -63,20 +63,20 @@
<li tal:attributes="class request.path == '/pbbkb' and 'active'"><a href="/pbbkb">PBB-KB</a></li> <li tal:attributes="class request.path == '/pbbkb' and 'active'"><a href="/pbbkb">PBB-KB</a></li>
<li tal:attributes="class request.path == '/hibah/add' and 'active'"><a href="/hibah/add">Hibah</a></li> <li tal:attributes="class request.path == '/hibah/add' and 'active'"><a href="/hibah/add">Hibah</a></li>
<li tal:attributes="class request.path == '/lain/add' and 'active'"><a href="/lain/add">P. Lainnya</a></li--> <li tal:attributes="class request.path == '/lain/add' and 'active'"><a href="/lain/add">P. Lainnya</a></li-->
<li tal:condition="not request.user" tal:attributes="class request.path == '/login' and 'active'"><a href="/login">Login</a></li> <li tal:condition="not request.user" tal:attributes="class request.path == '/login' and 'active'"><a href="/login">Masuk</a></li>
<li tal:condition="request.user and request.user.user_name=='admin'" class="dropdown" <li tal:condition="request.user and request.user.user_name=='admin'" class="dropdown"
tal:attributes="class request.matched_route.name in ['user', 'user-add', 'user-edit', 'user-delete'] and 'active'"> tal:attributes="class request.matched_route.name in ['user', 'user-add', 'user-edit', 'user-delete'] and 'active'">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Admin <b class="caret"></b></a> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Admin <b class="caret"></b></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a href="/user">User</a></li> <li><a href="/user">User</a></li>
<li><a href="/group">Group</a></li> <li><a href="/group">Group</a></li>
<li><a href="/usergroup">User Group</a></li> <li><a href="/usergroup">User-Group</a></li>
<li><a href="/groupperm">Group Permission</a></li> <li><a href="/groupperm">Group Permission</a></li>
<li><a href="/skpd">SKPD/Unit</a></li> <li><a href="/skpd">Unit Kerja/OPD</a></li>
<li><a href="/jabatan">Jabatan</a></li> <li><a href="/jabatan">Jabatan</a></li>
<li><a href="/pegawai">Pegawai</a></li> <li><a href="/pegawai">Pegawai</a></li>
<li><a href="/coa">Rekening</a></li> <li><a href="/rekening">Kode Rekening</a></li>
<li><a href="/pajak">Rekening & Tarif</a></li> <li><a href="/pajak">Tarif</a></li>
<li><a href="/wilayah">Wilayah</a></li> <li><a href="/wilayah">Wilayah</a></li>
</ul> </ul>
</li> </li>
...@@ -84,10 +84,10 @@ ...@@ -84,10 +84,10 @@
<ul class="nav navbar-nav pull-right"> <ul class="nav navbar-nav pull-right">
<li tal:condition="request.user" class="dropdown" tal:attributes="class request.path in ['/password'] and 'active'"> <li tal:condition="request.user" class="dropdown" tal:attributes="class request.path in ['/password'] and 'active'">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">My Account <b class="caret"></b></a> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Akun<b class="caret"></b></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a href="/logout">${request.user and request.user.nice_username()} Logout</a></li> <li><a href="/logout">${request.user and request.user.nice_username()} Keluar</a></li>
<li><a href="/password">Change password</a></li> <li><a href="/password">Ubah password</a></li>
</ul> </ul>
</li> </li>
......
...@@ -2,6 +2,60 @@ ...@@ -2,6 +2,60 @@
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h4>Tambah Group</h4> <h4>Tambah Group</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--group_name ------------------------------->
<div class="form-group" tal:define="field form['group_name']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--description ------------------------------->
<div class="form-group" tal:define="field form['description']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div> </div>
</html> </html>
...@@ -2,6 +2,60 @@ ...@@ -2,6 +2,60 @@
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h4>Edit Group</h4> <h4>Edit Group</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--group_name ------------------------------->
<div class="form-group" tal:define="field form['group_name']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--description ------------------------------->
<div class="form-group" tal:define="field form['description']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div> </div>
</html> </html>
...@@ -39,18 +39,18 @@ ...@@ -39,18 +39,18 @@
var oTableUrl = oFormUrl+"grid/act"; var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bSearch": true, "bSearch" : true,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
...@@ -72,7 +72,8 @@ ...@@ -72,7 +72,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>', ' <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_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_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">Print</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;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -110,6 +111,10 @@ ...@@ -110,6 +111,10 @@
window.open(url); window.open(url);
}); });
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
......
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Tambah Group Permission</h3> <h4>Tambah Group Permission</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--group_id ------------------------------->
<div class="form-group" tal:define="field form['group_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>
<div class="col-md-9" tal:define="field form['group_id']" >
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--route_id ------------------------------->
<div class="form-group" tal:define="field form['route_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>
<div class="col-md-9" tal:define="field form['route_id']" >
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="save" type="submit" class="btn btn-primary "
value="save">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
<!--script>
$('#route_nm').bind('typeahead:selected', function(obj, datum, name) {
$('#route_id').val(datum.id);
});
$('#group_nm').bind('typeahead:selected', function(obj, datum, name) {
$('#group_id').val(datum.id);
});
</script-->
</div> </div>
</html> </html>
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Edit User Group</h3> <h4>Edit User Group</h4>
<hr> <hr>
<div tal:content="structure form"/> <div tal:content="structure form"/>
</div> </div>
......
...@@ -39,17 +39,17 @@ ...@@ -39,17 +39,17 @@
var oTableUrl = oFormUrl+"grid/act"; var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
...@@ -70,6 +70,7 @@ ...@@ -70,6 +70,7 @@
'<div class="btn-group pull-left">', '<div class="btn-group pull-left">',
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>', ' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>', ' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_close" class="btn btn btn-warning" type="button">Tutup</button>',
' &nbsp;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -95,6 +96,11 @@ ...@@ -95,6 +96,11 @@
window.location = oFormUrl+'add'; window.location = oFormUrl+'add';
}); });
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
......
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Tambah Jabatan</h3> <h4>Tambah Jabatan</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--status ------------------------------->
<div class="form-group" tal:define="field form['status']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div> </div>
</html> </html>
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Edit Jabatan</h3> <h4>Edit Jabatan</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--status ------------------------------->
<div class="form-group" tal:define="field form['status']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div> </div>
</html> </html>
...@@ -39,17 +39,17 @@ ...@@ -39,17 +39,17 @@
var oTableUrl = oFormUrl+"grid/act"; var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
...@@ -71,7 +71,8 @@ ...@@ -71,7 +71,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>', ' <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_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_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">Print</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;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -109,6 +110,10 @@ ...@@ -109,6 +110,10 @@
window.open(url); window.open(url);
}); });
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
......
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Tambah Obyek Bayar</h3> <h4>Tambah Objek</h4>
<hr> <hr>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8" <form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal"> class="form-horizontal">
<fieldset class="deformFormFieldset"> <fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" /> <input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/> <input type="hidden" name="__formid__" value="deform"/>
<div tal:repeat="field form">
<div class="form-group" id="item-${field.oid}"> <div class="col-md-12">
<!--subjekpajak_id ------------------------------->
<div class="form-group" tal:define="field form['subjekpajak_id']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label> tal:condition="field.required">&nbsp*</span></label>
...@@ -20,16 +21,91 @@ ...@@ -20,16 +21,91 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div> </div>
</div>
<!--unit_id ------------------------------->
<div class="form-group" tal:define="field form['unit_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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--pajak_id ------------------------------->
<div class="form-group" tal:define="field form['pajak_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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--status ------------------------------->
<div class="form-group" tal:define="field form['status']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group"> <div class="form-group">
<div class="col-md-offset-2"> <label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary " <button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button> value="simpan">Simpan</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default " <button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="batal">Batal</button> value="cancel">Batal</button>
</div> </div>
</div> </div>
</div>
</fieldset> </fieldset>
</form> </form>
......
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Edit Obyek Bayar</h3> <h3>Edit Obyek</h3>
<hr> <hr>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8" <form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal"> class="form-horizontal">
<fieldset class="deformFormFieldset"> <fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" /> <input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/> <input type="hidden" name="__formid__" value="deform"/>
<div tal:repeat="field form">
<div class="form-group" id="item-${field.oid}"> <div class="col-md-12">
<!--subjekpajak_id ------------------------------->
<div class="form-group" tal:define="field form['subjekpajak_id']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${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" ${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label> tal:condition="field.required">&nbsp*</span></label>
...@@ -20,16 +21,91 @@ ...@@ -20,16 +21,91 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div> </div>
</div>
<!--unit_id ------------------------------->
<div class="form-group" tal:define="field form['unit_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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--pajak_id ------------------------------->
<div class="form-group" tal:define="field form['pajak_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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--status ------------------------------->
<div class="form-group" tal:define="field form['status']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group"> <div class="form-group">
<div class="col-md-offset-2"> <label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary " <button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button> value="simpan">Simpan</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default " <button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="batal">Batal</button> value="cancel">Batal</button>
</div> </div>
</div> </div>
</div>
</fieldset> </fieldset>
</form> </form>
......
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content"> <div metal:fill-slot="content">
<link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet"> <link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet">
<link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet"> <link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet">
<h4>Objek</h4> <h4>Objek</h4>
<hr> <hr>
<div class="container"> <div class="container">
...@@ -42,17 +40,17 @@ ...@@ -42,17 +40,17 @@
var oTableUrl = oFormUrl+"grid/act"; var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
...@@ -77,7 +75,8 @@ ...@@ -77,7 +75,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>', ' <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_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_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">Print</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;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -114,6 +113,11 @@ ...@@ -114,6 +113,11 @@
url = "/reports/act/r010" url = "/reports/act/r010"
window.open(url); window.open(url);
}); });
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
......
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Tambah Pajak</h3> <h4>Tambah Tarif</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--rekening_id ------------------------------->
<div class="form-group" tal:define="field form['rekening_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>
<div class="col-md-9" tal:define="field form['rekening_id']" >
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--tahun ------------------------------->
<div class="form-group" tal:define="field form['tahun']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--tarif ------------------------------->
<div class="form-group" tal:define="field form['tarif']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--status ------------------------------->
<div class="form-group" tal:define="field form['status']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div> </div>
</html> </html>
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<h3 class="panel-title">Warning</h3> <h3 class="panel-title">Warning</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
Hapus pegawai ID #${row.id} ${row.nama} ? Hapus tarif ID #${row.id} ${row.nama} ?
</div> </div>
</div> </div>
......
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Edit Pegawai</h3> <h4>Edit Tarif</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--rekening_id ------------------------------->
<div class="form-group" tal:define="field form['rekening_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>
<div class="col-md-9" tal:define="field form['rekening_id']" >
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--tahun ------------------------------->
<div class="form-group" tal:define="field form['tahun']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--tarif ------------------------------->
<div class="form-group" tal:define="field form['tarif']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--status ------------------------------->
<div class="form-group" tal:define="field form['status']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div> </div>
</html> </html>
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet"> <link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet">
<link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet"> <link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet">
<h4>Pajak dan Tarif</h4> <h4>Tarif</h4>
<hr> <hr>
<div class="container"> <div class="container">
<!--form class="form-inline" role="form" id="frm_upload" name="frm_upload"> <!--form class="form-inline" role="form" id="frm_upload" name="frm_upload">
...@@ -43,23 +43,25 @@ ...@@ -43,23 +43,25 @@
var oTableUrl = oFormUrl+"grid/act"; var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
], ],
"aoColumnDefs": [ "aoColumnDefs": [
{"bSearchable": false, "bVisible": false, "aTargets": [0]} {"bSearchable": false, "bVisible" : false, "aTargets" : [0]},
{"bSortable" : false, "bSearchable": false, "aTargets" : [3]},
{"bSortable" : true, "bSearchable": true, "aTargets" : [1,2,5,6]}
], ],
"aoColumns": [ "aoColumns": [
...@@ -78,7 +80,8 @@ ...@@ -78,7 +80,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>', ' <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_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_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">Print</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;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -115,6 +118,11 @@ ...@@ -115,6 +118,11 @@
window.open(url); window.open(url);
}); });
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
......
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<script src="https://www.google.com/recaptcha/api.js" async defer></script> <script src="https://www.google.com/recaptcha/api.js" async defer></script>
<h4>Registrasi e-PAP</h4>
<h3>Registrasi e-PAP</h3>
<hr> <hr>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8" <form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal"> class="form-horizontal">
<fieldset class="deformFormFieldset"> <fieldset class="deformFormFieldset">
...@@ -16,33 +14,73 @@ ...@@ -16,33 +14,73 @@
</div> </div>
</div> </div>
<div class="form-group"> <div class="col-md-12">
<div class="form-group" tal:repeat="field form" id="item-${field.oid}"> <!--no_skpd ------------------------------->
<label for="${field.oid}" class="control-label col-md-4" id="req-${field.oid}"> <div class="form-group" tal:define="field form['no_skpd']" id="item-${field.oid}">
${field.title}</label> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
<div class="col-md-8"> ${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--email ------------------------------->
<div class="form-group" tal:define="field form['email']" 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>
<div class="control-label col-md-2">
Bulan</div>
<div class="col-md-2">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
<div class="control-label col-md-2">
Tahun</div>
<div class="col-md-3">
${structure:field.serialize()} ${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error" <p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()"> tal:repeat="error field.error.messages()">
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--no_handphone ------------------------------->
<div class="form-group" tal:define="field form['no_handphone']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div> </div>
<!--g-recaptcha ------------------------------->
<div class="form-group"> <div class="form-group">
<div class="col-md-offset-4"> <div class="col-md-offset-4">
<div class="g-recaptcha" data-sitekey="6LcGLQATAAAAABtqq0J20BATKsZPGXwBVj6i5zk_"></div> <div class="g-recaptcha" data-sitekey="6LcGLQATAAAAABtqq0J20BATKsZPGXwBVj6i5zk_"></div>
</div> </div>
</div> </div>
<!--Button ------------------------------->
<div class="col-md-offset-2">
<div class="form-group"> <div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary " <button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button> value="simpan">Simpan</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default " <button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="batal">Batal</button> value="cancel">Batal</button>
</div> </div>
</div> </div>
</div>
</fieldset> </fieldset>
</form> </form>
......
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Tambah Pegawai</h3> <h4>Tambah Pegawai</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--unit_id ------------------------------->
<div class="form-group" tal:define="field form['unit_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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--jabatan_id ------------------------------->
<div class="form-group" tal:define="field form['jabatan_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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--status ------------------------------->
<div class="form-group" tal:define="field form['status']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--login ------------------------------->
<div class="form-group" tal:define="field form['login']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div> </div>
</html> </html>
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Edit Pegawai</h3> <h4>Edit Pegawai</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--unit_id ------------------------------->
<div class="form-group" tal:define="field form['unit_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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--jabatan_id ------------------------------->
<div class="form-group" tal:define="field form['jabatan_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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--status ------------------------------->
<div class="form-group" tal:define="field form['status']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--login ------------------------------->
<div class="form-group" tal:define="field form['login']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div> </div>
</html> </html>
...@@ -20,10 +20,9 @@ ...@@ -20,10 +20,9 @@
<th>ID</th> <th>ID</th>
<th>NIP</th> <th>NIP</th>
<th>Nama</th> <th>Nama</th>
<th>SKPD</th> <th>OPD</th>
<th>Jabatan</th> <th>Jabatan</th>
<th>Status</th> <th>Status</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
...@@ -42,23 +41,25 @@ ...@@ -42,23 +41,25 @@
var oTableUrl = oFormUrl+"grid/act"; var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
], ],
"aoColumnDefs": [ "aoColumnDefs": [
{"bSearchable": false, "bVisible": false, "aTargets": [0]} {"bSearchable": false, "bVisible": false, "aTargets": [0]},
{"bSortable" : false, "bSearchable": false, "aTargets": [3,4]},
{"bSortable" : true, "bSearchable": true, "aTargets": [1,2,5]}
], ],
"aoColumns": [ "aoColumns": [
...@@ -76,7 +77,8 @@ ...@@ -76,7 +77,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>', ' <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_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_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">Print</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;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -113,6 +115,11 @@ ...@@ -113,6 +115,11 @@
url = "/reports/act/r005" url = "/reports/act/r005"
window.open(url); window.open(url);
}); });
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
...@@ -127,5 +134,4 @@ ...@@ -127,5 +134,4 @@
</script> </script>
</div> </div>
</html> </html>
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<script src="https://www.google.com/recaptcha/api.js" async defer></script> <script src="https://www.google.com/recaptcha/api.js" async defer></script>
<h3>Registrasi e-PKB</h3> <h4>Registrasi e-Samsat</h4>
<!--h4>Registrasi e-PKB</h4-->
<hr> <hr>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8" <form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal"> class="form-horizontal">
...@@ -14,33 +15,75 @@ ...@@ -14,33 +15,75 @@
</div> </div>
</div> </div>
<div class="form-group"> <div class="col-md-12">
<div class="form-group" tal:repeat="field form" id="item-${field.oid}"> <!--no_rangka ------------------------------->
<label for="${field.oid}" class="control-label col-md-4" id="req-${field.oid}"> <div class="form-group" tal:define="field form['no_rangka']" id="item-${field.oid}">
${field.title}</label> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
<div class="col-md-8"> ${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--nik ------------------------------->
<div class="form-group" tal:define="field form['nik']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--email ------------------------------->
<div class="form-group" tal:define="field form['email']" 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>
<div class="col-md-9">
${structure:field.serialize()} ${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error" <p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()"> tal:repeat="error field.error.messages()">
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--no_handphone ------------------------------->
<div class="form-group" tal:define="field form['no_handphone']" 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>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div> </div>
<!--g-recaptcha ------------------------------->
<div class="form-group"> <div class="form-group">
<div class="col-md-offset-4"> ${private_key}
<div class="g-recaptcha" data-sitekey="6LcGLQATAAAAABtqq0J20BATKsZPGXwBVj6i5zk_"></div> <div class="col-md-offset-4" tal:condition="1">
<div class="g-recaptcha" data-sitekey="${private_key}"></div>
</div> </div>
</div> </div>
<!--Button ------------------------------->
<div class="col-md-offset-2">
<div class="form-group"> <div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary " <button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button> value="simpan">Simpan</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default " <button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="batal">Batal</button> value="cancel">Batal</button>
</div> </div>
</div> </div>
</div>
</fieldset> </fieldset>
</form> </form>
</div> </div>
......
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!