Commit 51e791db by aagusti

aa-informix

1 parent 581c23a9
Showing 100 changed files with 3159 additions and 464 deletions
File mode changed
File mode changed
File mode changed
File mode changed
File mode changed
File mode changed
......@@ -5,24 +5,30 @@
[app:main]
use = egg:esipkd
reload_templates = true
reload_templates = trues
debug_authorization = false
debug_notfound = false
debug_routematch = false
debug_templates = true
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_debugtoolbar
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
session.type = ext:database
session.secret = s0s3cr3t
session.cookie_expires = true
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.lock_dir = %(here)s/tmp
......
......@@ -116,7 +116,6 @@ class Group(GroupMixin, Base, CommonModel):
class GroupPermission(GroupPermissionMixin, Base):
pass
class UserGroup(UserGroupMixin, Base):
@classmethod
def get_by_email(cls, email):
......@@ -212,7 +211,7 @@ class User(UserMixin, BaseModel, CommonModel, Base):
@classmethod
def get_by_name(cls, name):
return DBSession.query(cls).filter_by(user_name=name).first()
return DBSession.query(cls).filter_by(user_name=name).first()
@classmethod
def get_by_identity(cls, identity):
......
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
<?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
1,"home","Home","/",,"''",0,"2015-03-08 16:45:45",,1
2,"login","Login","/login",,"''",0,"2015-03-08 16:45:45",,1
1,"home","Beranda","/",,"''",0,"2015-03-08 16:45:45",,1
2,"login","Masuk","/login",,"''",0,"2015-03-08 16:45:45",,1
3,"logout","Logout","/logout",,"view",0,"2015-03-08 16:45:45",,1
4,"password","Ubah password","/password",,"view",0,"2015-03-08 16:45:45",,1
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,"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
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
18,"pkb-add","Tambah 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
17,"pkb","List Pajak Kendaraan Bermotor","/pkb",,"read",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","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
26,"coa","Rekening","/coa",,"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
28,"coa-add","Tambah Rekening","/coa/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
40,"coa-delete","Hapus Rekening","/coa/{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
42,"skpd-act","Baca SKPD","/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
44,"skpd-edit","Edit SKPD/Unit","/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
26,"rekening","Kode Rekening","/rekening",,"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,"rekening-add","Tambah Kode Rekening","/rekening/add",,"add",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,"rekening-delete","Hapus Kode Rekening","/rekening/{id}/delete",,"delete",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 Unit Kerja/OPD","/skpd/{act}/act",,"read",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 Unit Kerja/OPD","/skpd/{id}/edit",,"edit",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
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
......@@ -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
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
56,"pajak","Pajak","/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
58,"pajak-add","Tambah Pajak","/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
60,"pajak-delete","Hapus Pajak","/pajak/{id}/delete",,"delete",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 Tarif","/pajak/{act}/act",,"read",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 Tarif","/pajak/{id}/edit",,"edit",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
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
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
66,"wp-act","Baca Wajb Pajak","/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
68,"wp-delete","Hapus Wajib Pajak","/pegawai/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
69,"op","Objek Pajak","/op",,"read",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
71,"op-add","Tambah Objek Pajak","/op/add",,"add",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
73,"op-delete","Hapus Objek Pajak","/op/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
74,"arinvoice","Reg. Bayar","/arinvoice",,"read",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
76,"arinvoice-add","Tambah Reg. Bayar","/arinvoice/add",,"add",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
78,"arinvoice-delete","Hapus Reg. Bayar","/arinvoice/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
79,"arsspd","Penerimaan","/arsspd",,"read",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
81,"arsspd-add","Tambah Penerimaan","/arsspd/add",,"add",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
83,"arsspd-delete","Hapus Penerimaan","/arsspd/{id}/delete",,"delete",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
65,"wp","Subjek","/wp",,"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 Subjek","/wp/add",,"add",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,"wp-delete","Hapus Subjek","/wp/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
70,"op","Objek","/op",,"read",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-add","Tambah Objek","/op/add",,"add",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,"op-delete","Hapus Objek","/op/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
75,"arinvoice","Reg. Bayar","/arinvoice",,"read",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-add","Tambah Reg. Bayar","/arinvoice/add",,"add",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,"arinvoice-delete","Hapus Reg. Bayar","/arinvoice/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
80,"arsspd","Penerimaan","/arsspd",,"read",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-add","Tambah Penerimaan","/arsspd/add",,"add",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,"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
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
......@@ -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
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
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,
daftar_wilayah, deferred_wilayah,
daftar_unit, deferred_unit,
daftar_pajak, deferred_pajak,
auto_op_nm
auto_op_nm, auto_unit_nm, auto_wp_nm
)
########
# List #
......@@ -82,33 +82,36 @@ class AddSchema(colander.Schema):
)
unit_nm = colander.SchemaNode(
colander.String(),
title="SKPD",
title="OPD",
#title="SKPD",
#widget=auto_unit_nm,
oid="unit_nm"
)
subjek_pajak_id = colander.SchemaNode(
colander.Integer(),
widget=widget.HiddenWidget(),
title="Subjek Pajak",
title="Subjek Bayar",
oid = "subjek_pajak_id"
)
subjek_pajak_nm = colander.SchemaNode(
colander.String(),
title="Subjek Pajak",
#widget=auto_wp_nm,
title="Subjek",
oid = "subjek_pajak_nm"
)
objek_pajak_id = colander.SchemaNode(
colander.Integer(),
title="Objek Pajak",
title="Objek Bayar",
widget=widget.HiddenWidget(),
oid = "objek_pajak_id"
)
objek_pajak_nm = colander.SchemaNode(
colander.String(),
widget=auto_op_nm,
title="Objek Pajak",
title="Objek",
oid = "objek_pajak_nm"
)
......@@ -213,10 +216,19 @@ def save(values, row=None):
row.op_nama = ref.nama
row.op_alamat_1 = ref.alamat_1
row.op_alamat_2 = ref.alamat_2
row.wilayah_id = ref.wilayah_id
row.rekening_id = ref.pajaks.rekening_id
row.rek_kode = ref.pajaks.rekenings.kode
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:
invoice_no = DBSession.query(func.max(ARInvoice.no_id)).\
filter(ARInvoice.tahun_id==row.tahun_id,
......@@ -225,8 +237,11 @@ def save(values, row=None):
row.no_id = 1
else:
row.no_id = invoice_no+1
row.kode = "".join([str(row.tahun_id), re.sub("[^0-9]", "", row.unit_kode),
str(row.no_id).rjust(6,'0')])
row.kode = "".join([prefix, re.sub("[^0-9]", "", row.wilayah_kode),
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']:
# row.password = values['password']
DBSession.add(row)
......@@ -258,6 +273,18 @@ def view_add(request):
if request.POST:
if 'simpan' in request.POST:
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:
c = form.validate(controls)
except ValidationFailure, e:
......@@ -275,8 +302,8 @@ def view_add(request):
# Edit #
########
def query_id(request):
return DBSession.query(ARInvoice).filter(ARInvoice.id==request.matchdict['id'],
ARInvoice.status_bayar==0)
return DBSession.query(ARInvoice).filter(ARInvoice.id==request.matchdict['id'],)
#ARInvoice.status_bayar==0)
def id_not_found(request):
msg = 'No Bayar ID %s tidak ditemukan atau sudah dibayar.' % request.matchdict['id']
......@@ -287,12 +314,32 @@ def id_not_found(request):
permission='edit')
def view_edit(request):
row = query_id(request).first()
uid = row.id
kode = row.kode
if not row:
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)
if request.POST:
if 'simpan' in request.POST:
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:
c = form.validate(controls)
except ValidationFailure, e:
......@@ -320,8 +367,13 @@ def view_edit(request):
def view_delete(request):
q = query_id(request)
row = q.first()
if not row:
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:
form = Form(colander.Schema(), buttons=('cancel',))
else:
......
......@@ -97,28 +97,29 @@ class AddSchema(colander.Schema):
unit_nama = colander.SchemaNode(
colander.String(),
title="SKPD",
title="OPD",
#title="SKPD",
oid = "unit_nama",
missing=colander.drop
)
wp_nama = colander.SchemaNode(
colander.String(),
title="Subjek Pajak",
title="Subjek",
oid = "wp_nama",
missing=colander.drop,
)
rek_nama = colander.SchemaNode(
colander.String(),
title="Subjek Pajak",
title="Rekening",
oid = "rek_nama",
missing=colander.drop,
)
op_nama = colander.SchemaNode(
colander.String(),
title="Objek Pajak",
title="Objek",
missing=colander.drop,
oid = "op_nama"
)
......@@ -404,3 +405,4 @@ def view_act(request):
rowTable = DataTables(req, ARSspd, query, columns)
return rowTable.output_result()
......@@ -80,7 +80,8 @@ class AddSchema(colander.Schema):
unit_id = colander.SchemaNode(
colander.Integer(),
widget=deferred_unit,
title="SKPD"
title="OPD"
#title="SKPD"
)
kode = colander.SchemaNode(
colander.String(),
......@@ -253,7 +254,7 @@ def view_act(request):
columns.append(ColumnDT('id'))
columns.append(ColumnDT('kode'))
columns.append(ColumnDT('nama'))
columns.append(ColumnDT('jumlah'))
#columns.append(ColumnDT('jumlah'))
columns.append(ColumnDT('jumlah', filter=_DTnumberformat))
columns.append(ColumnDT('units.nama'))
......
......@@ -72,14 +72,17 @@ def query_invoice_id(id):
@view_config(route_name='arstsitem-add', renderer='templates/arstsitem/add.pt',
permission='add')
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).\
filter( ARInvoice.unit_id==request.session['unit_id'],
ARSspd.posted==0).all()
filter( ARInvoice.unit_id==request.session['unit_id'],
ARSspd.posted==0).all()
else:
rows = DBSession.query(ARSspd).join(ARInvoice).\
filter( ARInvoice.unit_id==request.session['unit_id'],
ARSspd.id == request.matchdict['id'],
filter( ARInvoice.unit_id==request.session['unit_id'],
ARSspd.id == request.matchdict['id'],
ARSspd.posted==0).all()
for row in rows:
items=ARStsItem()
......@@ -146,7 +149,6 @@ def view_delete(request):
DBSession.add(q)
DBSession.flush()
request.session.flash(msg)
return route_list(request)
#############
......@@ -156,7 +158,7 @@ def query_sts_id(request):
return DBSession.query(ARSts).filter_by(id=request.matchdict['id'])
@view_config(route_name='arstsitem-list', renderer='templates/arstsitem/list.pt',
permission='read')
permission='add')
def view_list(request):
q = query_sts_id(request)
row = q.first()
......@@ -165,6 +167,7 @@ def view_list(request):
request.session['unit_id'] = row.unit_id
request.session['sts_id'] = row.id
#TODO validate user_unit
"""if request.POST:
if 'delete' in request.POST:
msg = 'Penerimaan ID %d %s sudah dihapus.' % (row.id, row.kode)
......@@ -174,7 +177,7 @@ def view_list(request):
return route_list(request)
"""
return dict(row={})
##########
# Action #
##########
......@@ -202,8 +205,11 @@ def view_act(request):
rowTable = DataTables(req, ARSspd, query, columns)
return rowTable.output_result()
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.append(ColumnDT('sspd_id'))
columns.append(ColumnDT('sts_id'))
......@@ -213,8 +219,7 @@ def view_act(request):
columns.append(ColumnDT('jumlah', filter=_DTnumberformat))
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)
return rowTable.output_result()
\ No newline at end of file
......@@ -91,7 +91,8 @@ def deferred_jabatan(node, kw):
def daftar_unit():
rows = DBSession.query(Unit).filter_by(level_id=3).all()
r=[]
d = (0,'Pilih SKPD')
d = (0,'Pilih OPD')
#d = (0,'Pilih SKPD')
r.append(d)
for row in rows:
d = (row.id, row.kode+':'+row.nama)
......@@ -240,7 +241,7 @@ def daftar_route():
r.append(d)
return r
## Kumpulan Headofkode & Headofname
auto_unit_nm = widget.AutocompleteInputWidget(
size=60,
values = '/skpd/hon/act',
......@@ -260,4 +261,28 @@ auto_op_nm = widget.AutocompleteInputWidget(
size=60,
values = '/op/hon/act',
min_length=1)
\ No newline at end of file
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
......@@ -14,7 +14,9 @@ from deform import (
)
from ..models import (
DBSession,
Group
Group,
UserGroup,
Route,
)
from datatables import (
......@@ -112,13 +114,14 @@ def view_add(request):
try:
c = form.validate(controls)
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'))
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())
return dict(form=form)#.render())
########
# Edit #
......@@ -144,7 +147,8 @@ def view_edit(request):
try:
c = form.validate(controls)
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',
id=row.id))
save_request(dict(controls), request, row)
......@@ -152,7 +156,9 @@ def view_edit(request):
elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED)
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 #
......@@ -162,15 +168,22 @@ def view_edit(request):
def view_delete(request):
q = query_id(request)
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:
return id_not_found(request)
form = Form(colander.Schema(), buttons=('delete','cancel'))
if request.POST:
if 'delete' in request.POST:
msg = 'Group ID %d %s has been deleted.' % (row.id, row.group_name)
q.delete()
DBSession.flush()
request.session.flash(msg)
msg = 'Group ID %d %s has been deleted.' % (row.id, row.group_name)
q.delete()
DBSession.flush()
request.session.flash(msg)
return route_list(request)
return dict(row=row,
form=form.render())
......@@ -194,3 +207,34 @@ def view_act(request):
query = DBSession.query(Group)
rowTable = DataTables(req, Group, query, columns)
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
......@@ -20,14 +20,14 @@ from ..models import (
)
from datatables import (
ColumnDT, DataTables)
from daftar import (daftar_route, deferred_route,
daftar_group, deferred_group
)
from esipkd.tools import DefaultTimeZone, _DTstrftime, _DTnumberformat, _DTactive
SESS_ADD_FAILED = 'groupperm add 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 #
########
......@@ -55,12 +55,28 @@ def form_validator(form, value):
class AddSchema(colander.Schema):
group_id = colander.SchemaNode(
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")
"""
route_id = colander.SchemaNode(
colander.Integer(),
widget=deferred_route,
widget = deferred_route,
oid="route_id",
title="Route")
"""
route_nm = colander.SchemaNode(
colander.String(),
widget = auto_route_nm,
title ='Route',
oid = 'route_nm')
"""
def get_form(request, class_form):
schema = class_form(validator=form_validator)
......@@ -101,13 +117,14 @@ def view_add(request):
try:
c = form.validate(controls)
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'))
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())
return dict(form=form)#.render())
########
# Edit #
......
......@@ -15,6 +15,7 @@ from deform import (
from ..models import DBSession
from ..models.isipkd import(
Jabatan,
Pegawai
)
from daftar import STATUS, deferred_status
......@@ -22,6 +23,8 @@ from daftar import STATUS, deferred_status
from datatables import (
ColumnDT, DataTables)
from esipkd.tools import DefaultTimeZone, _DTstrftime, _DTnumberformat, _DTactive
SESS_ADD_FAILED = 'Gagal tambah jabatan'
SESS_EDIT_FAILED = 'Gagal edit jabatan'
......@@ -69,6 +72,12 @@ def form_validator(form, value):
elif found:
err_name()
# Widget Status
STATUS = (
(1, 'Aktif'),
(0, 'Inaktif'),
)
class AddSchema(colander.Schema):
kode = colander.SchemaNode(
colander.String(),
......@@ -80,7 +89,8 @@ class AddSchema(colander.Schema):
status = colander.SchemaNode(
colander.Integer(),
widget=deferred_status,
#widget=deferred_status,
widget=widget.SelectWidget(values=STATUS),
title="Status")
......@@ -131,13 +141,14 @@ def view_add(request):
try:
c = form.validate(controls)
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'))
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())
return dict(form=form)#.render())
########
# Edit #
......@@ -163,7 +174,8 @@ def view_edit(request):
try:
c = form.validate(controls)
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',
id=row.id))
save_request(dict(controls), request, row)
......@@ -171,7 +183,9 @@ def view_edit(request):
elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED)
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 #
......@@ -181,15 +195,20 @@ def view_edit(request):
def view_delete(request):
q = query_id(request)
row = q.first()
id = row.id
if not row:
return id_not_found(request)
form = Form(colander.Schema(), buttons=('delete','cancel'))
if request.POST:
if 'delete' in request.POST:
msg = 'Jabatan ID %d %s has been deleted.' % (row.id, row.kode)
q.delete()
DBSession.flush()
request.session.flash(msg)
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)
q.delete()
DBSession.flush()
request.session.flash(msg)
return route_list(request)
return dict(row=row,
form=form.render())
......@@ -209,7 +228,7 @@ def view_act(request):
columns.append(ColumnDT('id'))
columns.append(ColumnDT('kode'))
columns.append(ColumnDT('nama'))
columns.append(ColumnDT('status'))
columns.append(ColumnDT('status', filter=_DTactive))
query = DBSession.query(Jabatan)
rowTable = DataTables(req, Jabatan, query, columns)
return rowTable.output_result()
......@@ -85,7 +85,7 @@ class AddSchema(colander.Schema):
subjekpajak_id = colander.SchemaNode(
colander.Integer(),
widget=deferred_subjekpajak,
title="Subjek Pajak"
title="Subjek"
)
wilayah_id = colander.SchemaNode(
colander.Integer(),
......@@ -95,7 +95,8 @@ class AddSchema(colander.Schema):
unit_id = colander.SchemaNode(
colander.Integer(),
widget=deferred_unit,
title="SKPD/Unit Kerja"
title="OPD",
#title="SKPD/Unit Kerja"
)
pajak_id = colander.SchemaNode(
......@@ -200,7 +201,7 @@ def view_edit(request):
c = form.validate(controls)
except ValidationFailure, e:
return dict(form=form)
save_request(dict(controls), request, row)
save_request(dict(controls), request, row)
return route_list(request)
elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED)
......@@ -250,10 +251,14 @@ def view_act(request):
query = DBSession.query(ObjekPajak).join(SubjekPajak).join(Pajak).join(Wilayah)
rowTable = DataTables(req, ObjekPajak, query, columns)
return rowTable.output_result()
elif url_dict['act']=='hon':
term = 'term' in params and params['term'] or ''
x = request.user.id
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 = []
for k in rows:
print k
......
......@@ -18,7 +18,7 @@ from ..models.isipkd import(
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 (
ColumnDT, DataTables)
......@@ -69,16 +69,21 @@ class AddSchema(colander.Schema):
colander.String())
nama = colander.SchemaNode(
colander.String())
rekening_id = colander.SchemaNode(
colander.Integer(),
widget=deferred_rekening,
widget = deferred_rekening,
oid="rekening_id",
title="Rekening")
"""
rekening_nm = colander.SchemaNode(
colander.String(),
widget=auto_rekening_nm,
oid="rekening_nm",
title="Rekening")
"""
tahun = colander.SchemaNode(
colander.Integer(),
)
tarif = colander.SchemaNode(
colander.Integer(),
title='Tarif (%)')
......@@ -136,13 +141,14 @@ def view_add(request):
try:
c = form.validate(controls)
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'))
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())
return dict(form=form)#.render())
########
# Edit #
......@@ -168,15 +174,21 @@ def view_edit(request):
try:
c = form.validate(controls)
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',
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)
#return session_failed(request, SESS_EDIT_FAILED)
del request.session[SESS_EDIT_FAILED]
return dict(form=form)
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 #
......
......@@ -40,15 +40,16 @@ class AddSchema(colander.Schema):
no_skpd = colander.SchemaNode(
colander.String(),
widget = widget.TextInputWidget(max=5),
title = "No. SKPD"
title = "NPWPD"
)
email = colander.SchemaNode(
colander.String(),
validator=email_validator,
title = "e-mail"
title = "Periode"
)
no_handphone = colander.SchemaNode(
colander.String()
colander.String(),
title = "Email"
)
def get_form(request, class_form):
......@@ -80,8 +81,8 @@ def session_failed(request, session_name):
@view_config(route_name='pap-add', renderer='templates/pap/add.pt',
permission='view')
def view_add(request):
req = request
private_key = '6LcGLQATAAAAABtqq0J20BATKsZPGXwBVj6i5zk_'
req =request
form = get_form(request, AddSchema)
if request.POST:
if 'simpan' in request.POST:
......
......@@ -26,6 +26,9 @@ from daftar import (STATUS, deferred_status,
from datatables import (
ColumnDT, DataTables)
from esipkd.tools import DefaultTimeZone, _DTstrftime, _DTnumberformat, _DTactive
SESS_ADD_FAILED = 'Gagal tambah pegawai'
SESS_EDIT_FAILED = 'Gagal edit pegawai'
......@@ -74,7 +77,7 @@ class AddSchema(colander.Schema):
unit_id = colander.SchemaNode(
colander.Integer(),
widget=deferred_unit,
title="SKPD")
title="OPD")
jabatan_id = colander.SchemaNode(
colander.Integer(),
......@@ -148,13 +151,14 @@ def view_add(request):
try:
c = form.validate(controls)
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'))
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())
return dict(form=form)#.render())
########
# Edit #
......@@ -180,7 +184,8 @@ def view_edit(request):
try:
c = form.validate(controls)
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',
id=row.id))
save_request(dict(controls), request, row)
......@@ -188,7 +193,10 @@ def view_edit(request):
elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED)
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 #
......@@ -228,7 +236,7 @@ def view_act(request):
columns.append(ColumnDT('nama'))
columns.append(ColumnDT('skpd'))
columns.append(ColumnDT('jabatan'))
columns.append(ColumnDT('status'))
columns.append(ColumnDT('status', filter=_DTactive))
query = DBSession.query(Pegawai.id,
Pegawai.kode,
......
import colander
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.httpexceptions import (HTTPFound,)
from deform import (Form, widget, ValidationFailure,)
from datatables import (ColumnDT, DataTables)
from ..tools import (email_validator,BULANS, captcha_submit)
from ..tools import (email_validator,BULANS, captcha_submit, get_settings)
from ..models import (DBSession)
from ..models.isipkd import (Pkb)
from ..models.informix import EngInformix
SESS_ADD_FAILED = 'user add failed'
SESS_EDIT_FAILED = 'user edit failed'
......@@ -62,16 +63,68 @@ def get_form(request, class_form):
return Form(schema, buttons=('simpan','batal'))
def save(values, user, row=None):
row = {}
row['email'] = 'aagusti@1'
return row
pass
def save_request(values, request, row=None):
if 'id' in request.matchdict:
values['id'] = request.matchdict['id']
row = save(values, request.user, row)
request.session.flash('Tunggu beberapa saat email atau SMS akan segera dikirim.')
engInformix = EngInformix()
c_now = datetime.now()
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):
return HTTPFound(location=request.route_url('pkb'))
......@@ -85,28 +138,38 @@ def session_failed(request, session_name):
@view_config(route_name='pkb-add', renderer='templates/pkb/add.pt',
permission='view')
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)
if request.POST:
if 'simpan' in request.POST:
controls = request.POST.items()
try:
c = form.validate(controls)
response = captcha_submit(
'6LcGLQATAAAAAPlQuLEaUUrmAO845hlNKbZeUr1J', #req.args['recaptcha_challenge_field']
req.params['g-recaptcha-response'],
private_key, None
)
if not response.is_valid:
req.session.flash(response.error_code,'error')
return dict(form=form)
if private_key:
response = captcha_submit(
data_key,
req.params['g-recaptcha-response'],
private_key, None
)
if not response.is_valid:
req.session.flash(response.error_code,'error')
return dict(form=form, private_key=private_key)
except ValidationFailure, e:
return dict(form=form)
return dict(form=form, private_key=private_key)
#request.session[SESS_ADD_FAILED] = e.render()
#return HTTPFound(location=request.route_url('pkb-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)
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
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
......@@ -69,7 +69,7 @@ b = ' puluh '
c = ' ratus '
d = ' ribu '
e = ' juta '
f = ' miliyar '
f = ' milyar '
g = ' triliun '
def Terbilang(x):
y = str(x)
......@@ -259,6 +259,7 @@ class ViewLaporan(BaseViews):
response.content_disposition='filename=output.pdf'
response.write(pdf)
return response
###################### OBJEK PAJAK
elif url_dict['act']=='r010' :
query = DBSession.query(ObjekPajak).join(SubjekPajak).join(Pajak).join(Wilayah).order_by(SubjekPajak.kode).all()
generator = r010Generator()
......@@ -268,9 +269,42 @@ class ViewLaporan(BaseViews):
response.content_disposition='filename=output.pdf'
response.write(pdf)
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:
return HTTPNotFound() #TODO: Warning Hak Akses
#User
class r001Generator(JasperGenerator):
def __init__(self):
......@@ -430,3 +464,61 @@ class r010Generator(JasperGenerator):
ET.SubElement(xml_greeting, "wilayah").text = row.wilayahs.nama
ET.SubElement(xml_greeting, "status").text = unicode(row.status)
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):
try:
c = form.validate(controls)
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'))
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())
return dict(form=form)#.render())
########
# Edit #
......@@ -176,7 +177,8 @@ def view_edit(request):
try:
c = form.validate(controls)
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',
id=row.id))
save_request(dict(controls), request, row)
......@@ -184,7 +186,9 @@ def view_edit(request):
elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED)
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 #
......@@ -227,15 +231,17 @@ def view_act(request):
query = DBSession.query(Unit)
rowTable = DataTables(req, Unit, query, columns)
return rowTable.output_result()
elif url_dict['act']=='hon':
term = 'term' in params and params['term'] or ''
rows = DBSession.query(Unit.id, Unit.nama
).filter( Unit.is_summary==0,
Unit.nama.ilike('%%%s%%' % term) ).all()
).filter( Unit.is_summary==0,
Unit.nama.ilike('%%%s%%' % term)).all()
r = []
for k in rows:
d={}
d['id'] = k[0]
d['value'] = k[1]
d['id'] = k[0]
d['value'] = k[1]
d['nama'] = k[1]
r.append(d)
return r
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content">
<h3>Tambah/Edit Register</h3>
<!--h4>Tambah/Edit Register</h4-->
<h4>Tambah No. Bayar</h4>
<hr>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
......@@ -13,19 +14,21 @@
${structure:field.serialize()}
</div>
</div>
<!--objek_pajak_id ------------------------------->
<div tal:define="field form['objek_pajak_id']">
${structure:field.serialize()}
</div>
<!--subjek_pajak_id ------------------------------->
<div tal:define="field form['subjek_pajak_id']">
${structure:field.serialize()}
</div>
<!--unit_id ------------------------------->
<div tal:define="field form['unit_id']">
${structure:field.serialize()}
</div>
<div class="col-md-6">
<!--unit_nm ------------------------------->
<div class="form-group" tal:define="field form['unit_nm']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
......@@ -37,7 +40,7 @@
${error}</p>
</div>
</div>
<!--subjek_pajak_nm ------------------------------->
<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}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
......@@ -49,7 +52,7 @@
${error}</p>
</div>
</div>
<!--objek_pajak_nm ------------------------------->
<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}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
......@@ -61,7 +64,7 @@
${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"
......@@ -73,6 +76,7 @@
${error}</p>
</div>
</div>
<!--periode_1 ------------------------------->
<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}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
......@@ -89,9 +93,9 @@
<div class="col-md-4" tal:define="field form['periode_2']">
${structure:field.serialize()}
</div>
</div>
<div class="form-group" tal:define="field form['tgl_tetap']" id="item-${field.oid}">
<!--tgl_tetap ------------------------------->
<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}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
......@@ -102,6 +106,7 @@
${error}</p>
</div>
</div>
<!--jatuh_tempo ------------------------------->
<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}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
......@@ -114,7 +119,9 @@
</div>
</div>
</div>
<div class="col-md-6">
<!--dasar ------------------------------->
<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}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
......@@ -126,6 +133,7 @@
${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"
......@@ -137,6 +145,7 @@
*</p>
</div>
</div>
<!--pokok ------------------------------->
<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}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
......@@ -148,6 +157,7 @@
${error}</p>
</div>
</div>
<!--denda ------------------------------->
<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}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
......@@ -159,6 +169,7 @@
${error}</p>
</div>
</div>
<!--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}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
......@@ -172,6 +183,7 @@
tal:repeat="error field.error.messages()">
${error}</p>
</div>
<!--jumlah ------------------------------->
<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}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
......@@ -181,18 +193,24 @@
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p> </div>
</div>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
<div class="col-md-6">
<!--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="batal" type="submit" class="btn btn-default "
value="batal">Batal</button>
</div>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default "
value="batal">Batal</button>
</div>
</div>
</div>
</div>
<script>
$("#unit_id").attr("readonly",${has_permission(request,'arinvoice-edt-unit') and 'false' or 'true'})
......
......@@ -27,7 +27,7 @@
<th>Denda</th>
<th>Bunga</th-->
<th>Jumlah</th>
<th>SKPD</th>
<th>OPD</th>
</tr>
</thead>
<tbody>
......@@ -46,17 +46,17 @@
var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () {
oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl,
"bServerSide": true,
"bProcessing": true,
"sDom": '<"toolbar">lfrtip',
"bScrollCollapse": true,
"bSort": true,
"bInfo": false,
"bFilter": true,
"bAutoWidth": false,
"bPaginate": true,
"sPaginationType": "full_numbers",
"sAjaxSource" : oTableUrl,
"bServerSide" : true,
"bProcessing" : true,
"sDom" : '<"toolbar">lfrtip',
"bScrollCollapse" : true,
"bSort" : true,
"bInfo" : false,
"bFilter" : true,
"bAutoWidth" : false,
"bPaginate" : true,
"sPaginationType" : "full_numbers",
"lengthMenu": [
[10, 25, 50, -1],
[10, 25, 50, "All"]
......@@ -85,7 +85,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">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;',
'</div>',
];
......@@ -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 () {
if (mID) {
var hapus = confirm('Hapus data ini?');
......@@ -132,5 +142,4 @@
</script>
</div>
</html>
......@@ -86,7 +86,8 @@
' <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_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;',
'</div>',
];
......@@ -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 () {
if (mID) {
var hapus = confirm('Hapus data ini?');
......@@ -131,7 +141,5 @@
});
});
</script>
</div>
</html>
......@@ -3,7 +3,7 @@
<link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.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>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
......@@ -15,6 +15,7 @@
${structure:field.serialize()}
</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-1" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
......@@ -23,6 +24,7 @@
${structure:field.serialize()}
</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-1" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
......@@ -32,20 +34,18 @@
<script>
$("#${field.oid}").attr("readonly", true);
</script>
</div>
<!--tgl_sts ------------------------------->
<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"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-5">
<div class="col-md-3">
${structure:field.serialize()}
</div>
</div>
</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-1" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
......@@ -54,8 +54,7 @@
${structure:field.serialize()}
</div>
</div>
<!--jumlah ------------------------------->
<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}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
......@@ -66,16 +65,16 @@
$("#${field.oid}").attr("readonly", true);
</script>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-1">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default "
value="batal">Batal</button>
</div>
</div>
<!--Button ------------------------------->
<div class="col-md-4">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default "
value="batal">Batal</button>
</div>
</div>
</fieldset>
</form>
......@@ -92,8 +91,16 @@
</thead>
<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.jeditable.js')}"></script-->
<script src="/static/datatables/media/js/jquery.dataTables.ext.js"></script>
......@@ -103,22 +110,30 @@
var mID;
var oTable;
var iPos;
//Nambahin variable sts_id & kondisi untuk pemanggilan grid
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 () {
oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl,
"bServerSide": true,
"bProcessing": true,
"sDom": '<"toolbar">lfrtip',
"bScrollCollapse": true,
"bSort": true,
"bSearch": false,
"bInfo": false,
"bFilter": true,
"bAutoWidth": false,
"bPaginate": true,
"sPaginationType": "full_numbers",
"sAjaxSource" : oTableUrl,
"bServerSide" : true,
"bProcessing" : true,
"sDom" : '<"toolbar">lfrtip',
"bScrollCollapse" : true,
"bSort" : true,
"bSearch" : false,
"bInfo" : false,
"bFilter" : true,
"bAutoWidth" : false,
"bPaginate" : true,
"sPaginationType" : "full_numbers",
"lengthMenu": [
[10, 25, 50, -1],
[10, 25, 50, "All"]
......@@ -126,7 +141,6 @@
"aoColumnDefs": [
{"bSearchable": false, "bVisible": false, "aTargets": [0,1,2]}
],
"aoColumns": [
null,
null,
......@@ -134,7 +148,6 @@
{"sWidth": "75px", "sClass": "right"},
null,
{"sWidth": "75px", "sClass": "right"},
],
});
......@@ -142,7 +155,8 @@
'<div class="btn-group pull-left">',
' <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_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;',
'</div>',
];
......@@ -164,7 +178,13 @@
});
$('#btn_tambah').click(function () {
window.location = oFormUrl+$("#id").val()+'/list';
var sts_id = $('#id').val();
if(!sts_id){
alert('Simpan Dulu Headernya');
}
else{
window.location = oFormUrl+$("#id").val()+'/list';
}
});
$('#btn_edit').click(function () {
......
......@@ -6,7 +6,7 @@
<h3 class="panel-title">Warning</h3>
</div>
<div class="panel-body">
Hapus Objek ID #${row.id} ${row.nama} ?
Hapus Setoran ID #${row.id} ${row.nama} ?
</div>
</div>
......
......@@ -21,7 +21,7 @@
<th>Kode</th>
<th>Uraian</th>
<th>Jumlah</th>
<th>SKPD</th>
<th>OPD</th>
</tr>
</thead>
<tbody>
......@@ -73,7 +73,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">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;',
'</div>',
];
......@@ -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 () {
if (mID) {
var hapus = confirm('Hapus data ini?');
......@@ -118,7 +128,5 @@
});
});
</script>
</div>
</html>
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content">
<link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet">
<link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet">
<h4>Daftar Penerimaan</h4>
<hr>
<div class="container">
......@@ -29,7 +27,6 @@
<th>Jumlah</th>
<th>Tgl. Bayar</th>
<th>Pilih</th>
</tr>
</thead>
<tbody>
......@@ -44,21 +41,26 @@
var mID;
var oTable;
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 oTableUrl = oFormUrl+"sspd/act";
$(document).ready(function () {
oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl,
"bServerSide": true,
"bProcessing": true,
"sDom": '<"toolbar">lfrtip',
"bScrollCollapse": true,
"bSort": true,
"bInfo": false,
"bFilter": true,
"bAutoWidth": false,
"bPaginate": true,
"sPaginationType": "full_numbers",
"sAjaxSource" : oTableUrl,
"bServerSide" : true,
"bProcessing" : true,
"sDom" : '<"toolbar">lfrtip',
"bScrollCollapse" : true,
"bSort" : true,
"bInfo" : false,
"bFilter" : true,
"bAutoWidth" : false,
"bPaginate" : true,
"sPaginationType" : "full_numbers",
"lengthMenu": [
[10, 25, 50, -1],
[10, 25, 50, "All"]
......@@ -69,8 +71,8 @@
"aoColumns": [
null,
{"sWidth": "100px", "sClass": "left"},
{"sWidth": "30px", "sClass": "center"},
{"sWidth": "100px", "sClass": "left"},
{"sWidth": "30px", "sClass": "center"},
{"sWidth": "30px", "sClass": "center"},
null,
null,
......@@ -83,6 +85,7 @@
var tb_array = [
'<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_tambah" class="btn btn btn-primary pull-left" type="button">Terpilih</button>',
' &nbsp;',
......@@ -118,9 +121,11 @@
alert('Silahkan pilih data yang akan ditambahkan');
}
});
$('#btn_close').click(function () {
window.location = oFormUrl+'balik/add';
});
});
</script>
</div>
</html>
......@@ -44,15 +44,15 @@
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li tal:attributes="class request.path == '/' and 'active'"><a href="/">Home</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 == '/pap/add' and 'active'"><a href="/pap/add">PAP</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">e-Samsat</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'">
<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">
<li><a href="/arinvoice">No. Bayar</a></li>
<li><a href="/wp">Subyek Bayar</a></li>
<li><a href="/op">Obyek Bayar</a></li>
<li><a href="/wp">Subjek</a></li>
<li><a href="/op">Objek</a></li>
</ul>
</li>
<li tal:attributes="class request.path == '/arsspd' and 'active'"><a href="/arsspd">Penerimaan</a></li>
......@@ -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 == '/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: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"
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>
<ul class="dropdown-menu">
<li><a href="/user">User</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="/skpd">SKPD/Unit</a></li>
<li><a href="/skpd">Unit Kerja/OPD</a></li>
<li><a href="/jabatan">Jabatan</a></li>
<li><a href="/pegawai">Pegawai</a></li>
<li><a href="/coa">Rekening</a></li>
<li><a href="/pajak">Rekening & Tarif</a></li>
<li><a href="/rekening">Kode Rekening</a></li>
<li><a href="/pajak">Tarif</a></li>
<li><a href="/wilayah">Wilayah</a></li>
</ul>
</li>
......@@ -84,10 +84,10 @@
<ul class="nav navbar-nav pull-right">
<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">
<li><a href="/logout">${request.user and request.user.nice_username()} Logout</a></li>
<li><a href="/password">Change password</a></li>
<li><a href="/logout">${request.user and request.user.nice_username()} Keluar</a></li>
<li><a href="/password">Ubah password</a></li>
</ul>
</li>
......
......@@ -2,6 +2,60 @@
<div metal:fill-slot="content" class="form-550">
<h4>Tambah Group</h4>
<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>
</html>
......@@ -2,6 +2,60 @@
<div metal:fill-slot="content" class="form-550">
<h4>Edit Group</h4>
<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>
</html>
......@@ -39,18 +39,18 @@
var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () {
oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl,
"bServerSide": true,
"bProcessing": true,
"sDom": '<"toolbar">lfrtip',
"bScrollCollapse": true,
"bSort": true,
"bInfo": false,
"bFilter": true,
"bAutoWidth": false,
"bSearch": true,
"bPaginate": true,
"sPaginationType": "full_numbers",
"sAjaxSource" : oTableUrl,
"bServerSide" : true,
"bProcessing" : true,
"sDom" : '<"toolbar">lfrtip',
"bScrollCollapse" : true,
"bSort" : true,
"bInfo" : false,
"bFilter" : true,
"bAutoWidth" : false,
"bSearch" : true,
"bPaginate" : true,
"sPaginationType" : "full_numbers",
"lengthMenu": [
[10, 25, 50, -1],
[10, 25, 50, "All"]
......@@ -72,7 +72,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">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;',
'</div>',
];
......@@ -110,6 +111,10 @@
window.open(url);
});
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () {
if (mID) {
var hapus = confirm('Hapus data ini?');
......
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550">
<h3>Tambah Group Permission</h3>
<h4>Tambah Group Permission</h4>
<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>
</html>
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550">
<h3>Edit User Group</h3>
<h4>Edit User Group</h4>
<hr>
<div tal:content="structure form"/>
</div>
......
......@@ -39,17 +39,17 @@
var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () {
oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl,
"bServerSide": true,
"bProcessing": true,
"sDom": '<"toolbar">lfrtip',
"bScrollCollapse": true,
"bSort": true,
"bInfo": false,
"bFilter": true,
"bAutoWidth": false,
"bPaginate": true,
"sPaginationType": "full_numbers",
"sAjaxSource" : oTableUrl,
"bServerSide" : true,
"bProcessing" : true,
"sDom" : '<"toolbar">lfrtip',
"bScrollCollapse" : true,
"bSort" : true,
"bInfo" : false,
"bFilter" : true,
"bAutoWidth" : false,
"bPaginate" : true,
"sPaginationType" : "full_numbers",
"lengthMenu": [
[10, 25, 50, -1],
[10, 25, 50, "All"]
......@@ -70,6 +70,7 @@
'<div class="btn-group pull-left">',
' <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_close" class="btn btn btn-warning" type="button">Tutup</button>',
' &nbsp;',
'</div>',
];
......@@ -95,6 +96,11 @@
window.location = oFormUrl+'add';
});
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () {
if (mID) {
var hapus = confirm('Hapus data ini?');
......
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550">
<h3>Tambah Jabatan</h3>
<h4>Tambah Jabatan</h4>
<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>
</html>
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550">
<h3>Edit Jabatan</h3>
<h4>Edit Jabatan</h4>
<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>
</html>
......@@ -39,17 +39,17 @@
var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () {
oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl,
"bServerSide": true,
"bProcessing": true,
"sDom": '<"toolbar">lfrtip',
"bScrollCollapse": true,
"bSort": true,
"bInfo": false,
"bFilter": true,
"bAutoWidth": false,
"bPaginate": true,
"sPaginationType": "full_numbers",
"sAjaxSource" : oTableUrl,
"bServerSide" : true,
"bProcessing" : true,
"sDom" : '<"toolbar">lfrtip',
"bScrollCollapse" : true,
"bSort" : true,
"bInfo" : false,
"bFilter" : true,
"bAutoWidth" : false,
"bPaginate" : true,
"sPaginationType" : "full_numbers",
"lengthMenu": [
[10, 25, 50, -1],
[10, 25, 50, "All"]
......@@ -71,7 +71,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">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;',
'</div>',
];
......@@ -109,6 +110,10 @@
window.open(url);
});
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () {
if (mID) {
var hapus = confirm('Hapus data ini?');
......
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550">
<h3>Tambah Obyek Bayar</h3>
<h4>Tambah Objek</h4>
<hr>
<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 tal:repeat="field form">
<div class="form-group" 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 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}">
${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>
<!--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>
<!--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">
<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>
<div class="form-group">
<div class="col-md-offset-2">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default "
value="batal">Batal</button>
</div>
</div>
</fieldset>
</form>
......
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550">
<h3>Edit Obyek Bayar</h3>
<h3>Edit Obyek</h3>
<hr>
<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 tal:repeat="field form">
<div class="form-group" 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 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}">
${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>
<!--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>
<!--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">
<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>
<div class="form-group">
<div class="col-md-offset-2">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default "
value="batal">Batal</button>
</div>
</div>
</fieldset>
</form>
......
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content">
<link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet">
<link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet">
<h4>Objek</h4>
<hr>
<div class="container">
......@@ -42,17 +40,17 @@
var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () {
oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl,
"bServerSide": true,
"bProcessing": true,
"sDom": '<"toolbar">lfrtip',
"bScrollCollapse": true,
"bSort": true,
"bInfo": false,
"bFilter": true,
"bAutoWidth": false,
"bPaginate": true,
"sPaginationType": "full_numbers",
"sAjaxSource" : oTableUrl,
"bServerSide" : true,
"bProcessing" : true,
"sDom" : '<"toolbar">lfrtip',
"bScrollCollapse" : true,
"bSort" : true,
"bInfo" : false,
"bFilter" : true,
"bAutoWidth" : false,
"bPaginate" : true,
"sPaginationType" : "full_numbers",
"lengthMenu": [
[10, 25, 50, -1],
[10, 25, 50, "All"]
......@@ -77,7 +75,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">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;',
'</div>',
];
......@@ -114,6 +113,11 @@
url = "/reports/act/r010"
window.open(url);
});
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () {
if (mID) {
var hapus = confirm('Hapus data ini?');
......
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550">
<h3>Tambah Pajak</h3>
<h4>Tambah Tarif</h4>
<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>
</html>
......@@ -6,7 +6,7 @@
<h3 class="panel-title">Warning</h3>
</div>
<div class="panel-body">
Hapus pegawai ID #${row.id} ${row.nama} ?
Hapus tarif ID #${row.id} ${row.nama} ?
</div>
</div>
......
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550">
<h3>Edit Pegawai</h3>
<h4>Edit Tarif</h4>
<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>
</html>
......@@ -4,7 +4,7 @@
<link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet">
<link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet">
<h4>Pajak dan Tarif</h4>
<h4>Tarif</h4>
<hr>
<div class="container">
<!--form class="form-inline" role="form" id="frm_upload" name="frm_upload">
......@@ -43,23 +43,25 @@
var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () {
oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl,
"bServerSide": true,
"bProcessing": true,
"sDom": '<"toolbar">lfrtip',
"bScrollCollapse": true,
"bSort": true,
"bInfo": false,
"bFilter": true,
"bAutoWidth": false,
"bPaginate": true,
"sPaginationType": "full_numbers",
"sAjaxSource" : oTableUrl,
"bServerSide" : true,
"bProcessing" : true,
"sDom" : '<"toolbar">lfrtip',
"bScrollCollapse" : true,
"bSort" : true,
"bInfo" : false,
"bFilter" : true,
"bAutoWidth" : false,
"bPaginate" : true,
"sPaginationType" : "full_numbers",
"lengthMenu": [
[10, 25, 50, -1],
[10, 25, 50, "All"]
],
"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": [
......@@ -78,7 +80,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">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;',
'</div>',
];
......@@ -115,6 +118,11 @@
window.open(url);
});
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () {
if (mID) {
var hapus = confirm('Hapus data ini?');
......
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550">
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<h3>Registrasi e-PAP</h3>
<h4>Registrasi e-PAP</h4>
<hr>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
......@@ -15,34 +13,74 @@
{structure:field.serialize()}
</div>
</div>
<div class="form-group">
<div class="form-group" tal:repeat="field form" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-4" id="req-${field.oid}">
${field.title}</label>
<div class="col-md-8">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
<div class="col-md-12">
<!--no_skpd ------------------------------->
<div class="form-group" tal:define="field form['no_skpd']" 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="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()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</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>
<!--g-recaptcha ------------------------------->
<div class="form-group">
<div class="col-md-offset-4">
<div class="g-recaptcha" data-sitekey="6LcGLQATAAAAABtqq0J20BATKsZPGXwBVj6i5zk_"></div>
</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 class="form-group">
<div class="col-md-offset-4">
<div class="g-recaptcha" data-sitekey="6LcGLQATAAAAABtqq0J20BATKsZPGXwBVj6i5zk_"></div>
</div>
</div>
<div class="col-md-offset-2">
<div class="form-group">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default "
value="batal">Batal</button>
</div>
</div>
</fieldset>
</form>
......
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550">
<h3>Tambah Pegawai</h3>
<h4>Tambah Pegawai</h4>
<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>
</html>
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550">
<h3>Edit Pegawai</h3>
<h4>Edit Pegawai</h4>
<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>
</html>
......@@ -20,10 +20,9 @@
<th>ID</th>
<th>NIP</th>
<th>Nama</th>
<th>SKPD</th>
<th>OPD</th>
<th>Jabatan</th>
<th>Status</th>
</tr>
</thead>
<tbody>
......@@ -42,28 +41,30 @@
var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () {
oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl,
"bServerSide": true,
"bProcessing": true,
"sDom": '<"toolbar">lfrtip',
"bScrollCollapse": true,
"bSort": true,
"bInfo": false,
"bFilter": true,
"bAutoWidth": false,
"bPaginate": true,
"sPaginationType": "full_numbers",
"sAjaxSource" : oTableUrl,
"bServerSide" : true,
"bProcessing" : true,
"sDom" : '<"toolbar">lfrtip',
"bScrollCollapse" : true,
"bSort" : true,
"bInfo" : false,
"bFilter" : true,
"bAutoWidth" : false,
"bPaginate" : true,
"sPaginationType" : "full_numbers",
"lengthMenu": [
[10, 25, 50, -1],
[10, 25, 50, "All"]
],
"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": [
null,
{"sWidth": "100px", "sClass": "left"},
{"sWidth": "100px", "sClass": "left"},
null,
null,
null,
......@@ -76,7 +77,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">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;',
'</div>',
];
......@@ -113,6 +115,11 @@
url = "/reports/act/r005"
window.open(url);
});
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () {
if (mID) {
var hapus = confirm('Hapus data ini?');
......@@ -127,5 +134,4 @@
</script>
</div>
</html>
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550">
<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>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
......@@ -13,34 +14,76 @@
{structure:field.serialize()}
</div>
</div>
<div class="form-group">
<div class="form-group" tal:repeat="field form" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-4" id="req-${field.oid}">
${field.title}</label>
<div class="col-md-8">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
<div class="col-md-12">
<!--no_rangka ------------------------------->
<div class="form-group" tal:define="field form['no_rangka']" 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>
<!--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()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</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>
<!--g-recaptcha ------------------------------->
<div class="form-group">
${private_key}
<div class="col-md-offset-4" tal:condition="1">
<div class="g-recaptcha" data-sitekey="${private_key}"></div>
</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 class="form-group">
<div class="col-md-offset-4">
<div class="g-recaptcha" data-sitekey="6LcGLQATAAAAABtqq0J20BATKsZPGXwBVj6i5zk_"></div>
</div>
</div>
<div class="col-md-offset-2">
<div class="form-group">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default "
value="batal">Batal</button>
</div>
</div>
</fieldset>
</form>
</div>
......
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550">
<h4>Tambah Kode Rekening</h4>
<hr>
<!--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>
<!--level_id ------------------------------->
<div class="form-group" tal:define="field form['level_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>
<!--is_summary ------------------------------->
<div class="form-group" tal:define="field form['is_summary']" 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>
</html>
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content">
<div class="panel panel-danger">
<div class="panel-heading">
<h3 class="panel-title">Warning</h3>
</div>
<div class="panel-body">
Hapus Kode Rekening ID #${row.id} ${row.kode} ?
</div>
</div>
<div tal:content="structure form"/>
</div>
</html>
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550">
<h4>Edit Kode Rekening</h4>
<hr>
<!--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>
<!--level_id ------------------------------->
<div class="form-group" tal:define="field form['level_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>
<!--is_summary ------------------------------->
<div class="form-group" tal:define="field form['is_summary']" 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>
</html>
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content">
<link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet">
<link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet">
<h4>Kode Rekening</h4>
<hr>
<!--div class="container">
<form class="form-inline" role="form" id="frm_upload" name="frm_upload">
<label for="upload" class="control-label">Upload:</label>
<input type="text" class="form-control" id="upload">
<button type="submit" class="btn btn-default">Upload</button>
</form>
</div>
<p-->
<table id="table1" name="table1" class="table table-bordered table-hover table-condensed" >
<thead>
<tr>
<th>ID</th>
<th>Kode</th>
<th>Uraian</th>
<th>Level</th>
<th>Header</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<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.dataTables.ext.js"></script>
<script src="/static/datatables/extensions/TableTools/media/js/ZeroClipboard.js"></script>
<script src="/static/datatables/media/js/dataTables.bootstrap.js"></script>
<script>
var mID;
var oTable;
var iPos;
var oFormUrl = "/rekening/";
var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () {
oTable = $('#table1').dataTable({
"sAjaxSource" : oTableUrl,
"bServerSide" : true,
"bProcessing" : true,
"sDom" : '<"toolbar">lfrtip',
"bScrollCollapse" : true,
"bSort" : true,
"bInfo" : false,
"bFilter" : true,
"bAutoWidth" : false,
"bPaginate" : true,
"sPaginationType" : "full_numbers",
"lengthMenu": [
[10, 25, 50, -1],
[10, 25, 50, "All"]
],
"aoColumnDefs": [
{"bSearchable": false, "bVisible": false, "aTargets": [0]}
],
"aoColumns": [
null,
{"sWidth": "50px" },
null,
{"sWidth": "50px", "sClass": "center"},
{"sWidth": "50px", "sClass": "center"}
],
});
var tb_array = [
'<div class="btn-group pull-left">',
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Cetak</button>',
' <button id="btn_close" class="btn btn btn-warning" type="button">Tutup</button>',
' &nbsp;',
'</div>',
];
var tb = tb_array.join(' ');
$("div.toolbar").html(tb);
$('#table1 tbody').on('click', 'tr', function () {
if ($(this).hasClass('selected')) {
mID = '';
$(this).removeClass('selected');
} else {
iPos = oTable.fnGetPosition(this);
var aData = oTable.fnGetData(iPos);
mID = aData[0];
oTable.$('tr.selected').removeClass('selected');
$(this).addClass('selected');
}
});
$('#btn_tambah').click(function () {
window.location = oFormUrl+'add';
});
$('#btn_edit').click(function () {
if (mID) {
window.location = oFormUrl+mID+'/edit';
} else {
alert('Silahkan pilih data yang akan diedit');
}
});
$('#btn_print').click(function () {
url = "/reports/act/r006"
window.open(url);
});
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () {
if (mID) {
var hapus = confirm('Hapus data ini?');
if (hapus == true) {
window.location = oFormUrl+mID+'/delete';
};
} else {
alert('Silahkan pilih data yang akan dihapus');
}
});
});
</script>
</div>
</html>
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!