Commit aa2db121 by aagusti

Update all tanggal 29 April 2015

1 parent 581c23a9
Showing 104 changed files with 3325 additions and 386 deletions
File mode changed
File mode changed
File mode changed
File mode changed
File mode changed
File mode changed
No preview for this file type
...@@ -116,7 +116,6 @@ class Group(GroupMixin, Base, CommonModel): ...@@ -116,7 +116,6 @@ class Group(GroupMixin, Base, CommonModel):
class GroupPermission(GroupPermissionMixin, Base): class GroupPermission(GroupPermissionMixin, Base):
pass pass
class UserGroup(UserGroupMixin, Base): class UserGroup(UserGroupMixin, Base):
@classmethod @classmethod
def get_by_email(cls, email): def get_by_email(cls, email):
...@@ -212,7 +211,7 @@ class User(UserMixin, BaseModel, CommonModel, Base): ...@@ -212,7 +211,7 @@ class User(UserMixin, BaseModel, CommonModel, Base):
@classmethod @classmethod
def get_by_name(cls, name): 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 @classmethod
def get_by_identity(cls, identity): def get_by_identity(cls, identity):
......
<?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
...@@ -18,11 +18,11 @@ id,kode,nama,path,factory,perm_name,disabled,created,updated,create_uid ...@@ -18,11 +18,11 @@ id,kode,nama,path,factory,perm_name,disabled,created,updated,create_uid
18,"pkb-add","Tambah Pajak Kendaraan Bermotor","/pkb/add",,"add",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 19,"pap","Pajak Air Permukaan","/pap",,"read",0,"2015-03-08 16:45:45",,1
20,"pap-add","Pajak Air Permukaan","/pap/add",,"add",0,"2015-03-08 16:45:45",,1 20,"pap-add","Pajak Air Permukaan","/pap/add",,"add",0,"2015-03-08 16:45:45",,1
26,"coa","Rekening","/coa",,"read",0,"2015-03-08 16:45:45",,1 26,"rekening","Rekening","/rekening",,"read",0,"2015-03-08 16:45:45",,1
27,"coa-act","Baca Rekening","/coa/{act}/act",,"read",0,"2015-03-08 16:45:45",,1 27,"rekening-act","Baca Rekening","/rekening/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
28,"coa-add","Tambah Rekening","/coa/add",,"add",0,"2015-03-08 16:45:45",,1 28,"rekening-add","Tambah Rekening","/rekening/add",,"add",0,"2015-03-08 16:45:45",,1
29,"coa-edit","Edit Rekening","/coa/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1 29,"rekening-edit","Edit Rekening","/rekening/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
40,"coa-delete","Hapus Rekening","/coa/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1 40,"rekening-delete","Hapus Rekening","/rekening/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
41,"skpd","SKPD/Unit","/skpd",,"read",0,"2015-03-08 16:45:45",,1 41,"skpd","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 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 43,"skpd-add","Tambah SKPD/Unit","/skpd/add",,"add",0,"2015-03-08 16:45:45",,1
...@@ -50,23 +50,23 @@ id,kode,nama,path,factory,perm_name,disabled,created,updated,create_uid ...@@ -50,23 +50,23 @@ id,kode,nama,path,factory,perm_name,disabled,created,updated,create_uid
65,"wp","Wajib Pajak","/wp",,"read",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 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 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 68,"wp-edit","Edit Wajib Pajak","/wp/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
69,"op","Objek Pajak","/op",,"read",0,"2015-03-08 16:45:45",,1 69,"wp-delete","Hapus Wajib Pajak","/wp/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
70,"op-act","Baca Objek Pajak","/op/{act}/act",,"read",0,"2015-03-08 16:45:45",,1 70,"op","Objek Pajak","/op",,"read",0,"2015-03-08 16:45:45",,1
71,"op-add","Tambah Objek Pajak","/op/add",,"add",0,"2015-03-08 16:45:45",,1 71,"op-act","Baca Objek Pajak","/op/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
72,"op-edit","Edit Objek Pajak","/op/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1 72,"op-add","Tambah Objek Pajak","/op/add",,"add",0,"2015-03-08 16:45:45",,1
73,"op-delete","Hapus Objek Pajak","/op/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1 73,"op-edit","Edit Objek Pajak","/op/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
74,"arinvoice","Reg. Bayar","/arinvoice",,"read",0,"2015-03-08 16:45:45",,1 74,"op-delete","Hapus Objek Pajak","/op/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
75,"arinvoice-act","Register Action","/arinvoice/{act}/act",,"read",0,"2015-03-08 16:45:45",,1 75,"arinvoice","Reg. Bayar","/arinvoice",,"read",0,"2015-03-08 16:45:45",,1
76,"arinvoice-add","Tambah Reg. Bayar","/arinvoice/add",,"add",0,"2015-03-08 16:45:45",,1 76,"arinvoice-act","Register Action","/arinvoice/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
77,"arinvoice-edit","Edit Reg. Bayar","/arinvoice/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1 77,"arinvoice-add","Tambah Reg. Bayar","/arinvoice/add",,"add",0,"2015-03-08 16:45:45",,1
78,"arinvoice-delete","Hapus Reg. Bayar","/arinvoice/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1 78,"arinvoice-edit","Edit Reg. Bayar","/arinvoice/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
79,"arsspd","Penerimaan","/arsspd",,"read",0,"2015-03-08 16:45:45",,1 79,"arinvoice-delete","Hapus Reg. Bayar","/arinvoice/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
80,"arsspd-act","Baca SSPD","/arsspd/{act}/act",,"read",0,"2015-03-08 16:45:45",,1 80,"arsspd","Penerimaan","/arsspd",,"read",0,"2015-03-08 16:45:45",,1
81,"arsspd-add","Tambah Penerimaan","/arsspd/add",,"add",0,"2015-03-08 16:45:45",,1 81,"arsspd-act","Baca SSPD","/arsspd/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
82,"arsspd-edit","Edit Penerimaaan","/arsspd/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1 82,"arsspd-add","Tambah Penerimaan","/arsspd/add",,"add",0,"2015-03-08 16:45:45",,1
83,"arsspd-delete","Hapus Penerimaan","/arsspd/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1 83,"arsspd-edit","Edit Penerimaaan","/arsspd/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1
84,"wp-edit","Edit Wajib Pajak","/wp/{id}/edit",,"edit",0,"2015-03-08 16:45:45",,1 84,"arsspd-delete","Hapus Penerimaan","/arsspd/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
85,"wilayah-delete","Hapus Wilayah","/wilayah/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1 85,"wilayah-delete","Hapus Wilayah","/wilayah/{id}/delete",,"delete",0,"2015-03-08 16:45:45",,1
86,"usergroup","User Group","/usergroup",,"read",0,"2015-03-08 16:45:45",,1 86,"usergroup","User Group","/usergroup",,"read",0,"2015-03-08 16:45:45",,1
87,"usergroup-act","User Group Action","/usergroup/{act}/act",,"read",0,"2015-03-08 16:45:45",,1 87,"usergroup-act","User Group Action","/usergroup/{act}/act",,"read",0,"2015-03-08 16:45:45",,1
......
File mode changed

887 Bytes | W: | H:

887 Bytes | W: | H:

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

58.1 KB | W: | H:

58.1 KB | W: | H:

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

468 KB | W: | H:

468 KB | W: | H:

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

13.3 KB | W: | H:

13.3 KB | W: | H:

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

21.5 KB | W: | H:

21.5 KB | W: | H:

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

13.5 KB | W: | H:

13.5 KB | W: | H:

esipkd/static/img/web-r.png
esipkd/static/img/web-r.png
esipkd/static/img/web-r.png
esipkd/static/img/web-r.png
  • 2-up
  • Swipe
  • Onion skin
File mode changed
...@@ -36,7 +36,7 @@ from daftar import (STATUS, deferred_status, ...@@ -36,7 +36,7 @@ from daftar import (STATUS, deferred_status,
daftar_wilayah, deferred_wilayah, daftar_wilayah, deferred_wilayah,
daftar_unit, deferred_unit, daftar_unit, deferred_unit,
daftar_pajak, deferred_pajak, daftar_pajak, deferred_pajak,
auto_op_nm auto_op_nm, auto_unit_nm, auto_wp_nm
) )
######## ########
# List # # List #
...@@ -83,32 +83,34 @@ class AddSchema(colander.Schema): ...@@ -83,32 +83,34 @@ class AddSchema(colander.Schema):
unit_nm = colander.SchemaNode( unit_nm = colander.SchemaNode(
colander.String(), colander.String(),
title="SKPD", title="SKPD",
#widget=auto_unit_nm,
oid="unit_nm" oid="unit_nm"
) )
subjek_pajak_id = colander.SchemaNode( subjek_pajak_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=widget.HiddenWidget(), widget=widget.HiddenWidget(),
title="Subjek Pajak", title="Subjek Bayar",
oid = "subjek_pajak_id" oid = "subjek_pajak_id"
) )
subjek_pajak_nm = colander.SchemaNode( subjek_pajak_nm = colander.SchemaNode(
colander.String(), colander.String(),
title="Subjek Pajak", #widget=auto_wp_nm,
title="Subjek Bayar",
oid = "subjek_pajak_nm" oid = "subjek_pajak_nm"
) )
objek_pajak_id = colander.SchemaNode( objek_pajak_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
title="Objek Pajak", title="Objek Bayar",
widget=widget.HiddenWidget(), widget=widget.HiddenWidget(),
oid = "objek_pajak_id" oid = "objek_pajak_id"
) )
objek_pajak_nm = colander.SchemaNode( objek_pajak_nm = colander.SchemaNode(
colander.String(), colander.String(),
widget=auto_op_nm, widget=auto_op_nm,
title="Objek Pajak", title="Objek Bayar",
oid = "objek_pajak_nm" oid = "objek_pajak_nm"
) )
...@@ -213,10 +215,19 @@ def save(values, row=None): ...@@ -213,10 +215,19 @@ def save(values, row=None):
row.op_nama = ref.nama row.op_nama = ref.nama
row.op_alamat_1 = ref.alamat_1 row.op_alamat_1 = ref.alamat_1
row.op_alamat_2 = ref.alamat_2 row.op_alamat_2 = ref.alamat_2
row.wilayah_id = ref.wilayah_id
row.rekening_id = ref.pajaks.rekening_id row.rekening_id = ref.pajaks.rekening_id
row.rek_kode = ref.pajaks.rekenings.kode row.rek_kode = ref.pajaks.rekenings.kode
row.rek_nama = ref.pajaks.rekenings.nama row.rek_nama = ref.pajaks.rekenings.nama
ref = Wilayah.get_by_id(row.wilayah_id)
row.wilayah_kode = ref.kode
prefix = '11'
tanggal = datetime.now().strftime('%d')
bulan = datetime.now().strftime('%m')
tahun = datetime.now().strftime('%y')
if not row.kode and not row.no_id: if not row.kode and not row.no_id:
invoice_no = DBSession.query(func.max(ARInvoice.no_id)).\ invoice_no = DBSession.query(func.max(ARInvoice.no_id)).\
filter(ARInvoice.tahun_id==row.tahun_id, filter(ARInvoice.tahun_id==row.tahun_id,
...@@ -225,8 +236,11 @@ def save(values, row=None): ...@@ -225,8 +236,11 @@ def save(values, row=None):
row.no_id = 1 row.no_id = 1
else: else:
row.no_id = invoice_no+1 row.no_id = invoice_no+1
row.kode = "".join([str(row.tahun_id), re.sub("[^0-9]", "", row.unit_kode), row.kode = "".join([prefix, "-",re.sub("[^0-9]", "", row.wilayah_kode),
str(row.no_id).rjust(6,'0')]) "-", str(tanggal).rjust(2,'0'),
str(bulan).rjust(2,'0'),
str(tahun).rjust(2,'0'),
"-", str(row.no_id).rjust(4,'0')])
#if values['password']: #if values['password']:
# row.password = values['password'] # row.password = values['password']
DBSession.add(row) DBSession.add(row)
...@@ -258,6 +272,18 @@ def view_add(request): ...@@ -258,6 +272,18 @@ def view_add(request):
if request.POST: if request.POST:
if 'simpan' in request.POST: if 'simpan' in request.POST:
controls = request.POST.items() controls = request.POST.items()
controls_dicted = dict(controls)
# Cek Kode
if not controls_dicted['kode']=='':
a = form.validate(controls)
b = a['kode']
c = "%s" % b
cek = DBSession.query(ARInvoice).filter(ARInvoice.kode==c).first()
if cek :
request.session.flash('Kode Bayar %s sudah digunakan.' % b, 'error')
return HTTPFound(location=request.route_url('arinvoice-add'))
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
...@@ -287,12 +313,27 @@ def id_not_found(request): ...@@ -287,12 +313,27 @@ def id_not_found(request):
permission='edit') permission='edit')
def view_edit(request): def view_edit(request):
row = query_id(request).first() row = query_id(request).first()
uid = row.id
kode = row.kode
if not row: if not row:
return id_not_found(request) return id_not_found(request)
form = get_form(request, EditSchema) form = get_form(request, EditSchema)
if request.POST: if request.POST:
if 'simpan' in request.POST: if 'simpan' in request.POST:
controls = request.POST.items() controls = request.POST.items()
# Cek kode
a = form.validate(controls)
b = a['kode']
c = "%s" % b
cek = DBSession.query(ARInvoice).filter(ARInvoice.kode==c).first()
if cek:
kode1 = DBSession.query(ARInvoice).filter(ARInvoice.id==uid).first()
d = kode1.kode
if d!=c:
request.session.flash('Kode Bayar %s sudah digunakan' % b, 'error')
return HTTPFound(location=request.route_url('arinvoice-edit',id=row.id))
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
......
...@@ -404,3 +404,4 @@ def view_act(request): ...@@ -404,3 +404,4 @@ def view_act(request):
rowTable = DataTables(req, ARSspd, query, columns) rowTable = DataTables(req, ARSspd, query, columns)
return rowTable.output_result() return rowTable.output_result()
...@@ -253,7 +253,7 @@ def view_act(request): ...@@ -253,7 +253,7 @@ def view_act(request):
columns.append(ColumnDT('id')) columns.append(ColumnDT('id'))
columns.append(ColumnDT('kode')) columns.append(ColumnDT('kode'))
columns.append(ColumnDT('nama')) columns.append(ColumnDT('nama'))
columns.append(ColumnDT('jumlah')) #columns.append(ColumnDT('jumlah'))
columns.append(ColumnDT('jumlah', filter=_DTnumberformat)) columns.append(ColumnDT('jumlah', filter=_DTnumberformat))
columns.append(ColumnDT('units.nama')) columns.append(ColumnDT('units.nama'))
......
...@@ -72,14 +72,17 @@ def query_invoice_id(id): ...@@ -72,14 +72,17 @@ def query_invoice_id(id):
@view_config(route_name='arstsitem-add', renderer='templates/arstsitem/add.pt', @view_config(route_name='arstsitem-add', renderer='templates/arstsitem/add.pt',
permission='add') permission='add')
def view_add(request): def view_add(request):
if 'all' == request.matchdict['id']: #Nambahin kondisi balik ke sts
if 'balik' == request.matchdict['id']:
return route_list(request)
elif 'all' == request.matchdict['id']:
rows = DBSession.query(ARSspd).join(ARInvoice).\ rows = DBSession.query(ARSspd).join(ARInvoice).\
filter( ARInvoice.unit_id==request.session['unit_id'], filter( ARInvoice.unit_id==request.session['unit_id'],
ARSspd.posted==0).all() ARSspd.posted==0).all()
else: else:
rows = DBSession.query(ARSspd).join(ARInvoice).\ rows = DBSession.query(ARSspd).join(ARInvoice).\
filter( ARInvoice.unit_id==request.session['unit_id'], filter( ARInvoice.unit_id==request.session['unit_id'],
ARSspd.id == request.matchdict['id'], ARSspd.id == request.matchdict['id'],
ARSspd.posted==0).all() ARSspd.posted==0).all()
for row in rows: for row in rows:
items=ARStsItem() items=ARStsItem()
...@@ -146,7 +149,6 @@ def view_delete(request): ...@@ -146,7 +149,6 @@ def view_delete(request):
DBSession.add(q) DBSession.add(q)
DBSession.flush() DBSession.flush()
request.session.flash(msg) request.session.flash(msg)
return route_list(request) return route_list(request)
############# #############
...@@ -156,7 +158,7 @@ def query_sts_id(request): ...@@ -156,7 +158,7 @@ def query_sts_id(request):
return DBSession.query(ARSts).filter_by(id=request.matchdict['id']) return DBSession.query(ARSts).filter_by(id=request.matchdict['id'])
@view_config(route_name='arstsitem-list', renderer='templates/arstsitem/list.pt', @view_config(route_name='arstsitem-list', renderer='templates/arstsitem/list.pt',
permission='read') permission='add')
def view_list(request): def view_list(request):
q = query_sts_id(request) q = query_sts_id(request)
row = q.first() row = q.first()
...@@ -165,6 +167,7 @@ def view_list(request): ...@@ -165,6 +167,7 @@ def view_list(request):
request.session['unit_id'] = row.unit_id request.session['unit_id'] = row.unit_id
request.session['sts_id'] = row.id request.session['sts_id'] = row.id
#TODO validate user_unit #TODO validate user_unit
"""if request.POST: """if request.POST:
if 'delete' in request.POST: if 'delete' in request.POST:
msg = 'Penerimaan ID %d %s sudah dihapus.' % (row.id, row.kode) msg = 'Penerimaan ID %d %s sudah dihapus.' % (row.id, row.kode)
...@@ -174,7 +177,7 @@ def view_list(request): ...@@ -174,7 +177,7 @@ def view_list(request):
return route_list(request) return route_list(request)
""" """
return dict(row={}) return dict(row={})
########## ##########
# Action # # Action #
########## ##########
...@@ -202,8 +205,11 @@ def view_act(request): ...@@ -202,8 +205,11 @@ def view_act(request):
rowTable = DataTables(req, ARSspd, query, columns) rowTable = DataTables(req, ARSspd, query, columns)
return rowTable.output_result() return rowTable.output_result()
elif url_dict['act']=='grid': elif url_dict['act']=='grid':
#Nambahin param sts_id untuk percobaan sementara, karena session sts_id tidak jalan
sts_id = 'sts_id' in params and params['sts_id'] or 0
print'ssssssssssssssssssssssssssssssssssssssss',sts_id
columns = [] columns = []
columns.append(ColumnDT('sspd_id')) columns.append(ColumnDT('sspd_id'))
columns.append(ColumnDT('sts_id')) columns.append(ColumnDT('sts_id'))
...@@ -213,8 +219,7 @@ def view_act(request): ...@@ -213,8 +219,7 @@ def view_act(request):
columns.append(ColumnDT('jumlah', filter=_DTnumberformat)) columns.append(ColumnDT('jumlah', filter=_DTnumberformat))
query = DBSession.query(ARStsItem).join(Rekening).\ query = DBSession.query(ARStsItem).join(Rekening).\
filter(ARStsItem.sts_id==request.session['sts_id']) filter(ARStsItem.sts_id==sts_id)#request.session['sts_id'])
rowTable = DataTables(req, ARStsItem, query, columns) rowTable = DataTables(req, ARStsItem, query, columns)
return rowTable.output_result() return rowTable.output_result()
\ No newline at end of file \ No newline at end of file
...@@ -240,7 +240,7 @@ def daftar_route(): ...@@ -240,7 +240,7 @@ def daftar_route():
r.append(d) r.append(d)
return r return r
## Kumpulan Headofkode & Headofname
auto_unit_nm = widget.AutocompleteInputWidget( auto_unit_nm = widget.AutocompleteInputWidget(
size=60, size=60,
values = '/skpd/hon/act', values = '/skpd/hon/act',
...@@ -260,4 +260,28 @@ auto_op_nm = widget.AutocompleteInputWidget( ...@@ -260,4 +260,28 @@ auto_op_nm = widget.AutocompleteInputWidget(
size=60, size=60,
values = '/op/hon/act', values = '/op/hon/act',
min_length=1) min_length=1)
\ No newline at end of file \ 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 \ No newline at end of file
...@@ -14,7 +14,9 @@ from deform import ( ...@@ -14,7 +14,9 @@ from deform import (
) )
from ..models import ( from ..models import (
DBSession, DBSession,
Group Group,
UserGroup,
Route,
) )
from datatables import ( from datatables import (
...@@ -112,13 +114,14 @@ def view_add(request): ...@@ -112,13 +114,14 @@ def view_add(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_ADD_FAILED] = e.render() return dict(form=form)
#request.session[SESS_ADD_FAILED] = e.render()
return HTTPFound(location=request.route_url('group-add')) return HTTPFound(location=request.route_url('group-add'))
save_request(dict(controls), request) save_request(dict(controls), request)
return route_list(request) return route_list(request)
elif SESS_ADD_FAILED in request.session: elif SESS_ADD_FAILED in request.session:
return session_failed(request, SESS_ADD_FAILED) return session_failed(request, SESS_ADD_FAILED)
return dict(form=form.render()) return dict(form=form)#.render())
######## ########
# Edit # # Edit #
...@@ -144,7 +147,8 @@ def view_edit(request): ...@@ -144,7 +147,8 @@ def view_edit(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_EDIT_FAILED] = e.render() return dict(form=form)
#request.session[SESS_EDIT_FAILED] = e.render()
return HTTPFound(location=request.route_url('group-edit', return HTTPFound(location=request.route_url('group-edit',
id=row.id)) id=row.id))
save_request(dict(controls), request, row) save_request(dict(controls), request, row)
...@@ -152,7 +156,9 @@ def view_edit(request): ...@@ -152,7 +156,9 @@ def view_edit(request):
elif SESS_EDIT_FAILED in request.session: elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED) return session_failed(request, SESS_EDIT_FAILED)
values = row.to_dict() values = row.to_dict()
return dict(form=form.render(appstruct=values)) #print values
form.set_appstruct(values)
return dict(form=form)#.render(appstruct=values))
########## ##########
# Delete # # Delete #
...@@ -162,15 +168,22 @@ def view_edit(request): ...@@ -162,15 +168,22 @@ def view_edit(request):
def view_delete(request): def view_delete(request):
q = query_id(request) q = query_id(request)
row = q.first() row = q.first()
id = row.id
x = DBSession.query(UserGroup).filter(UserGroup.group_id==id).first()
if x:
request.session.flash('Tidak bisa dihapus, Karena datanya terpakai diusergroup.','error')
return route_list(request)
if not row: if not row:
return id_not_found(request) return id_not_found(request)
form = Form(colander.Schema(), buttons=('delete','cancel')) form = Form(colander.Schema(), buttons=('delete','cancel'))
if request.POST: if request.POST:
if 'delete' in request.POST: if 'delete' in request.POST:
msg = 'Group ID %d %s has been deleted.' % (row.id, row.group_name) msg = 'Group ID %d %s has been deleted.' % (row.id, row.group_name)
q.delete() q.delete()
DBSession.flush() DBSession.flush()
request.session.flash(msg) request.session.flash(msg)
return route_list(request) return route_list(request)
return dict(row=row, return dict(row=row,
form=form.render()) form=form.render())
...@@ -194,3 +207,34 @@ def view_act(request): ...@@ -194,3 +207,34 @@ def view_act(request):
query = DBSession.query(Group) query = DBSession.query(Group)
rowTable = DataTables(req, Group, query, columns) rowTable = DataTables(req, Group, query, columns)
return rowTable.output_result() return rowTable.output_result()
## Hon Group
elif url_dict['act']=='hon':
term = 'term' in params and params['term'] or ''
rows = DBSession.query(Group.id, Group.group_name
).filter(
Group.group_name.ilike('%%%s%%' % term) ).all()
r = []
for k in rows:
d={}
d['id'] = k[0]
d['value'] = k[1]
r.append(d)
return r
## Hon Route
elif url_dict['act']=='hon':
term = 'term' in params and params['term'] or ''
rows = DBSession.query(Route.id, Route.nama
).filter(
Route.nama.ilike('%{term}%'.format(term=term)),
Route.perm_name != None).\
order_by(Route.nama).all()
print rows
r = []
for k in rows:
d={}
d['id'] = k[0]
d['value'] = k[1]
r.append(d)
return r
\ No newline at end of file \ No newline at end of file
...@@ -20,14 +20,14 @@ from ..models import ( ...@@ -20,14 +20,14 @@ from ..models import (
) )
from datatables import ( from datatables import (
ColumnDT, DataTables) ColumnDT, DataTables)
from daftar import (daftar_route, deferred_route,
daftar_group, deferred_group
)
from esipkd.tools import DefaultTimeZone, _DTstrftime, _DTnumberformat, _DTactive from esipkd.tools import DefaultTimeZone, _DTstrftime, _DTnumberformat, _DTactive
SESS_ADD_FAILED = 'groupperm add failed' SESS_ADD_FAILED = 'groupperm add failed'
SESS_EDIT_FAILED = 'groupperm edit failed' SESS_EDIT_FAILED = 'groupperm edit failed'
from daftar import (daftar_route, deferred_route,
daftar_group, deferred_group, auto_group_nm, auto_route_nm
)
######## ########
# List # # List #
######## ########
...@@ -55,12 +55,28 @@ def form_validator(form, value): ...@@ -55,12 +55,28 @@ def form_validator(form, value):
class AddSchema(colander.Schema): class AddSchema(colander.Schema):
group_id = colander.SchemaNode( group_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=deferred_group, widget = deferred_group,
oid="group_id",
title="Group")
"""
group_nm = colander.SchemaNode(
colander.String(),
widget = auto_group_nm,
oid = 'group_nm',
title="Group") title="Group")
"""
route_id = colander.SchemaNode( route_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=deferred_route, widget = deferred_route,
oid="route_id",
title="Route") title="Route")
"""
route_nm = colander.SchemaNode(
colander.String(),
widget = auto_route_nm,
title ='Route',
oid = 'route_nm')
"""
def get_form(request, class_form): def get_form(request, class_form):
schema = class_form(validator=form_validator) schema = class_form(validator=form_validator)
...@@ -101,13 +117,14 @@ def view_add(request): ...@@ -101,13 +117,14 @@ def view_add(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_ADD_FAILED] = e.render() return dict(form=form)
#request.session[SESS_ADD_FAILED] = e.render()
return HTTPFound(location=request.route_url('groupperm-add')) return HTTPFound(location=request.route_url('groupperm-add'))
save_request(dict(controls), request) save_request(dict(controls), request)
return route_list(request) return route_list(request)
elif SESS_ADD_FAILED in request.session: elif SESS_ADD_FAILED in request.session:
return session_failed(request, SESS_ADD_FAILED) return session_failed(request, SESS_ADD_FAILED)
return dict(form=form.render()) return dict(form=form)#.render())
######## ########
# Edit # # Edit #
......
...@@ -15,6 +15,7 @@ from deform import ( ...@@ -15,6 +15,7 @@ from deform import (
from ..models import DBSession from ..models import DBSession
from ..models.isipkd import( from ..models.isipkd import(
Jabatan, Jabatan,
Pegawai
) )
from daftar import STATUS, deferred_status from daftar import STATUS, deferred_status
...@@ -22,6 +23,8 @@ from daftar import STATUS, deferred_status ...@@ -22,6 +23,8 @@ from daftar import STATUS, deferred_status
from datatables import ( from datatables import (
ColumnDT, DataTables) ColumnDT, DataTables)
from esipkd.tools import DefaultTimeZone, _DTstrftime, _DTnumberformat, _DTactive
SESS_ADD_FAILED = 'Gagal tambah jabatan' SESS_ADD_FAILED = 'Gagal tambah jabatan'
SESS_EDIT_FAILED = 'Gagal edit jabatan' SESS_EDIT_FAILED = 'Gagal edit jabatan'
...@@ -69,6 +72,12 @@ def form_validator(form, value): ...@@ -69,6 +72,12 @@ def form_validator(form, value):
elif found: elif found:
err_name() err_name()
# Widget Status
STATUS = (
(1, 'Aktif'),
(0, 'Inaktif'),
)
class AddSchema(colander.Schema): class AddSchema(colander.Schema):
kode = colander.SchemaNode( kode = colander.SchemaNode(
colander.String(), colander.String(),
...@@ -80,7 +89,8 @@ class AddSchema(colander.Schema): ...@@ -80,7 +89,8 @@ class AddSchema(colander.Schema):
status = colander.SchemaNode( status = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=deferred_status, #widget=deferred_status,
widget=widget.SelectWidget(values=STATUS),
title="Status") title="Status")
...@@ -131,13 +141,14 @@ def view_add(request): ...@@ -131,13 +141,14 @@ def view_add(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_ADD_FAILED] = e.render() return dict(form=form)
#request.session[SESS_ADD_FAILED] = e.render()
return HTTPFound(location=request.route_url('jabatan-add')) return HTTPFound(location=request.route_url('jabatan-add'))
save_request(dict(controls), request) save_request(dict(controls), request)
return route_list(request) return route_list(request)
elif SESS_ADD_FAILED in request.session: elif SESS_ADD_FAILED in request.session:
return session_failed(request, SESS_ADD_FAILED) return session_failed(request, SESS_ADD_FAILED)
return dict(form=form.render()) return dict(form=form)#.render())
######## ########
# Edit # # Edit #
...@@ -163,7 +174,8 @@ def view_edit(request): ...@@ -163,7 +174,8 @@ def view_edit(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_EDIT_FAILED] = e.render() return dict(form=form)
#request.session[SESS_EDIT_FAILED] = e.render()
return HTTPFound(location=request.route_url('jabatan-edit', return HTTPFound(location=request.route_url('jabatan-edit',
id=row.id)) id=row.id))
save_request(dict(controls), request, row) save_request(dict(controls), request, row)
...@@ -171,7 +183,9 @@ def view_edit(request): ...@@ -171,7 +183,9 @@ def view_edit(request):
elif SESS_EDIT_FAILED in request.session: elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED) return session_failed(request, SESS_EDIT_FAILED)
values = row.to_dict() values = row.to_dict()
return dict(form=form.render(appstruct=values)) #print values
form.set_appstruct(values)
return dict(form=form)#.render(appstruct=values))
########## ##########
# Delete # # Delete #
...@@ -181,15 +195,20 @@ def view_edit(request): ...@@ -181,15 +195,20 @@ def view_edit(request):
def view_delete(request): def view_delete(request):
q = query_id(request) q = query_id(request)
row = q.first() row = q.first()
id = row.id
if not row: if not row:
return id_not_found(request) return id_not_found(request)
form = Form(colander.Schema(), buttons=('delete','cancel')) form = Form(colander.Schema(), buttons=('delete','cancel'))
if request.POST: if request.POST:
if 'delete' in request.POST: if 'delete' in request.POST:
msg = 'Jabatan ID %d %s has been deleted.' % (row.id, row.kode) x = DBSession.query(Pegawai).filter(Pegawai.jabatan_id==id).first()
q.delete() if x:
DBSession.flush() request.session.flash('Tidak bisa dihapus, karena jabatan sudah terpakai.','error')
request.session.flash(msg) 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 route_list(request)
return dict(row=row, return dict(row=row,
form=form.render()) form=form.render())
...@@ -209,7 +228,7 @@ def view_act(request): ...@@ -209,7 +228,7 @@ def view_act(request):
columns.append(ColumnDT('id')) columns.append(ColumnDT('id'))
columns.append(ColumnDT('kode')) columns.append(ColumnDT('kode'))
columns.append(ColumnDT('nama')) columns.append(ColumnDT('nama'))
columns.append(ColumnDT('status')) columns.append(ColumnDT('status', filter=_DTactive))
query = DBSession.query(Jabatan) query = DBSession.query(Jabatan)
rowTable = DataTables(req, Jabatan, query, columns) rowTable = DataTables(req, Jabatan, query, columns)
return rowTable.output_result() return rowTable.output_result()
...@@ -200,7 +200,7 @@ def view_edit(request): ...@@ -200,7 +200,7 @@ def view_edit(request):
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
return dict(form=form) return dict(form=form)
save_request(dict(controls), request, row) save_request(dict(controls), request, row)
return route_list(request) return route_list(request)
elif SESS_EDIT_FAILED in request.session: elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED) return session_failed(request, SESS_EDIT_FAILED)
...@@ -250,6 +250,7 @@ def view_act(request): ...@@ -250,6 +250,7 @@ def view_act(request):
query = DBSession.query(ObjekPajak).join(SubjekPajak).join(Pajak).join(Wilayah) query = DBSession.query(ObjekPajak).join(SubjekPajak).join(Pajak).join(Wilayah)
rowTable = DataTables(req, ObjekPajak, query, columns) rowTable = DataTables(req, ObjekPajak, query, columns)
return rowTable.output_result() return rowTable.output_result()
elif url_dict['act']=='hon': elif url_dict['act']=='hon':
term = 'term' in params and params['term'] or '' term = 'term' in params and params['term'] or ''
rows = DBSession.query(ObjekPajak).\ rows = DBSession.query(ObjekPajak).\
......
...@@ -18,7 +18,7 @@ from ..models.isipkd import( ...@@ -18,7 +18,7 @@ from ..models.isipkd import(
Rekening Rekening
) )
from daftar import STATUS, deferred_status, daftar_rekening, deferred_rekening from daftar import STATUS, deferred_status, daftar_rekening, deferred_rekening, auto_rekening_nm
from datatables import ( from datatables import (
ColumnDT, DataTables) ColumnDT, DataTables)
...@@ -69,16 +69,21 @@ class AddSchema(colander.Schema): ...@@ -69,16 +69,21 @@ class AddSchema(colander.Schema):
colander.String()) colander.String())
nama = colander.SchemaNode( nama = colander.SchemaNode(
colander.String()) colander.String())
rekening_id = colander.SchemaNode( rekening_id = colander.SchemaNode(
colander.Integer(), colander.Integer(),
widget=deferred_rekening, widget = deferred_rekening,
oid="rekening_id",
title="Rekening")
"""
rekening_nm = colander.SchemaNode(
colander.String(),
widget=auto_rekening_nm,
oid="rekening_nm",
title="Rekening") title="Rekening")
"""
tahun = colander.SchemaNode( tahun = colander.SchemaNode(
colander.Integer(), colander.Integer(),
) )
tarif = colander.SchemaNode( tarif = colander.SchemaNode(
colander.Integer(), colander.Integer(),
title='Tarif (%)') title='Tarif (%)')
...@@ -136,13 +141,14 @@ def view_add(request): ...@@ -136,13 +141,14 @@ def view_add(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_ADD_FAILED] = e.render() return dict(form=form)
#request.session[SESS_ADD_FAILED] = e.render()
return HTTPFound(location=request.route_url('pajak-add')) return HTTPFound(location=request.route_url('pajak-add'))
save_request(dict(controls), request) save_request(dict(controls), request)
return route_list(request) return route_list(request)
elif SESS_ADD_FAILED in request.session: elif SESS_ADD_FAILED in request.session:
return session_failed(request, SESS_ADD_FAILED) return session_failed(request, SESS_ADD_FAILED)
return dict(form=form.render()) return dict(form=form)#.render())
######## ########
# Edit # # Edit #
...@@ -168,15 +174,21 @@ def view_edit(request): ...@@ -168,15 +174,21 @@ def view_edit(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_EDIT_FAILED] = e.render() return dict(form=form)
#request.session[SESS_EDIT_FAILED] = e.render()
return HTTPFound(location=request.route_url('pajak-edit', return HTTPFound(location=request.route_url('pajak-edit',
id=row.id)) id=row.id))
save_request(dict(controls), request, row) save_request(dict(controls), request, row)
return route_list(request) return route_list(request)
elif SESS_EDIT_FAILED in request.session: elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED) #return session_failed(request, SESS_EDIT_FAILED)
del request.session[SESS_EDIT_FAILED]
return dict(form=form)
values = row.to_dict() values = row.to_dict()
return dict(form=form.render(appstruct=values)) #values['rekening_nm'] =row.rekenings.nama
#print values
form.set_appstruct(values)
return dict(form=form)#.render(appstruct=values))
########## ##########
# Delete # # Delete #
......
...@@ -80,8 +80,8 @@ def session_failed(request, session_name): ...@@ -80,8 +80,8 @@ def session_failed(request, session_name):
@view_config(route_name='pap-add', renderer='templates/pap/add.pt', @view_config(route_name='pap-add', renderer='templates/pap/add.pt',
permission='view') permission='view')
def view_add(request): def view_add(request):
req = request
private_key = '6LcGLQATAAAAABtqq0J20BATKsZPGXwBVj6i5zk_' private_key = '6LcGLQATAAAAABtqq0J20BATKsZPGXwBVj6i5zk_'
req =request
form = get_form(request, AddSchema) form = get_form(request, AddSchema)
if request.POST: if request.POST:
if 'simpan' in request.POST: if 'simpan' in request.POST:
......
...@@ -26,6 +26,9 @@ from daftar import (STATUS, deferred_status, ...@@ -26,6 +26,9 @@ from daftar import (STATUS, deferred_status,
from datatables import ( from datatables import (
ColumnDT, DataTables) ColumnDT, DataTables)
from esipkd.tools import DefaultTimeZone, _DTstrftime, _DTnumberformat, _DTactive
SESS_ADD_FAILED = 'Gagal tambah pegawai' SESS_ADD_FAILED = 'Gagal tambah pegawai'
SESS_EDIT_FAILED = 'Gagal edit pegawai' SESS_EDIT_FAILED = 'Gagal edit pegawai'
...@@ -148,13 +151,14 @@ def view_add(request): ...@@ -148,13 +151,14 @@ def view_add(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_ADD_FAILED] = e.render() return dict(form=form)
#request.session[SESS_ADD_FAILED] = e.render()
return HTTPFound(location=request.route_url('pegawai-add')) return HTTPFound(location=request.route_url('pegawai-add'))
save_request(dict(controls), request) save_request(dict(controls), request)
return route_list(request) return route_list(request)
elif SESS_ADD_FAILED in request.session: elif SESS_ADD_FAILED in request.session:
return session_failed(request, SESS_ADD_FAILED) return session_failed(request, SESS_ADD_FAILED)
return dict(form=form.render()) return dict(form=form)#.render())
######## ########
# Edit # # Edit #
...@@ -180,7 +184,8 @@ def view_edit(request): ...@@ -180,7 +184,8 @@ def view_edit(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_EDIT_FAILED] = e.render() return dict(form=form)
#request.session[SESS_EDIT_FAILED] = e.render()
return HTTPFound(location=request.route_url('pegawai-edit', return HTTPFound(location=request.route_url('pegawai-edit',
id=row.id)) id=row.id))
save_request(dict(controls), request, row) save_request(dict(controls), request, row)
...@@ -188,7 +193,10 @@ def view_edit(request): ...@@ -188,7 +193,10 @@ def view_edit(request):
elif SESS_EDIT_FAILED in request.session: elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED) return session_failed(request, SESS_EDIT_FAILED)
values = row.to_dict() values = row.to_dict()
return dict(form=form.render(appstruct=values)) #print values
form.set_appstruct(values)
return dict(form=form)#.render(appstruct=values))
########## ##########
# Delete # # Delete #
...@@ -228,7 +236,7 @@ def view_act(request): ...@@ -228,7 +236,7 @@ def view_act(request):
columns.append(ColumnDT('nama')) columns.append(ColumnDT('nama'))
columns.append(ColumnDT('skpd')) columns.append(ColumnDT('skpd'))
columns.append(ColumnDT('jabatan')) columns.append(ColumnDT('jabatan'))
columns.append(ColumnDT('status')) columns.append(ColumnDT('status', filter=_DTactive))
query = DBSession.query(Pegawai.id, query = DBSession.query(Pegawai.id,
Pegawai.kode, Pegawai.kode,
......
...@@ -85,6 +85,8 @@ def session_failed(request, session_name): ...@@ -85,6 +85,8 @@ def session_failed(request, session_name):
@view_config(route_name='pkb-add', renderer='templates/pkb/add.pt', @view_config(route_name='pkb-add', renderer='templates/pkb/add.pt',
permission='view') permission='view')
def view_add(request): def view_add(request):
req = request
private_key = '6LcGLQATAAAAABtqq0J20BATKsZPGXwBVj6i5zk_'
form = get_form(request, AddSchema) form = get_form(request, AddSchema)
if request.POST: if request.POST:
if 'simpan' in request.POST: if 'simpan' in request.POST:
......
from email.utils import parseaddr
from sqlalchemy import not_
from pyramid.view import (
view_config,
)
from pyramid.httpexceptions import (
HTTPFound,
)
import colander
from deform import (
Form,
widget,
ValidationFailure,
)
from ..models import DBSession
from ..models.isipkd import(
Rekening,
)
from datatables import (
ColumnDT, DataTables)
SESS_ADD_FAILED = 'Gagal tambah rekening'
SESS_EDIT_FAILED = 'Gagal edit rekening'
########
# List #
########
@view_config(route_name='rekening', renderer='templates/rekening/list.pt',
permission='edit')
def view_list(request):
return dict(rows={})
#######
# Add #
#######
def email_validator(node, value):
name, email = parseaddr(value)
if not email or email.find('@') < 0:
raise colander.Invalid(node, 'Invalid email format')
def form_validator(form, value):
def err_kode():
raise colander.Invalid(form,
'Kode Rekening %s sudah digunakan oleh ID %d' % (
value['kode'], found.id))
def err_name():
raise colander.Invalid(form,
'Uraian %s sudah digunakan oleh ID %d' % (
value['nama'], found.id))
if 'id' in form.request.matchdict:
uid = form.request.matchdict['id']
q = DBSession.query(Rekening).filter_by(id=uid)
r = q.first()
else:
r = None
q = DBSession.query(Rekening).filter_by(kode=value['kode'])
found = q.first()
if r:
if found and found.id != r.id:
err_kode()
elif found:
err_email()
if 'nama' in value: # optional
found = Rekening.get_by_nama(value['nama'])
if r:
if found and found.id != r.id:
err_name()
elif found:
err_name()
@colander.deferred
def deferred_summary(node, kw):
values = kw.get('daftar_summary', [])
return widget.SelectWidget(values=values)
SUMMARIES = (
(1, 'Header'),
(0, 'Detail'),
)
class AddSchema(colander.Schema):
kode = colander.SchemaNode(
colander.String(),
)
nama = colander.SchemaNode(
colander.String(),
missing=colander.drop)
level_id = colander.SchemaNode(
colander.Integer())
is_summary = colander.SchemaNode(
colander.Integer(),
widget=widget.SelectWidget(values=SUMMARIES),
title="Header")
class EditSchema(AddSchema):
id = colander.SchemaNode(colander.Integer(),
missing=colander.drop,
widget=widget.HiddenWidget(readonly=True))
def get_form(request, class_form):
schema = class_form(validator=form_validator)
schema = schema.bind(daftar_summary=SUMMARIES)
schema.request = request
return Form(schema, buttons=('simpan','batal'))
def save(values, row=None):
if not row:
row = Rekening()
row.from_dict(values)
#if values['password']:
# row.password = values['password']
DBSession.add(row)
DBSession.flush()
return row
def save_request(values, request, row=None):
if 'id' in request.matchdict:
values['id'] = request.matchdict['id']
print "****",values, "****", request
row = save(values, row)
request.session.flash('Rekening %s sudah disimpan.' % row.kode)
def route_list(request):
return HTTPFound(location=request.route_url('rekening'))
def session_failed(request, session_name):
r = dict(form=request.session[session_name])
del request.session[session_name]
return r
@view_config(route_name='rekening-add', renderer='templates/rekening/add.pt',
permission='edit')
def view_add(request):
form = get_form(request, AddSchema)
if request.POST:
if 'simpan' in request.POST:
controls = request.POST.items()
try:
c = form.validate(controls)
except ValidationFailure, e:
return dict(form=form)
#request.session[SESS_ADD_FAILED] = e.render()
return HTTPFound(location=request.route_url('rekening-add'))
save_request(dict(controls), request)
return route_list(request)
elif SESS_ADD_FAILED in request.session:
return session_failed(request, SESS_ADD_FAILED)
return dict(form=form)#.render())
########
# Edit #
########
def query_id(request):
return DBSession.query(Rekening).filter_by(id=request.matchdict['id'])
def id_not_found(request):
msg = 'Rekening ID %s not found.' % request.matchdict['id']
request.session.flash(msg, 'error')
return route_list(request)
@view_config(route_name='rekening-edit', renderer='templates/rekening/edit.pt',
permission='edit')
def view_edit(request):
row = query_id(request).first()
if not row:
return id_not_found(request)
form = get_form(request, EditSchema)
if request.POST:
if 'simpan' in request.POST:
controls = request.POST.items()
try:
c = form.validate(controls)
except ValidationFailure, e:
return dict(form=form)
#request.session[SESS_EDIT_FAILED] = e.render()
return HTTPFound(location=request.route_url('rekening-edit',
id=row.id))
save_request(dict(controls), request, row)
return route_list(request)
elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED)
values = row.to_dict()
#print values
form.set_appstruct(values)
return dict(form=form)#.render(appstruct=values))
##########
# Delete #
##########
@view_config(route_name='rekening-delete', renderer='templates/rekening/delete.pt',
permission='edit')
def view_delete(request):
q = query_id(request)
row = q.first()
if not row:
return id_not_found(request)
form = Form(colander.Schema(), buttons=('delete','cancel'))
if request.POST:
if 'delete' in request.POST:
msg = 'Rekening ID %d %s has been deleted.' % (row.id, row.kode)
q.delete()
DBSession.flush()
request.session.flash(msg)
return route_list(request)
return dict(row=row,
form=form.render())
##########
# Action #
##########
@view_config(route_name='rekening-act', renderer='json',
permission='edit')
def view_act(request):
req = request
params = req.params
url_dict = req.matchdict
if url_dict['act']=='grid':
columns = []
columns.append(ColumnDT('id'))
columns.append(ColumnDT('kode'))
columns.append(ColumnDT('nama'))
columns.append(ColumnDT('level_id'))
columns.append(ColumnDT('is_summary'))
query = DBSession.query(Rekening)
rowTable = DataTables(req, Rekening, query, columns)
return rowTable.output_result()
## Headofnama Rekening
elif url_dict['act']=='hon':
term = 'term' in params and params['term'] or ''
rows = DBSession.query(Rekening.id, Rekening.nama
).filter(
Rekening.nama.ilike('%%%s%%' % term) ).all()
r = []
for k in rows:
d={}
d['id'] = k[0]
d['value'] = k[1]
r.append(d)
return r
\ No newline at end of file \ No newline at end of file
...@@ -69,7 +69,7 @@ b = ' puluh ' ...@@ -69,7 +69,7 @@ b = ' puluh '
c = ' ratus ' c = ' ratus '
d = ' ribu ' d = ' ribu '
e = ' juta ' e = ' juta '
f = ' miliyar ' f = ' milyar '
g = ' triliun ' g = ' triliun '
def Terbilang(x): def Terbilang(x):
y = str(x) y = str(x)
...@@ -259,6 +259,7 @@ class ViewLaporan(BaseViews): ...@@ -259,6 +259,7 @@ class ViewLaporan(BaseViews):
response.content_disposition='filename=output.pdf' response.content_disposition='filename=output.pdf'
response.write(pdf) response.write(pdf)
return response return response
###################### OBJEK PAJAK
elif url_dict['act']=='r010' : elif url_dict['act']=='r010' :
query = DBSession.query(ObjekPajak).join(SubjekPajak).join(Pajak).join(Wilayah).order_by(SubjekPajak.kode).all() query = DBSession.query(ObjekPajak).join(SubjekPajak).join(Pajak).join(Wilayah).order_by(SubjekPajak.kode).all()
generator = r010Generator() generator = r010Generator()
...@@ -268,9 +269,42 @@ class ViewLaporan(BaseViews): ...@@ -268,9 +269,42 @@ class ViewLaporan(BaseViews):
response.content_disposition='filename=output.pdf' response.content_disposition='filename=output.pdf'
response.write(pdf) response.write(pdf)
return response return response
###################### ARINVOICE
elif url_dict['act']=='r100' :
query = DBSession.query(ARInvoice).order_by(ARInvoice.kode).all()
generator = r100Generator()
pdf = generator.generate(query)
response=req.response
response.content_type="application/pdf"
response.content_disposition='filename=output.pdf'
response.write(pdf)
return response
###################### ARSSPD
elif url_dict['act']=='r200' :
query = DBSession.query(ARSspd).join(ARInvoice).order_by(ARSspd.id).all()
generator = r200Generator()
pdf = generator.generate(query)
response=req.response
response.content_type="application/pdf"
response.content_disposition='filename=output.pdf'
response.write(pdf)
return response
###################### ARSTS
elif url_dict['act']=='r300' :
query = DBSession.query(ARSts).join(Unit).order_by(ARSts.kode).all()
generator = r300Generator()
pdf = generator.generate(query)
response=req.response
response.content_type="application/pdf"
response.content_disposition='filename=output.pdf'
response.write(pdf)
return response
else: else:
return HTTPNotFound() #TODO: Warning Hak Akses return HTTPNotFound() #TODO: Warning Hak Akses
#User #User
class r001Generator(JasperGenerator): class r001Generator(JasperGenerator):
def __init__(self): def __init__(self):
...@@ -430,3 +464,61 @@ class r010Generator(JasperGenerator): ...@@ -430,3 +464,61 @@ class r010Generator(JasperGenerator):
ET.SubElement(xml_greeting, "wilayah").text = row.wilayahs.nama ET.SubElement(xml_greeting, "wilayah").text = row.wilayahs.nama
ET.SubElement(xml_greeting, "status").text = unicode(row.status) ET.SubElement(xml_greeting, "status").text = unicode(row.status)
return self.root return self.root
#ARINVOICE
class r100Generator(JasperGenerator):
def __init__(self):
super(r100Generator, self).__init__()
self.reportname = get_rpath('R1000.jrxml')
self.xpath = '/webr/arinvoice'
self.root = ET.Element('webr')
def generate_xml(self, tobegreeted):
for row in tobegreeted:
xml_greeting = ET.SubElement(self.root, 'arinvoice')
ET.SubElement(xml_greeting, "kode").text = row.kode
ET.SubElement(xml_greeting, "wp_kode").text = row.wp_kode
ET.SubElement(xml_greeting, "wp_nama").text = row.wp_nama
ET.SubElement(xml_greeting, "op_kode").text = row.op_kode
ET.SubElement(xml_greeting, "op_nama").text = row.op_nama
ET.SubElement(xml_greeting, "rek_nama").text = row.rek_nama
ET.SubElement(xml_greeting, "jumlah").text = unicode(row.jumlah)
ET.SubElement(xml_greeting, "skpd").text = row.unit_nama
return self.root
#ARSSPD
class r200Generator(JasperGenerator):
def __init__(self):
super(r200Generator, self).__init__()
self.reportname = get_rpath('R2000.jrxml')
self.xpath = '/webr/arsspd'
self.root = ET.Element('webr')
def generate_xml(self, tobegreeted):
for row in tobegreeted:
xml_greeting = ET.SubElement(self.root, 'arsspd')
ET.SubElement(xml_greeting, "id").text = unicode(row.id)
ET.SubElement(xml_greeting, "kode").text = row.arinvoices.kode
ET.SubElement(xml_greeting, "wp_kode").text = row.arinvoices.wp_kode
ET.SubElement(xml_greeting, "wp_nama").text = row.arinvoices.wp_nama
ET.SubElement(xml_greeting, "op_kode").text = row.arinvoices.op_kode
ET.SubElement(xml_greeting, "op_nama").text = row.arinvoices.op_nama
ET.SubElement(xml_greeting, "rek_nama").text = row.arinvoices.rek_nama
ET.SubElement(xml_greeting, "jumlah").text = unicode(row.bayar)
ET.SubElement(xml_greeting, "tgl_bayar").text = unicode(row.tgl_bayar)
return self.root
#ARSTS
class r300Generator(JasperGenerator):
def __init__(self):
super(r300Generator, self).__init__()
self.reportname = get_rpath('R3000.jrxml')
self.xpath = '/webr/arsts'
self.root = ET.Element('webr')
def generate_xml(self, tobegreeted):
for row in tobegreeted:
xml_greeting = ET.SubElement(self.root, 'arsts')
ET.SubElement(xml_greeting, "id").text = unicode(row.id)
ET.SubElement(xml_greeting, "kode").text = row.kode
ET.SubElement(xml_greeting, "nama").text = row.nama
ET.SubElement(xml_greeting, "jumlah").text = unicode(row.jumlah)
ET.SubElement(xml_greeting, "unit_nm").text = row.units.nama
return self.root
...@@ -144,13 +144,14 @@ def view_add(request): ...@@ -144,13 +144,14 @@ def view_add(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_ADD_FAILED] = e.render() return dict(form=form)
#request.session[SESS_ADD_FAILED] = e.render()
return HTTPFound(location=request.route_url('skpd-add')) return HTTPFound(location=request.route_url('skpd-add'))
save_request(dict(controls), request) save_request(dict(controls), request)
return route_list(request) return route_list(request)
elif SESS_ADD_FAILED in request.session: elif SESS_ADD_FAILED in request.session:
return session_failed(request, SESS_ADD_FAILED) return session_failed(request, SESS_ADD_FAILED)
return dict(form=form.render()) return dict(form=form)#.render())
######## ########
# Edit # # Edit #
...@@ -176,7 +177,8 @@ def view_edit(request): ...@@ -176,7 +177,8 @@ def view_edit(request):
try: try:
c = form.validate(controls) c = form.validate(controls)
except ValidationFailure, e: except ValidationFailure, e:
request.session[SESS_EDIT_FAILED] = e.render() return dict(form=form)
#request.session[SESS_EDIT_FAILED] = e.render()
return HTTPFound(location=request.route_url('skpd-edit', return HTTPFound(location=request.route_url('skpd-edit',
id=row.id)) id=row.id))
save_request(dict(controls), request, row) save_request(dict(controls), request, row)
...@@ -184,7 +186,9 @@ def view_edit(request): ...@@ -184,7 +186,9 @@ def view_edit(request):
elif SESS_EDIT_FAILED in request.session: elif SESS_EDIT_FAILED in request.session:
return session_failed(request, SESS_EDIT_FAILED) return session_failed(request, SESS_EDIT_FAILED)
values = row.to_dict() values = row.to_dict()
return dict(form=form.render(appstruct=values)) #print values
form.set_appstruct(values)
return dict(form=form)#.render(appstruct=values))
########## ##########
# Delete # # Delete #
...@@ -227,15 +231,17 @@ def view_act(request): ...@@ -227,15 +231,17 @@ def view_act(request):
query = DBSession.query(Unit) query = DBSession.query(Unit)
rowTable = DataTables(req, Unit, query, columns) rowTable = DataTables(req, Unit, query, columns)
return rowTable.output_result() return rowTable.output_result()
elif url_dict['act']=='hon': elif url_dict['act']=='hon':
term = 'term' in params and params['term'] or '' term = 'term' in params and params['term'] or ''
rows = DBSession.query(Unit.id, Unit.nama rows = DBSession.query(Unit.id, Unit.nama
).filter( Unit.is_summary==0, ).filter( Unit.is_summary==0,
Unit.nama.ilike('%%%s%%' % term) ).all() Unit.nama.ilike('%%%s%%' % term)).all()
r = [] r = []
for k in rows: for k in rows:
d={} d={}
d['id'] = k[0] d['id'] = k[0]
d['value'] = k[1] d['value'] = k[1]
d['nama'] = k[1]
r.append(d) r.append(d)
return r return r
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content"> <div metal:fill-slot="content">
<h3>Tambah/Edit Register</h3> <!--h4>Tambah/Edit Register</h4-->
<h4>Tambah No. Bayar</h4>
<hr> <hr>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8" <form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal"> class="form-horizontal">
...@@ -13,19 +14,21 @@ ...@@ -13,19 +14,21 @@
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
</div> </div>
<!--objek_pajak_id ------------------------------->
<div tal:define="field form['objek_pajak_id']"> <div tal:define="field form['objek_pajak_id']">
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
<!--subjek_pajak_id ------------------------------->
<div tal:define="field form['subjek_pajak_id']"> <div tal:define="field form['subjek_pajak_id']">
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
<!--unit_id ------------------------------->
<div tal:define="field form['unit_id']"> <div tal:define="field form['unit_id']">
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<!--unit_nm ------------------------------->
<div class="form-group" tal:define="field form['unit_nm']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['unit_nm']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -37,7 +40,7 @@ ...@@ -37,7 +40,7 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--subjek_pajak_nm ------------------------------->
<div class="form-group" tal:define="field form['subjek_pajak_nm']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['subjek_pajak_nm']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -49,7 +52,7 @@ ...@@ -49,7 +52,7 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--objek_pajak_nm ------------------------------->
<div class="form-group" tal:define="field form['objek_pajak_nm']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['objek_pajak_nm']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -61,7 +64,7 @@ ...@@ -61,7 +64,7 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['kode']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -73,6 +76,7 @@ ...@@ -73,6 +76,7 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--periode_1 ------------------------------->
<div class="form-group" tal:define="field form['periode_1']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['periode_1']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -89,9 +93,9 @@ ...@@ -89,9 +93,9 @@
<div class="col-md-4" tal:define="field form['periode_2']"> <div class="col-md-4" tal:define="field form['periode_2']">
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
</div> </div>
<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}"> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label> tal:condition="field.required">&nbsp*</span></label>
...@@ -102,6 +106,7 @@ ...@@ -102,6 +106,7 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--jatuh_tempo ------------------------------->
<div class="form-group" tal:define="field form['jatuh_tempo']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['jatuh_tempo']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -114,7 +119,9 @@ ...@@ -114,7 +119,9 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<!--dasar ------------------------------->
<div class="form-group" tal:define="field form['dasar']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['dasar']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -126,6 +133,7 @@ ...@@ -126,6 +133,7 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--tarif ------------------------------->
<div class="form-group" tal:define="field form['tarif']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['tarif']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -137,6 +145,7 @@ ...@@ -137,6 +145,7 @@
*</p> *</p>
</div> </div>
</div> </div>
<!--pokok ------------------------------->
<div class="form-group" tal:define="field form['pokok']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['pokok']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -148,6 +157,7 @@ ...@@ -148,6 +157,7 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--denda ------------------------------->
<div class="form-group" tal:define="field form['denda']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['denda']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -159,6 +169,7 @@ ...@@ -159,6 +169,7 @@
${error}</p> ${error}</p>
</div> </div>
</div> </div>
<!--bunga ------------------------------->
<div class="form-group" tal:define="field form['bunga']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['bunga']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -172,6 +183,7 @@ ...@@ -172,6 +183,7 @@
tal:repeat="error field.error.messages()"> tal:repeat="error field.error.messages()">
${error}</p> ${error}</p>
</div> </div>
<!--jumlah ------------------------------->
<div class="form-group" tal:define="field form['jumlah']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['jumlah']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -181,18 +193,24 @@ ...@@ -181,18 +193,24 @@
<p id="error-${field.oid}" class="help-block" tal:condition="field.error" <p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()"> tal:repeat="error field.error.messages()">
${error}</p> </div> ${error}</p> </div>
</div> </div>
</div>
</div>
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="col-md-offset-2"> <div class="col-md-6">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary " <!--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> value="simpan">Simpan</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default " <button id="deformcancel" name="batal" type="submit" class="btn btn-default "
value="batal">Batal</button> value="batal">Batal</button>
</div>
</div> </div>
</div>
</div> </div>
<script> <script>
$("#unit_id").attr("readonly",${has_permission(request,'arinvoice-edt-unit') and 'false' or 'true'}) $("#unit_id").attr("readonly",${has_permission(request,'arinvoice-edt-unit') and 'false' or 'true'})
......
...@@ -46,17 +46,17 @@ ...@@ -46,17 +46,17 @@
var oTableUrl = oFormUrl+"grid/act"; var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
...@@ -85,7 +85,8 @@ ...@@ -85,7 +85,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>', ' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>', ' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>', ' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Print</button>', ' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Cetak</button>',
' <button id="btn_close" class="btn btn btn-warning" type="button">Tutup</button>',
' &nbsp;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -118,6 +119,15 @@ ...@@ -118,6 +119,15 @@
} }
}); });
$('#btn_print').click(function () {
url = "/reports/act/r100"
window.open(url);
});
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
...@@ -132,5 +142,4 @@ ...@@ -132,5 +142,4 @@
</script> </script>
</div> </div>
</html> </html>
...@@ -86,7 +86,8 @@ ...@@ -86,7 +86,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Bayar</button>', ' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Bayar</button>',
' <button id="btn_edit" class="btn btn btn-danger pull-left" type="button">Reversal</button>', ' <button id="btn_edit" class="btn btn btn-danger pull-left" type="button">Reversal</button>',
' <!--button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button-->', ' <!--button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button-->',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Print</button>', ' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Cetak</button>',
' <button id="btn_close" class="btn btn btn-warning" type="button">Tutup</button>',
' &nbsp;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -119,6 +120,15 @@ ...@@ -119,6 +120,15 @@
} }
}); });
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_print').click(function () {
url = "/reports/act/r200"
window.open(url);
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
...@@ -131,7 +141,5 @@ ...@@ -131,7 +141,5 @@
}); });
}); });
</script> </script>
</div> </div>
</html> </html>
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet"> <link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet">
<link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet"> <link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet">
<h3>Tambah/Edit STS</h3> <h4>Tambah/Edit STS</h4>
<hr> <hr>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8" <form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal"> class="form-horizontal">
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
</div> </div>
<!--unit_id ------------------------------->
<div class="form-group" tal:define="field form['unit_id']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['unit_id']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -23,6 +24,7 @@ ...@@ -23,6 +24,7 @@
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
</div> </div>
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['kode']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -32,20 +34,18 @@ ...@@ -32,20 +34,18 @@
<script> <script>
$("#${field.oid}").attr("readonly", true); $("#${field.oid}").attr("readonly", true);
</script> </script>
</div> </div>
<!--tgl_sts ------------------------------->
<div tal:define="field form['tgl_sts']" id="item-${field.oid}"> <div tal:define="field form['tgl_sts']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label> tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-5"> <div class="col-md-3">
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
</div> </div>
</div> </div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -54,8 +54,7 @@ ...@@ -54,8 +54,7 @@
${structure:field.serialize()} ${structure:field.serialize()}
</div> </div>
</div> </div>
<!--jumlah ------------------------------->
<div class="form-group" tal:define="field form['jumlah']" id="item-${field.oid}"> <div class="form-group" tal:define="field form['jumlah']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}"> <label for="${field.oid}" class="control-label col-md-1" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" ${field.title}<span id="error-${field.oid}" class="text text-danger"
...@@ -66,16 +65,16 @@ ...@@ -66,16 +65,16 @@
$("#${field.oid}").attr("readonly", true); $("#${field.oid}").attr("readonly", true);
</script> </script>
</div> </div>
</div>
<div class="form-group"> <!--Button ------------------------------->
<div class="col-md-offset-1"> <div class="col-md-4">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary " <button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button> value="simpan">Simpan</button>
<button id="deformcancel" name="batal" type="submit" class="btn btn-default " <button id="deformcancel" name="batal" type="submit" class="btn btn-default "
value="batal">Batal</button> value="batal">Batal</button>
</div>
</div> </div>
</div>
</fieldset> </fieldset>
</form> </form>
...@@ -92,8 +91,16 @@ ...@@ -92,8 +91,16 @@
</thead> </thead>
<tbody> <tbody>
</tbody> </tbody>
</table> </table><br><br><br>
<!--Form Detail------------------------------->
<form id="detail" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<!--Belum Tau Isiannya apa :) -->
</fieldset>
</form>
<script src="/static/datatables/media/js/jquery.dataTables.min.js"></script> <script src="/static/datatables/media/js/jquery.dataTables.min.js"></script>
<!--script src="/static/datatables/media/js/jquery.jeditable.js')}"></script--> <!--script src="/static/datatables/media/js/jquery.jeditable.js')}"></script-->
<script src="/static/datatables/media/js/jquery.dataTables.ext.js"></script> <script src="/static/datatables/media/js/jquery.dataTables.ext.js"></script>
...@@ -103,22 +110,30 @@ ...@@ -103,22 +110,30 @@
var mID; var mID;
var oTable; var oTable;
var iPos; var iPos;
//Nambahin variable sts_id & kondisi untuk pemanggilan grid
var oFormUrl = "/arstsitem/"; var oFormUrl = "/arstsitem/";
var oTableUrl = oFormUrl+"grid/act"; var sts_id = $('#id').val();
if (!sts_id){
kosong = '0';
var oTableUrl = oFormUrl+"grid/act?sts_id="+kosong;
}
else{
var oTableUrl = oFormUrl+"grid/act?sts_id="+sts_id;
}
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bSearch": false, "bSearch" : false,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
...@@ -126,7 +141,6 @@ ...@@ -126,7 +141,6 @@
"aoColumnDefs": [ "aoColumnDefs": [
{"bSearchable": false, "bVisible": false, "aTargets": [0,1,2]} {"bSearchable": false, "bVisible": false, "aTargets": [0,1,2]}
], ],
"aoColumns": [ "aoColumns": [
null, null,
null, null,
...@@ -134,7 +148,6 @@ ...@@ -134,7 +148,6 @@
{"sWidth": "75px", "sClass": "right"}, {"sWidth": "75px", "sClass": "right"},
null, null,
{"sWidth": "75px", "sClass": "right"}, {"sWidth": "75px", "sClass": "right"},
], ],
}); });
...@@ -142,7 +155,8 @@ ...@@ -142,7 +155,8 @@
'<div class="btn-group pull-left">', '<div class="btn-group pull-left">',
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Pilih</button>', ' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Pilih</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>', ' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Print</button>', ' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Cetak</button>',
//' <button id="btn_close" class="btn btn btn-warning" type="button">Tutup</button>',
' &nbsp;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -164,7 +178,13 @@ ...@@ -164,7 +178,13 @@
}); });
$('#btn_tambah').click(function () { $('#btn_tambah').click(function () {
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 () { $('#btn_edit').click(function () {
......
...@@ -73,7 +73,8 @@ ...@@ -73,7 +73,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>', ' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>', ' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>', ' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Print</button>', ' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Cetak</button>',
' <button id="btn_close" class="btn btn btn-warning" type="button">Tutup</button>',
' &nbsp;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -106,6 +107,15 @@ ...@@ -106,6 +107,15 @@
} }
}); });
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_print').click(function () {
url = "/reports/act/r300"
window.open(url);
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
...@@ -118,7 +128,5 @@ ...@@ -118,7 +128,5 @@
}); });
}); });
</script> </script>
</div> </div>
</html> </html>
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content"> <div metal:fill-slot="content">
<link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet"> <link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet">
<link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet"> <link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet">
<h4>Daftar Penerimaan</h4> <h4>Daftar Penerimaan</h4>
<hr> <hr>
<div class="container"> <div class="container">
...@@ -29,7 +27,6 @@ ...@@ -29,7 +27,6 @@
<th>Jumlah</th> <th>Jumlah</th>
<th>Tgl. Bayar</th> <th>Tgl. Bayar</th>
<th>Pilih</th> <th>Pilih</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
...@@ -44,21 +41,26 @@ ...@@ -44,21 +41,26 @@
var mID; var mID;
var oTable; var oTable;
var iPos; var iPos;
/**
var oFormUrl = "/arstsitem/"; var oFormUrl = "/arstsitem/";
var oTableUrl = oFormUrl+"sspd/act"; 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 () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
...@@ -69,8 +71,8 @@ ...@@ -69,8 +71,8 @@
"aoColumns": [ "aoColumns": [
null, null,
{"sWidth": "100px", "sClass": "left"}, {"sWidth": "100px", "sClass": "left"},
{"sWidth": "30px", "sClass": "center"}, {"sWidth": "30px", "sClass": "center"},
{"sWidth": "30px", "sClass": "center"}, {"sWidth": "30px", "sClass": "center"},
null, null,
null, null,
...@@ -83,6 +85,7 @@ ...@@ -83,6 +85,7 @@
var tb_array = [ var tb_array = [
'<div class="btn-group pull-left">', '<div class="btn-group pull-left">',
' <button id="btn_close" class="btn btn btn-primary" type="button">Kembali</button>',
' <button id="btn_semua" class="btn btn btn-primary pull-left" type="button">Semua</button>', ' <button id="btn_semua" class="btn btn btn-primary pull-left" type="button">Semua</button>',
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Terpilih</button>', ' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Terpilih</button>',
' &nbsp;', ' &nbsp;',
...@@ -118,9 +121,11 @@ ...@@ -118,9 +121,11 @@
alert('Silahkan pilih data yang akan ditambahkan'); alert('Silahkan pilih data yang akan ditambahkan');
} }
}); });
$('#btn_close').click(function () {
window.location = oFormUrl+'balik/add';
});
}); });
</script> </script>
</div> </div>
</html> </html>
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
<li><a href="/skpd">SKPD/Unit</a></li> <li><a href="/skpd">SKPD/Unit</a></li>
<li><a href="/jabatan">Jabatan</a></li> <li><a href="/jabatan">Jabatan</a></li>
<li><a href="/pegawai">Pegawai</a></li> <li><a href="/pegawai">Pegawai</a></li>
<li><a href="/coa">Rekening</a></li> <li><a href="/rekening">Rekening</a></li>
<li><a href="/pajak">Rekening & Tarif</a></li> <li><a href="/pajak">Rekening & Tarif</a></li>
<li><a href="/wilayah">Wilayah</a></li> <li><a href="/wilayah">Wilayah</a></li>
</ul> </ul>
......
...@@ -2,6 +2,60 @@ ...@@ -2,6 +2,60 @@
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h4>Tambah Group</h4> <h4>Tambah Group</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--group_name ------------------------------->
<div class="form-group" tal:define="field form['group_name']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--description ------------------------------->
<div class="form-group" tal:define="field form['description']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div> </div>
</html> </html>
...@@ -2,6 +2,60 @@ ...@@ -2,6 +2,60 @@
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h4>Edit Group</h4> <h4>Edit Group</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--group_name ------------------------------->
<div class="form-group" tal:define="field form['group_name']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--description ------------------------------->
<div class="form-group" tal:define="field form['description']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div> </div>
</html> </html>
...@@ -39,18 +39,18 @@ ...@@ -39,18 +39,18 @@
var oTableUrl = oFormUrl+"grid/act"; var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bSearch": true, "bSearch" : true,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
...@@ -72,7 +72,8 @@ ...@@ -72,7 +72,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>', ' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>', ' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>', ' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Print</button>', ' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Cetak</button>',
' <button id="btn_close" class="btn btn btn-warning" type="button">Tutup</button>',
' &nbsp;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -110,6 +111,10 @@ ...@@ -110,6 +111,10 @@
window.open(url); window.open(url);
}); });
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
......
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Tambah Group Permission</h3> <h4>Tambah Group Permission</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--group_id ------------------------------->
<div class="form-group" tal:define="field form['group_id']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9" tal:define="field form['group_id']" >
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--route_id ------------------------------->
<div class="form-group" tal:define="field form['route_id']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9" tal:define="field form['route_id']" >
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="save" type="submit" class="btn btn-primary "
value="save">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
<!--script>
$('#route_nm').bind('typeahead:selected', function(obj, datum, name) {
$('#route_id').val(datum.id);
});
$('#group_nm').bind('typeahead:selected', function(obj, datum, name) {
$('#group_id').val(datum.id);
});
</script-->
</div> </div>
</html> </html>
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Edit User Group</h3> <h4>Edit User Group</h4>
<hr> <hr>
<div tal:content="structure form"/> <div tal:content="structure form"/>
</div> </div>
......
...@@ -39,17 +39,17 @@ ...@@ -39,17 +39,17 @@
var oTableUrl = oFormUrl+"grid/act"; var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
...@@ -70,6 +70,7 @@ ...@@ -70,6 +70,7 @@
'<div class="btn-group pull-left">', '<div class="btn-group pull-left">',
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>', ' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>', ' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_close" class="btn btn btn-warning" type="button">Tutup</button>',
' &nbsp;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -95,6 +96,11 @@ ...@@ -95,6 +96,11 @@
window.location = oFormUrl+'add'; window.location = oFormUrl+'add';
}); });
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
......
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content">
<h3>Tambah/Edit Register</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 class="form-group">
<div class="col-md-6">
<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()}
</div>
</div>
<div class="form-group" tal:define="field form['subjek_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()}
</div>
</div>
<div class="form-group" tal:define="field form['objek_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()}
</div>
</div>
<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()}
</div>
</div>
<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"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-4">
${structure:field.serialize()}
</div>
<div class="col-md-1">
s.d
</div>
<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}">
<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()}
</div>
</div>
<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"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
</div>
</div>
</div>
<div class="col-md-6">
<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"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
</div>
</div>
<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-8">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
*</p>
</div>
</div>
<div 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"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<div 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"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<div 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"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
</div>
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
<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"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
</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>
</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 Objek ID #${row.id} ${row.nama} ?
</div>
</div>
<div tal:content="structure form"/>
</div>
</html>
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550">
<h3>Edit Objek</h3>
<hr>
<div tal:content="structure form"/>
</div>
</html>
<html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content">
<link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet">
<link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet">
<h4>Daftar No. Bayar</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>Subjek</th>
<th>Objek</th>
<th>Uraian</th>
<th>Rekening</th>
<!--th>Pokok</th>
<th>Denda</th>
<th>Bunga</th-->
<th>Jumlah</th>
<th>SKPD</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 = "/invoice/";
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": "100px", "sClass": "left"},
{"sWidth": "30px", "sClass": "center"},
{"sWidth": "30px", "sClass": "center"},
null,
null,
{"sWidth": "75px", "sClass": "right"},
//{"sWidth": "75px", "sClass": "center"},
//{"sWidth": "40px", "sClass": "center"},
//{"sWidth": "40px", "sClass": "center"},
null
],
});
var tb_array = [
'<div class="btn-group pull-left">',
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Print</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_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>
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Tambah Jabatan</h3> <h4>Tambah Jabatan</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--status ------------------------------->
<div class="form-group" tal:define="field form['status']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div> </div>
</html> </html>
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Edit Jabatan</h3> <h4>Edit Jabatan</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--status ------------------------------->
<div class="form-group" tal:define="field form['status']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div> </div>
</html> </html>
...@@ -39,17 +39,17 @@ ...@@ -39,17 +39,17 @@
var oTableUrl = oFormUrl+"grid/act"; var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
...@@ -71,7 +71,8 @@ ...@@ -71,7 +71,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>', ' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>', ' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>', ' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Print</button>', ' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Cetak</button>',
' <button id="btn_close" class="btn btn btn-warning" type="button">Tutup</button>',
' &nbsp;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -109,6 +110,10 @@ ...@@ -109,6 +110,10 @@
window.open(url); window.open(url);
}); });
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
......
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Tambah Obyek Bayar</h3> <h4>Tambah Obyek Bayar</h4>
<hr> <hr>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8" <form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal"> class="form-horizontal">
<fieldset class="deformFormFieldset"> <fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" /> <input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/> <input type="hidden" name="__formid__" value="deform"/>
<div tal:repeat="field form">
<div class="col-md-12">
<div class="form-group" id="item-${field.oid}"> <!--subjekpajak_id ------------------------------->
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}"> <div class="form-group" tal:define="field form['subjekpajak_id']" id="item-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
tal:condition="field.required">&nbsp*</span></label> ${field.title}<span id="error-${field.oid}" class="text text-danger"
<div class="col-md-9"> tal:condition="field.required">&nbsp*</span></label>
${structure:field.serialize()} <div class="col-md-9">
<p id="error-${field.oid}" class="help-block" tal:condition="field.error" ${structure:field.serialize()}
tal:repeat="error field.error.messages()"> <p id="error-${field.oid}" class="help-block" tal:condition="field.error"
${error}</p> 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>
</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> </fieldset>
</form> </form>
......
...@@ -7,29 +7,105 @@ ...@@ -7,29 +7,105 @@
<fieldset class="deformFormFieldset"> <fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" /> <input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/> <input type="hidden" name="__formid__" value="deform"/>
<div tal:repeat="field form">
<div class="col-md-12">
<div class="form-group" id="item-${field.oid}"> <!--subjekpajak_id ------------------------------->
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}"> <div class="form-group" tal:define="field form['subjekpajak_id']" id="item-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger" <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
tal:condition="field.required">&nbsp*</span></label> ${field.title}<span id="error-${field.oid}" class="text text-danger"
<div class="col-md-9"> tal:condition="field.required">&nbsp*</span></label>
${structure:field.serialize()} <div class="col-md-9">
<p id="error-${field.oid}" class="help-block" tal:condition="field.error" ${structure:field.serialize()}
tal:repeat="error field.error.messages()"> <p id="error-${field.oid}" class="help-block" tal:condition="field.error"
${error}</p> 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>
</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> </fieldset>
</form> </form>
......
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content"> <div metal:fill-slot="content">
<link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet"> <link href="/static/datatables/extensions/TableTools/css/dataTables.tableTools.min.css" rel="stylesheet">
<link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet"> <link href="/static/datatables/media/css/dataTables.bootstrap.css" rel="stylesheet">
<h4>Objek Bayar</h4>
<h4>Objek</h4>
<hr> <hr>
<div class="container"> <div class="container">
<!--form class="form-inline" role="form" id="frm_upload" name="frm_upload"> <!--form class="form-inline" role="form" id="frm_upload" name="frm_upload">
...@@ -42,17 +40,17 @@ ...@@ -42,17 +40,17 @@
var oTableUrl = oFormUrl+"grid/act"; var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
...@@ -77,7 +75,8 @@ ...@@ -77,7 +75,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>', ' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>', ' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>', ' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Print</button>', ' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Cetak</button>',
' <button id="btn_close" class="btn btn btn-warning" type="button">Tutup</button>',
' &nbsp;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -114,6 +113,11 @@ ...@@ -114,6 +113,11 @@
url = "/reports/act/r010" url = "/reports/act/r010"
window.open(url); window.open(url);
}); });
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
......
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Tambah Pajak</h3> <h4>Tambah Pajak</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--rekening_id ------------------------------->
<div class="form-group" tal:define="field form['rekening_id']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9" tal:define="field form['rekening_id']" >
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--tahun ------------------------------->
<div class="form-group" tal:define="field form['tahun']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--tarif ------------------------------->
<div class="form-group" tal:define="field form['tarif']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--status ------------------------------->
<div class="form-group" tal:define="field form['status']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div> </div>
</html> </html>
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Edit Pegawai</h3> <h4>Edit Pegawai</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--rekening_id ------------------------------->
<div class="form-group" tal:define="field form['rekening_id']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9" tal:define="field form['rekening_id']" >
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--tahun ------------------------------->
<div class="form-group" tal:define="field form['tahun']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--tarif ------------------------------->
<div class="form-group" tal:define="field form['tarif']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--status ------------------------------->
<div class="form-group" tal:define="field form['status']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div> </div>
</html> </html>
...@@ -43,23 +43,25 @@ ...@@ -43,23 +43,25 @@
var oTableUrl = oFormUrl+"grid/act"; var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
], ],
"aoColumnDefs": [ "aoColumnDefs": [
{"bSearchable": false, "bVisible": false, "aTargets": [0]} {"bSearchable": false, "bVisible" : false, "aTargets" : [0]},
{"bSortable" : false, "bSearchable": false, "aTargets" : [3]},
{"bSortable" : true, "bSearchable": true, "aTargets" : [1,2,5,6]}
], ],
"aoColumns": [ "aoColumns": [
...@@ -78,7 +80,8 @@ ...@@ -78,7 +80,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>', ' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>', ' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>', ' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Print</button>', ' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Cetak</button>',
' <button id="btn_close" class="btn btn btn-warning" type="button">Tutup</button>',
' &nbsp;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -115,6 +118,11 @@ ...@@ -115,6 +118,11 @@
window.open(url); window.open(url);
}); });
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
......
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<script src="https://www.google.com/recaptcha/api.js" async defer></script> <script src="https://www.google.com/recaptcha/api.js" async defer></script>
<h4>Registrasi e-PAP</h4>
<h3>Registrasi e-PAP</h3>
<hr> <hr>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8" <form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal"> class="form-horizontal">
<fieldset class="deformFormFieldset"> <fieldset class="deformFormFieldset">
...@@ -15,34 +13,63 @@ ...@@ -15,34 +13,63 @@
{structure:field.serialize()} {structure:field.serialize()}
</div> </div>
</div> </div>
<div class="form-group"> <div class="col-md-12">
<div class="form-group" tal:repeat="field form" id="item-${field.oid}"> <!--no_skpd ------------------------------->
<label for="${field.oid}" class="control-label col-md-4" id="req-${field.oid}"> <div class="form-group" tal:define="field form['no_skpd']" id="item-${field.oid}">
${field.title}</label> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
<div class="col-md-8"> ${field.title}<span id="error-${field.oid}" class="text text-danger"
${structure:field.serialize()} tal:condition="field.required">&nbsp*</span></label>
<p id="error-${field.oid}" class="help-block" tal:condition="field.error" <div class="col-md-9">
tal:repeat="error field.error.messages()"> ${structure:field.serialize()}
${error}</p> <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">
<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>
</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>
</div>
</fieldset> </fieldset>
</form> </form>
......
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Tambah Pegawai</h3> <h4>Tambah Pegawai</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--unit_id ------------------------------->
<div class="form-group" tal:define="field form['unit_id']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--jabatan_id ------------------------------->
<div class="form-group" tal:define="field form['jabatan_id']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--status ------------------------------->
<div class="form-group" tal:define="field form['status']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--login ------------------------------->
<div class="form-group" tal:define="field form['login']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div> </div>
</html> </html>
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h3>Edit Pegawai</h3> <h4>Edit Pegawai</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--unit_id ------------------------------->
<div class="form-group" tal:define="field form['unit_id']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--jabatan_id ------------------------------->
<div class="form-group" tal:define="field form['jabatan_id']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--status ------------------------------->
<div class="form-group" tal:define="field form['status']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--login ------------------------------->
<div class="form-group" tal:define="field form['login']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--Button ------------------------------->
<div class="form-group">
<label class="control-label col-md-3">
</label>
<div class="col-md-9">
<button id="deformsave" name="simpan" type="submit" class="btn btn-primary "
value="simpan">Simpan</button>
<button id="deformcancel" name="cancel" type="submit" class="btn btn-default "
value="cancel">Batal</button>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div> </div>
</html> </html>
...@@ -23,7 +23,6 @@ ...@@ -23,7 +23,6 @@
<th>SKPD</th> <th>SKPD</th>
<th>Jabatan</th> <th>Jabatan</th>
<th>Status</th> <th>Status</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
...@@ -42,28 +41,30 @@ ...@@ -42,28 +41,30 @@
var oTableUrl = oFormUrl+"grid/act"; var oTableUrl = oFormUrl+"grid/act";
$(document).ready(function () { $(document).ready(function () {
oTable = $('#table1').dataTable({ oTable = $('#table1').dataTable({
"sAjaxSource": oTableUrl, "sAjaxSource" : oTableUrl,
"bServerSide": true, "bServerSide" : true,
"bProcessing": true, "bProcessing" : true,
"sDom": '<"toolbar">lfrtip', "sDom" : '<"toolbar">lfrtip',
"bScrollCollapse": true, "bScrollCollapse" : true,
"bSort": true, "bSort" : true,
"bInfo": false, "bInfo" : false,
"bFilter": true, "bFilter" : true,
"bAutoWidth": false, "bAutoWidth" : false,
"bPaginate": true, "bPaginate" : true,
"sPaginationType": "full_numbers", "sPaginationType" : "full_numbers",
"lengthMenu": [ "lengthMenu": [
[10, 25, 50, -1], [10, 25, 50, -1],
[10, 25, 50, "All"] [10, 25, 50, "All"]
], ],
"aoColumnDefs": [ "aoColumnDefs": [
{"bSearchable": false, "bVisible": false, "aTargets": [0]} {"bSearchable": false, "bVisible": false, "aTargets": [0]},
{"bSortable" : false, "bSearchable": false, "aTargets": [3,4]},
{"bSortable" : true, "bSearchable": true, "aTargets": [1,2,5]}
], ],
"aoColumns": [ "aoColumns": [
null, null,
{"sWidth": "100px", "sClass": "left"}, {"sWidth": "100px", "sClass": "left"},
null, null,
null, null,
null, null,
...@@ -76,7 +77,8 @@ ...@@ -76,7 +77,8 @@
' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>', ' <button id="btn_tambah" class="btn btn btn-primary pull-left" type="button">Tambah</button>',
' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>', ' <button id="btn_edit" class="btn btn btn-primary pull-left" type="button">Edit</button>',
' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>', ' <button id="btn_delete" class="btn btn btn-danger pull-left" type="button">Hapus</button>',
' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Print</button>', ' <button id="btn_print" class="btn btn btn-primary pull-left" type="button">Cetak</button>',
' <button id="btn_close" class="btn btn btn-warning" type="button">Tutup</button>',
' &nbsp;', ' &nbsp;',
'</div>', '</div>',
]; ];
...@@ -113,6 +115,11 @@ ...@@ -113,6 +115,11 @@
url = "/reports/act/r005" url = "/reports/act/r005"
window.open(url); window.open(url);
}); });
$('#btn_close').click(function () {
window.location = "/"
});
$('#btn_delete').click(function () { $('#btn_delete').click(function () {
if (mID) { if (mID) {
var hapus = confirm('Hapus data ini?'); var hapus = confirm('Hapus data ini?');
...@@ -127,5 +134,4 @@ ...@@ -127,5 +134,4 @@
</script> </script>
</div> </div>
</html> </html>
<html metal:use-macro="load: ../base.pt"> <html metal:use-macro="load: ../base.pt">
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<script src="https://www.google.com/recaptcha/api.js" async defer></script> <script src="https://www.google.com/recaptcha/api.js" async defer></script>
<h3>Registrasi e-PKB</h3> <h4>Registrasi e-PKB</h4>
<hr> <hr>
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8" <form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal"> class="form-horizontal">
...@@ -13,34 +13,75 @@ ...@@ -13,34 +13,75 @@
{structure:field.serialize()} {structure:field.serialize()}
</div> </div>
</div> </div>
<div class="form-group"> <div class="col-md-12">
<div class="form-group" tal:repeat="field form" id="item-${field.oid}"> <!--no_rangka ------------------------------->
<label for="${field.oid}" class="control-label col-md-4" id="req-${field.oid}"> <div class="form-group" tal:define="field form['no_rangka']" id="item-${field.oid}">
${field.title}</label> <label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
<div class="col-md-8"> ${field.title}<span id="error-${field.oid}" class="text text-danger"
${structure:field.serialize()} tal:condition="field.required">&nbsp*</span></label>
<p id="error-${field.oid}" class="help-block" tal:condition="field.error" <div class="col-md-9">
tal:repeat="error field.error.messages()"> ${structure:field.serialize()}
${error}</p> <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">
<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>
</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>
</div>
</fieldset> </fieldset>
</form> </form>
</div> </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">
Delete 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 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>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>
...@@ -2,6 +2,84 @@ ...@@ -2,6 +2,84 @@
<div metal:fill-slot="content" class="form-550"> <div metal:fill-slot="content" class="form-550">
<h4>Tambah SKPD/Unit Kerja</h4> <h4>Tambah SKPD/Unit Kerja</h4>
<hr> <hr>
<div tal:content="structure form"/> <!--div tal:content="structure form"/-->
<form id="deform" method="POST" enctype="multipart/form-data" accept-charset="utf-8"
class="form-horizontal">
<fieldset class="deformFormFieldset">
<input type="hidden" name="_charset_" />
<input type="hidden" name="__formid__" value="deform"/>
<div class="form-group">
<div tal:condition="'id' in form">
<div tal:define="field form['id']">
${structure:field.serialize()}
</div>
</div>
<div class="col-md-12">
<!--kode ------------------------------->
<div class="form-group" tal:define="field form['kode']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--nama ------------------------------->
<div class="form-group" tal:define="field form['nama']" id="item-${field.oid}">
<label for="${field.oid}" class="control-label col-md-3" id="req-${field.oid}">
${field.title}<span id="error-${field.oid}" class="text text-danger"
tal:condition="field.required">&nbsp*</span></label>
<div class="col-md-9">
${structure:field.serialize()}
<p id="error-${field.oid}" class="help-block" tal:condition="field.error"
tal:repeat="error field.error.messages()">
${error}</p>
</div>
</div>
<!--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> </div>
</html> </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!