Commit 7a707856 by Hamsyah

Merge branch 'beta-4.2-training' of https://git.opensipkd.com/aa.gusti/opensipkd…

…-base into beta-4.2-training
2 parents 8ada3a5f ef68c235
Showing 45 changed files with 1186 additions and 130 deletions
kode,nama,pangkat,ruang,tunjangan,status
"VII/A","Eselon VII A",2,"A",4000000,1
"VII/B","Eselon VII B",2,"B",8000000,1
"VIII/A","Eselon VIII A",3,"A",5500000,1
"VIII/B","Eselon VIII B",3,"B",5000000,1
"VIV/A","Eselon VIV A",4,"A",3500000,1
"VIV/B","Eselon VIV B",4,"B",2250000,1
"VV/A","Eselon VV A",5,"A",1500000,1
\ No newline at end of file
urut,kode,nama,ibu_kota,kategori,provinsi_id/res_provinsi.kode,status
01,ID-JT.01,Kabupaten Karanganyar,Karanganyar,kabupaten,ID-JT,0
02,ID-JT.02,Kabupaten Sukoharjo,Sukoharjo,kabupaten,ID-JB,0
03,ID-JT.03,Kota Surakarta,Surakarta,kota,ID-JT,0
\ No newline at end of file
kode,nama,kecamatan_id/res_kecamatan.kode,status,,,,,,,,,,
32.76.01.01,Depok,32.76.01,0,,,,,,,,,,
32.76.01.02,Depok Jaya,32.76.01,0,,,,,,,,,,
32.76.01.03,Mampang,32.76.01,0,,,,,,,,,,
\ No newline at end of file
group_name,description,member_count
"Sritex","Superuser",1
"Djarum","Webservice",2
"Shopee","Pindah Departemen",3
"Grab","Guest",4
\ No newline at end of file
kode,nama,email,idcard,status,created,is_vendor,is_customer
1245678,Muhammad Sasuke, sasuke@gmail.com,[null],1,2024-03-12 13:10:17.833045,1,1
2456789,Uzumaki Firaun, firaun@gmail.com,[null],1,2024-02-10 17:04:17.399242,1,1
4567891,Uzumaki heimdell, heimdell@gmail.com,[null],1,2023-02-10 17:04:17.376627,1,1
\ No newline at end of file
user_id/public.users.id,desa_id/public.res_desa.id
1,70
2,66
eclipse.preferences.version=1
encoding/departemen.jrxml=UTF-8
encoding/partner.jrxml=UTF-8
encoding/pemerintah.jrxml=UTF-8
encoding/provinsi.jrxml=UTF-8
encoding/users-external.jrxml=UTF-8
encoding/users.jrxml=UTF-8
<?xml version="1.0" encoding="UTF-8" ?>
<jdbcDataAdapter class="net.sf.jasperreports.data.jdbc.JdbcDataAdapterImpl">
<name>New Data Adapter 1</name>
<name>DatabaseAdapter</name>
<driver>org.postgresql.Driver</driver>
<username>postgres</username>
<password>postgres</password>
......
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.20.5.final using JasperReports Library version 6.20.5-3efcf2e67f959db3888d79f73dde2dbd7acb4f8e -->
<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="Group" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="6630eb66-846c-4826-9d1e-493d584e9622">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="groups_csv"/>
<parameter name="judul1" class="java.lang.String">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="POSTGRES"/>
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<parameter name="judul" class="java.lang.String">
<defaultValueExpression><![CDATA["PEMERINTAH KABUPATEN KUNINGAN"]]></defaultValueExpression>
</parameter>
<queryString language="csv">
<![CDATA[]]>
<parameter name="logo" class="java.lang.String"/>
<queryString>
<![CDATA[select * FROM groups]]>
</queryString>
<field name="group_name" class="java.lang.String"/>
<field name="description" class="java.lang.String"/>
<field name="member_count" class="java.lang.Integer"/>
<field name="member_count" class="java.lang.Integer">
<property name="com.jaspersoft.studio.field.name" value="member_count"/>
<property name="com.jaspersoft.studio.field.label" value="member_count"/>
<property name="com.jaspersoft.studio.field.tree.path" value="groups"/>
</field>
<field name="id" class="java.lang.Integer">
<property name="com.jaspersoft.studio.field.name" value="id"/>
<property name="com.jaspersoft.studio.field.label" value="id"/>
<property name="com.jaspersoft.studio.field.tree.path" value="groups"/>
</field>
<field name="group_name" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="group_name"/>
<property name="com.jaspersoft.studio.field.label" value="group_name"/>
<property name="com.jaspersoft.studio.field.tree.path" value="groups"/>
</field>
<field name="description" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="description"/>
<property name="com.jaspersoft.studio.field.label" value="description"/>
<property name="com.jaspersoft.studio.field.tree.path" value="groups"/>
</field>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="123" splitType="Stretch">
<band height="127" splitType="Stretch">
<staticText>
<reportElement x="143" y="49" width="269" height="30" uuid="5b7637d7-75f9-4fcb-83f0-3199ee657145"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
......@@ -36,10 +55,6 @@
<pen lineWidth="4.0"/>
</graphicElement>
</line>
<image>
<reportElement x="40" y="14" width="71" height="71" uuid="d7dac611-e67c-45fd-b795-9d704ae37822"/>
<imageExpression><![CDATA["C:/Users/hamzah/Downloads/pngegg.png"]]></imageExpression>
</image>
<staticText>
<reportElement x="20" y="100" width="191" height="21" uuid="073f879a-0d32-48b7-924f-1c0068f82a49"/>
<textElement>
......@@ -47,12 +62,16 @@
</textElement>
<text><![CDATA[DAFTAR GROUP APLIKASI]]></text>
</staticText>
<image>
<reportElement x="59" y="22" width="50" height="50" uuid="616ae591-339c-4c6a-beb7-1c5db8306d80"/>
<imageExpression><![CDATA[$P{logo}]]></imageExpression>
</image>
<textField>
<reportElement x="111" y="30" width="340" height="30" uuid="821c62e9-865c-4586-9e53-ff72d03d4189"/>
<reportElement x="230" y="19" width="100" height="30" uuid="32f184cc-d09f-44cc-9637-84400c055f5e"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="16" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$P{judul1}]]></textFieldExpression>
<textFieldExpression><![CDATA[$P{judul}]]></textFieldExpression>
</textField>
</band>
</title>
......@@ -62,20 +81,7 @@
<columnHeader>
<band height="24" splitType="Stretch">
<staticText>
<reportElement mode="Opaque" x="10" y="2" width="91" height="21" backcolor="#F7E516" uuid="8b09b79a-77ce-4c05-87ed-0a9de42057b7"/>
<box>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Group]]></text>
</staticText>
<staticText>
<reportElement mode="Opaque" x="101" y="2" width="369" height="21" backcolor="#F7E516" uuid="b2839bdc-e0cc-47b2-8a5e-4890a6b3daca"/>
<reportElement mode="Opaque" x="250" y="2" width="311" height="21" backcolor="#F7E516" uuid="b2839bdc-e0cc-47b2-8a5e-4890a6b3daca"/>
<box>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
......@@ -88,7 +94,7 @@
<text><![CDATA[Deskripsi]]></text>
</staticText>
<staticText>
<reportElement mode="Opaque" x="470" y="2" width="91" height="21" backcolor="#F7E516" uuid="a2a310fd-6670-49bb-8a41-b2adb8eb1048"/>
<reportElement mode="Opaque" x="10" y="2" width="240" height="21" backcolor="#F7E516" uuid="8b09b79a-77ce-4c05-87ed-0a9de42057b7"/>
<box>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
......@@ -98,25 +104,14 @@
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Anggota]]></text>
<text><![CDATA[Group]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="21" splitType="Stretch">
<textField>
<reportElement x="470" y="0" width="91" height="21" uuid="3e05ad54-5bbb-4211-ad68-7bd5c9c652d9"/>
<box>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{member_count}]]></textFieldExpression>
</textField>
<band height="22" splitType="Stretch">
<textField>
<reportElement x="101" y="0" width="369" height="21" uuid="0f36284e-eadb-4603-b0f2-e2a68b7e508a"/>
<reportElement x="250" y="0" width="311" height="21" uuid="0f36284e-eadb-4603-b0f2-e2a68b7e508a"/>
<box>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
......@@ -127,7 +122,9 @@
<textFieldExpression><![CDATA[$F{description}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="10" y="0" width="91" height="21" uuid="7a46ccdd-d3f8-49d9-837c-f40c80ec869c"/>
<reportElement x="10" y="0" width="240" height="21" uuid="2c929d1a-e1bb-41cc-9f70-6c94f55ea0ea">
<property name="com.jaspersoft.studio.spreadsheet.connectionID" value="add93502-c54f-4ef3-912a-338d7f0ff64b"/>
</reportElement>
<box>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
......
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.20.5.final using JasperReports Library version 6.20.5-3efcf2e67f959db3888d79f73dde2dbd7acb4f8e -->
<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="eselon" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="7d562f08-fd4d-4bc6-946f-7da5138a9fed">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="POSTGRES"/>
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<parameter name="logo" class="java.lang.String"/>
<parameter name="judul" class="java.lang.String"/>
<queryString>
<![CDATA[select * FROM eselon]]>
</queryString>
<field name="pangkat" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="pangkat"/>
<property name="com.jaspersoft.studio.field.label" value="pangkat"/>
<property name="com.jaspersoft.studio.field.tree.path" value="eselon"/>
</field>
<field name="ruang" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="ruang"/>
<property name="com.jaspersoft.studio.field.label" value="ruang"/>
<property name="com.jaspersoft.studio.field.tree.path" value="eselon"/>
</field>
<field name="tunjangan" class="java.lang.Long">
<property name="com.jaspersoft.studio.field.name" value="tunjangan"/>
<property name="com.jaspersoft.studio.field.label" value="tunjangan"/>
<property name="com.jaspersoft.studio.field.tree.path" value="eselon"/>
</field>
<field name="nama" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="nama"/>
<property name="com.jaspersoft.studio.field.label" value="nama"/>
<property name="com.jaspersoft.studio.field.tree.path" value="eselon"/>
</field>
<field name="kode" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="kode"/>
<property name="com.jaspersoft.studio.field.label" value="kode"/>
<property name="com.jaspersoft.studio.field.tree.path" value="eselon"/>
</field>
<field name="status" class="java.lang.Integer">
<property name="com.jaspersoft.studio.field.name" value="status"/>
<property name="com.jaspersoft.studio.field.label" value="status"/>
<property name="com.jaspersoft.studio.field.tree.path" value="eselon"/>
</field>
<field name="created" class="java.sql.Timestamp">
<property name="com.jaspersoft.studio.field.name" value="created"/>
<property name="com.jaspersoft.studio.field.label" value="created"/>
<property name="com.jaspersoft.studio.field.tree.path" value="eselon"/>
</field>
<field name="updated" class="java.sql.Timestamp">
<property name="com.jaspersoft.studio.field.name" value="updated"/>
<property name="com.jaspersoft.studio.field.label" value="updated"/>
<property name="com.jaspersoft.studio.field.tree.path" value="eselon"/>
</field>
<field name="create_uid" class="java.lang.Integer">
<property name="com.jaspersoft.studio.field.name" value="create_uid"/>
<property name="com.jaspersoft.studio.field.label" value="create_uid"/>
<property name="com.jaspersoft.studio.field.tree.path" value="eselon"/>
</field>
<field name="update_uid" class="java.lang.Integer">
<property name="com.jaspersoft.studio.field.name" value="update_uid"/>
<property name="com.jaspersoft.studio.field.label" value="update_uid"/>
<property name="com.jaspersoft.studio.field.tree.path" value="eselon"/>
</field>
<field name="id" class="java.lang.Integer">
<property name="com.jaspersoft.studio.field.name" value="id"/>
<property name="com.jaspersoft.studio.field.label" value="id"/>
<property name="com.jaspersoft.studio.field.tree.path" value="eselon"/>
</field>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="109" splitType="Stretch">
<staticText>
<reportElement x="143" y="30" width="269" height="30" uuid="8be6d74b-7953-470f-8fbb-799d55a1f230"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="14" isBold="true"/>
</textElement>
<text><![CDATA[BADAN PENDAPATAN DAERAH]]></text>
</staticText>
<staticText>
<reportElement x="180" y="50" width="182" height="30" uuid="e981046a-d381-4156-a8ec-909bd97ac0f0"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[ALAMAT DEPARTEMEN BARIS 1]]></text>
</staticText>
<line>
<reportElement x="0" y="78" width="551" height="2" uuid="6ba2724e-aa88-4cd5-9227-000e66186123"/>
<graphicElement>
<pen lineWidth="4.0"/>
</graphicElement>
</line>
<image>
<reportElement x="20" y="0" width="50" height="50" uuid="d981af2b-a7d1-4205-ad04-74dff24ddef8"/>
<imageExpression><![CDATA[$P{logo}]]></imageExpression>
</image>
<textField>
<reportElement x="220" y="-3" width="100" height="30" uuid="8466c7b8-7fe9-4585-b9bf-a5ddcc934fc1"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="16" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$P{judul}]]></textFieldExpression>
</textField>
</band>
</title>
<columnHeader>
<band height="24" splitType="Stretch">
<staticText>
<reportElement mode="Opaque" x="0" y="2" width="250" height="21" backcolor="#F7E516" uuid="b8f2cc7e-8948-461b-9d45-85c2350e6042"/>
<box>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Kode]]></text>
</staticText>
<staticText>
<reportElement mode="Opaque" x="250" y="2" width="301" height="21" backcolor="#F7E516" uuid="1c5f44d2-6c76-4b75-b04f-8939a7645aee"/>
<box>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Jabatan]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="21" splitType="Stretch">
<textField>
<reportElement x="250" y="0" width="301" height="21" uuid="bf503a0d-10b1-4302-ba92-b9dd086fe120"/>
<box>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{nama}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="0" width="250" height="21" uuid="d417b2f6-c531-4b91-8071-79f569ebb974">
<property name="com.jaspersoft.studio.spreadsheet.connectionID" value="add93502-c54f-4ef3-912a-338d7f0ff64b"/>
</reportElement>
<box>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{kode}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band height="45" splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="55" splitType="Stretch"/>
</pageFooter>
<summary>
<band height="42" splitType="Stretch"/>
</summary>
</jasperReport>
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.20.5.final using JasperReports Library version 6.20.5-3efcf2e67f959db3888d79f73dde2dbd7acb4f8e -->
<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="users" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="cc1a9dab-bb8a-4181-94ac-73c3dc91137c">
<property name="ireport.zoom" value="1.3310000000000004"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="DatabaseAdapter.jrdax"/>
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<parameter name="judul" class="java.lang.String"/>
<parameter name="logo" class="java.lang.String"/>
<queryString>
<![CDATA[SELECT *
FROM res_provinsi]]>
</queryString>
<field name="kategori" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="kategori"/>
<property name="com.jaspersoft.studio.field.label" value="kategori"/>
<property name="com.jaspersoft.studio.field.tree.path" value="res_provinsi"/>
</field>
<field name="ibu_kota" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="ibu_kota"/>
<property name="com.jaspersoft.studio.field.label" value="ibu_kota"/>
<property name="com.jaspersoft.studio.field.tree.path" value="res_provinsi"/>
</field>
<field name="nama" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="nama"/>
<property name="com.jaspersoft.studio.field.label" value="nama"/>
<property name="com.jaspersoft.studio.field.tree.path" value="res_provinsi"/>
</field>
<field name="kode" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="kode"/>
<property name="com.jaspersoft.studio.field.label" value="kode"/>
<property name="com.jaspersoft.studio.field.tree.path" value="res_provinsi"/>
</field>
<field name="status" class="java.lang.Integer">
<property name="com.jaspersoft.studio.field.name" value="status"/>
<property name="com.jaspersoft.studio.field.label" value="status"/>
<property name="com.jaspersoft.studio.field.tree.path" value="res_provinsi"/>
</field>
<field name="created" class="java.sql.Timestamp">
<property name="com.jaspersoft.studio.field.name" value="created"/>
<property name="com.jaspersoft.studio.field.label" value="created"/>
<property name="com.jaspersoft.studio.field.tree.path" value="res_provinsi"/>
</field>
<field name="updated" class="java.sql.Timestamp">
<property name="com.jaspersoft.studio.field.name" value="updated"/>
<property name="com.jaspersoft.studio.field.label" value="updated"/>
<property name="com.jaspersoft.studio.field.tree.path" value="res_provinsi"/>
</field>
<field name="create_uid" class="java.lang.Integer">
<property name="com.jaspersoft.studio.field.name" value="create_uid"/>
<property name="com.jaspersoft.studio.field.label" value="create_uid"/>
<property name="com.jaspersoft.studio.field.tree.path" value="res_provinsi"/>
</field>
<field name="update_uid" class="java.lang.Integer">
<property name="com.jaspersoft.studio.field.name" value="update_uid"/>
<property name="com.jaspersoft.studio.field.label" value="update_uid"/>
<property name="com.jaspersoft.studio.field.tree.path" value="res_provinsi"/>
</field>
<field name="id" class="java.lang.Integer">
<property name="com.jaspersoft.studio.field.name" value="id"/>
<property name="com.jaspersoft.studio.field.label" value="id"/>
<property name="com.jaspersoft.studio.field.tree.path" value="res_provinsi"/>
</field>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="73" splitType="Stretch">
<staticText>
<reportElement x="63" y="40" width="492" height="20" uuid="abe9cbb1-2e91-4eb0-b3ee-05e9a967c5f6"/>
<textElement textAlignment="Center">
<font size="14" isBold="true"/>
</textElement>
<text><![CDATA[DAFTAR PROVINSI]]></text>
</staticText>
<image>
<reportElement x="10" y="10" width="53" height="58" uuid="3fe2de31-ff3e-4451-8d0d-6b2753184c09"/>
<imageExpression><![CDATA[$P{logo}]]></imageExpression>
</image>
<textField>
<reportElement x="63" y="10" width="492" height="30" uuid="00412b89-3587-423f-8aaf-1526e5f32540"/>
<textElement textAlignment="Center">
<font size="20" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$P{judul}]]></textFieldExpression>
</textField>
</band>
</title>
<pageHeader>
<band height="7" splitType="Stretch">
<line>
<reportElement x="0" y="-5" width="555" height="1" uuid="10e401ac-e33c-4e46-b2e1-62703f3cea4e"/>
<graphicElement>
<pen lineWidth="4.0"/>
</graphicElement>
</line>
</band>
</pageHeader>
<columnHeader>
<band height="20" splitType="Stretch">
<staticText>
<reportElement x="0" y="0" width="100" height="20" uuid="45c2cace-4a3f-495c-9002-be2f2ac8eca4"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center">
<font isBold="true" isUnderline="true"/>
</textElement>
<text><![CDATA[Kode]]></text>
</staticText>
<staticText>
<reportElement x="100" y="0" width="255" height="20" uuid="3a03e8b0-96f7-4754-b00e-ceae1a0e5aa9"/>
<box>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center">
<font isBold="true" isUnderline="true"/>
</textElement>
<text><![CDATA[Nama]]></text>
</staticText>
<staticText>
<reportElement x="355" y="0" width="200" height="20" uuid="f19e05c8-f1bf-4d94-927d-07111ed068df"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center">
<font isBold="true" isUnderline="true"/>
</textElement>
<text><![CDATA[Ibu Kota]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="20" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="100" height="20" uuid="aec5f07a-b9fb-4ce1-9e7e-957f6315acb0"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{kode}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="100" y="0" width="255" height="20" uuid="04eef3a7-87ca-4a27-9392-1368a6ba2fd1"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{nama}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="355" y="0" width="200" height="20" uuid="47051f05-f634-4c32-97cc-ce9af7b8f382"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{ibu_kota}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band height="45" splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="54" splitType="Stretch"/>
</pageFooter>
<summary>
<band height="42" splitType="Stretch"/>
</summary>
</jasperReport>
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.20.5.final using JasperReports Library version 6.20.5-3efcf2e67f959db3888d79f73dde2dbd7acb4f8e -->
<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="users" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="cc1a9dab-bb8a-4181-94ac-73c3dc91137c">
<property name="ireport.zoom" value="1.3310000000000004"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="DatabaseAdapter.jrdax"/>
<parameter name="judul" class="java.lang.String"/>
<parameter name="logo" class="java.lang.String"/>
<queryString>
<![CDATA[SELECT *
FROM external_identities]]>
</queryString>
<field name="external_id" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="external_id"/>
<property name="com.jaspersoft.studio.field.label" value="external_id"/>
<property name="com.jaspersoft.studio.field.tree.path" value="external_identities"/>
</field>
<field name="external_user_name" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="external_user_name"/>
<property name="com.jaspersoft.studio.field.label" value="external_user_name"/>
<property name="com.jaspersoft.studio.field.tree.path" value="external_identities"/>
</field>
<field name="local_user_id" class="java.lang.Integer">
<property name="com.jaspersoft.studio.field.name" value="local_user_id"/>
<property name="com.jaspersoft.studio.field.label" value="local_user_id"/>
<property name="com.jaspersoft.studio.field.tree.path" value="external_identities"/>
</field>
<field name="provider_name" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="provider_name"/>
<property name="com.jaspersoft.studio.field.label" value="provider_name"/>
<property name="com.jaspersoft.studio.field.tree.path" value="external_identities"/>
</field>
<field name="access_token" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="access_token"/>
<property name="com.jaspersoft.studio.field.label" value="access_token"/>
<property name="com.jaspersoft.studio.field.tree.path" value="external_identities"/>
</field>
<field name="alt_token" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="alt_token"/>
<property name="com.jaspersoft.studio.field.label" value="alt_token"/>
<property name="com.jaspersoft.studio.field.tree.path" value="external_identities"/>
</field>
<field name="token_secret" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="token_secret"/>
<property name="com.jaspersoft.studio.field.label" value="token_secret"/>
<property name="com.jaspersoft.studio.field.tree.path" value="external_identities"/>
</field>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="73" splitType="Stretch">
<staticText>
<reportElement x="63" y="40" width="492" height="20" uuid="abe9cbb1-2e91-4eb0-b3ee-05e9a967c5f6"/>
<textElement textAlignment="Center">
<font size="14" isBold="true"/>
</textElement>
<text><![CDATA[DAFTAR EXTERNAL USER]]></text>
</staticText>
<image>
<reportElement x="10" y="10" width="53" height="58" uuid="3fe2de31-ff3e-4451-8d0d-6b2753184c09"/>
<imageExpression><![CDATA[$P{logo}]]></imageExpression>
</image>
<textField>
<reportElement x="63" y="10" width="492" height="30" uuid="00412b89-3587-423f-8aaf-1526e5f32540"/>
<textElement textAlignment="Center">
<font size="20" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$P{judul}]]></textFieldExpression>
</textField>
</band>
</title>
<pageHeader>
<band height="10" splitType="Stretch">
<line>
<reportElement x="0" y="-5" width="555" height="1" uuid="7b197a7c-c9f8-4564-8934-0c288f892b7d"/>
<graphicElement>
<pen lineWidth="4.0"/>
</graphicElement>
</line>
</band>
</pageHeader>
<columnHeader>
<band height="20" splitType="Stretch">
<staticText>
<reportElement x="0" y="0" width="100" height="20" uuid="45c2cace-4a3f-495c-9002-be2f2ac8eca4"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center">
<font isBold="true" isUnderline="true"/>
</textElement>
<text><![CDATA[User Name]]></text>
</staticText>
<staticText>
<reportElement x="100" y="0" width="255" height="20" uuid="3a03e8b0-96f7-4754-b00e-ceae1a0e5aa9"/>
<box>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center">
<font isBold="true" isUnderline="true"/>
</textElement>
<text><![CDATA[Provider]]></text>
</staticText>
<staticText>
<reportElement x="355" y="0" width="200" height="20" uuid="f19e05c8-f1bf-4d94-927d-07111ed068df"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center">
<font isBold="true" isUnderline="true"/>
</textElement>
<text><![CDATA[User ID]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="20" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="100" height="20" uuid="aec5f07a-b9fb-4ce1-9e7e-957f6315acb0"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{external_user_name}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="100" y="0" width="255" height="20" uuid="04eef3a7-87ca-4a27-9392-1368a6ba2fd1"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{provider_name}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="355" y="0" width="200" height="20" uuid="47051f05-f634-4c32-97cc-ce9af7b8f382"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{local_user_id}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band height="45" splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="54" splitType="Stretch"/>
</pageFooter>
<summary>
<band height="42" splitType="Stretch"/>
</summary>
</jasperReport>
......@@ -6,12 +6,8 @@
<property name="ireport.y" value="0"/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="DemoAdapter.jrdax"/>
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<parameter name="Judul" class="java.lang.String">
<defaultValueExpression><![CDATA[PEMERINTAH TANGERANG]]></defaultValueExpression>
</parameter>
<parameter name="Logo" class="java.lang.String">
<defaultValueExpression><![CDATA["C:\\Users\\ASUS\\Downloads\\bangkit.png"]]></defaultValueExpression>
</parameter>
<parameter name="judul" class="java.lang.String"/>
<parameter name="logo" class="java.lang.String"/>
<queryString>
<![CDATA[SELECT *
FROM users]]>
......@@ -34,22 +30,22 @@ FROM users]]>
<title>
<band height="73" splitType="Stretch">
<staticText>
<reportElement x="230" y="40" width="130" height="20" uuid="abe9cbb1-2e91-4eb0-b3ee-05e9a967c5f6"/>
<textElement>
<reportElement x="63" y="40" width="492" height="20" uuid="abe9cbb1-2e91-4eb0-b3ee-05e9a967c5f6"/>
<textElement textAlignment="Center">
<font size="14" isBold="true"/>
</textElement>
<text><![CDATA[DAFTAR PARTNER]]></text>
<text><![CDATA[DAFTAR USER]]></text>
</staticText>
<image>
<reportElement x="10" y="10" width="53" height="58" uuid="3fe2de31-ff3e-4451-8d0d-6b2753184c09"/>
<imageExpression><![CDATA[$P{Logo}]]></imageExpression>
<imageExpression><![CDATA[$P{logo}]]></imageExpression>
</image>
<textField>
<reportElement x="-20" y="10" width="595" height="30" uuid="00412b89-3587-423f-8aaf-1526e5f32540"/>
<reportElement x="63" y="10" width="492" height="30" uuid="00412b89-3587-423f-8aaf-1526e5f32540"/>
<textElement textAlignment="Center">
<font size="20" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$P{Judul}]]></textFieldExpression>
<textFieldExpression><![CDATA[$P{judul}]]></textFieldExpression>
</textField>
</band>
</title>
......@@ -60,6 +56,12 @@ FROM users]]>
<band height="20" splitType="Stretch">
<staticText>
<reportElement x="0" y="0" width="100" height="20" uuid="45c2cace-4a3f-495c-9002-be2f2ac8eca4"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center">
<font isBold="true" isUnderline="true"/>
</textElement>
......@@ -67,6 +69,12 @@ FROM users]]>
</staticText>
<staticText>
<reportElement x="100" y="0" width="255" height="20" uuid="3a03e8b0-96f7-4754-b00e-ceae1a0e5aa9"/>
<box>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center">
<font isBold="true" isUnderline="true"/>
</textElement>
......@@ -74,6 +82,12 @@ FROM users]]>
</staticText>
<staticText>
<reportElement x="355" y="0" width="100" height="20" uuid="f19e05c8-f1bf-4d94-927d-07111ed068df"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center">
<font isBold="true" isUnderline="true"/>
</textElement>
......@@ -81,6 +95,12 @@ FROM users]]>
</staticText>
<staticText>
<reportElement x="455" y="0" width="100" height="20" uuid="8a8040c2-e6ba-4473-835f-c9cfe3568fb9"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center">
<font isBold="true" isUnderline="true"/>
</textElement>
......@@ -89,24 +109,48 @@ FROM users]]>
</band>
</columnHeader>
<detail>
<band height="22" splitType="Stretch">
<band height="20" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="100" height="20" uuid="aec5f07a-b9fb-4ce1-9e7e-957f6315acb0"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{user_name}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="100" y="0" width="255" height="20" uuid="04eef3a7-87ca-4a27-9392-1368a6ba2fd1"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{email}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="455" y="0" width="100" height="20" uuid="24a12a8f-a1e1-4ae3-adb7-bbcf450560ee"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{registered_date}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="355" y="0" width="100" height="20" uuid="47051f05-f634-4c32-97cc-ce9af7b8f382"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{status}]]></textFieldExpression>
</textField>
......
urut,kode,nama,ibu_kota,kategori,provinsi_id/res_propinsi.kode
01,ID-JB.01,Kabupaten Bandung,Soreang,kabupaten,ID-JB
02,ID-JB.02,Kabupaten Bandung Barat,Ngamprah,kabupaten,ID-JB
03,ID-JB.03,Kabupaten Bekasi,Cikarang Pusat,kabupaten,ID-JB
04,ID-JB.04,Kabupaten Bogor,Cibinong,kabupaten,ID-JB
05,ID-JB.05,Kabupaten Ciamis,Ciamis,kabupaten,ID-JB
06,ID-JB.06,Kabupaten Cianjur,Cianjur,kabupaten,ID-JB
07,ID-JB.07,Kabupaten Cirebon,Sumber,kabupaten,ID-JB
08,ID-JB.08,Kabupaten Garut,Tarogong Kidul,kabupaten,ID-JB
09,ID-JB.9,Kabupaten Indramayu,Indramayu,kabupaten,ID-JB
10,ID-JB.10,Kabupaten Karawang,Karawang Barat,kabupaten,ID-JB
11,ID-JB.11,Kabupaten Kuningan,Kuningan,kabupaten,ID-JB
12,ID-JB.12,Kabupaten Majalengka,Majalengka,kabupaten,ID-JB
13,ID-JB.13,Kabupaten Pangandaran,Parigi,kabupaten,ID-JB
14,ID-JB.14,Kabupaten Purwakarta,Purwakarta,kabupaten,ID-JB
15,ID-JB.15,Kabupaten Subang,Subang,kabupaten,ID-JB
16,ID-JB.16,Kabupaten Sukabumi,Palabuhanratu,kabupaten,ID-JB
17,ID-JB.17,Kabupaten Sumedang,Sumedang Utara,kabupaten,ID-JB
18,ID-JB.18,Kabupaten Tasikmalaya,Singaparna,kabupaten,ID-JB
19,ID-JB.19,Kota Bandung,Bandung,kota,ID-JB
20,ID-JB.20,Kota Banjar,Banjar,kota,ID-JB
21,ID-JB.21,Kota Bekasi,Bekasi,kota,ID-JB
22,ID-JB.22,Kota Bogor,Bogor,kota,ID-JB
23,ID-JB.23,Kota Cimahi,Cimahi,kota,ID-JB
24,ID-JB.24,Kota Cirebon,Cirebon,kota,ID-JB
25,ID-JB.25,Kota Depok,Depok,kota,ID-JB
26,ID-JB.26,Kota Sukabumi,Sukabumi,kota,ID-JB
27,ID-JB.27,Kota Tasikmalaya,Tasikmalaya,kota,ID-JB
......@@ -44,14 +44,16 @@ group-add,/group/add,Tambah group,
group-edit,/group/{id}/edit,Edit group,
group-view,/group/{id}/view,View group,
group-delete,/group/{id}/delete,Hapus group,
group-upload,/group/upload,Upload group,
group-act,/group/{act}/act,Act Groups,
group-rpt,/group/{rpt}/rpt,Groups Report,
user-group,/user/group,Daftar User groups,
user-group-add,/user/group/add,Tambah user groups,
user-group-edit,/user/group/{id}/edit,Edit user groups,
user-group-view,/user/group/{id}/view,View user groups,
user-group-delete,/user/group/{id}/delete,Hapus user groups,
user-group-act,/user/group/{act}/act,Act User-Groups,
user-group,/user/group,Daftar User groups,1,0,
user-group-add,/user/group/add,Tambah user groups,1,0,
user-group-edit,/user/group/{id}/edit,Edit user groups,1,0,
user-group-view,/user/group/{id}/view,View user groups,1,0,
user-group-delete,/user/group/{id}/delete,Hapus user groups,1,0,
user-group-upload,/user/group/{id}/upload,Upload user groups,1,0,
user-group-act,/user/group/{act}/act,Act User-Groups,1,0,
routes,/routes,Routes,
routes-add,/routes/add,Tambah route,
routes-edit,/routes/{id}/edit,Edit route,
......@@ -62,6 +64,7 @@ group-routes,/group/routes,Group Permission,
group-routes-add,/group/routes/add,Tambah group permission,
group-routes-edit,/group/routes/{group_id}/{route_id}/edit,Edit group permission,
group-routes-delete,/group/routes/{group_id}/{route_id}/delete,Hapus group permission,
group-routes-upload,/group/routes/{group_id}/{route_id}/upload,Upload group permission,
group-routes-act,/group/routes/{act}/act,Act grouppermission,
parameter,/parameter,Parameter,
parameter-add,/parameter/add,Tambah paramater,
......@@ -81,6 +84,7 @@ partner-rpt,/partner/{rpt}/rpt,Partner Report,
partner-edit,/partner/{id}/edit,Partner Edt,
partner-view,/partner/{id}/view,Partner view,
partner-delete,/partner/{id}/delete,Partner Del,
partner-upload,/partner/upload,Partner Upload,
departemen,/departemen,Organisasi,
departemen-act,/departemen/{act}/act,Organisasi Act,
departemen-add,/departemen/add,Organisasi Tambah,
......@@ -113,6 +117,7 @@ eselon-edit,/eselon/{id}/edit,Edit Eselon,
eselon-view,/eselon/{id}/view,View Eselon,
eselon-delete,/eselon/{id}/delete,Hapus Eselon,
eselon-act,/eselon/{act}/act,Act Eselon,
eselon-upload,/eselon/upload,Upload Eselon,
jabatan,/jabatan,Daftar Jabatan,
jabatan-add,/jabatan/add,Tambah Jabatan,
jabatan-edit,/jabatan/{id}/edit,Edit Jabatan,
......
email,status,user_name
admin@local.host,1,admin
guest@local.host,1,guest
......@@ -89,10 +89,10 @@ def jasper_export(input_file, output_file=None, schema=None,
module_file = input_file[0]
input_file = input_file[1]
if module_file:
path = __import__(module_file)
path = os.path.dirname(path.__file__)
input_file = os.path.join(path, input_file)
if module_file:
path = __import__(module_file)
path = os.path.dirname(path.__file__)
input_file = os.path.join(path, input_file)
else:
input_file = input_file[0]
......
......@@ -2,7 +2,7 @@ import logging
from datetime import timedelta
import colander
from deform import (
Form, ValidationFailure, widget, Button, FileData)
Form, ValidationFailure, widget, FileData)
from pyramid.httpexceptions import (
HTTPFound, HTTPForbidden, HTTPNotFound, HTTPInternalServerError,
HTTPSeeOther)
......@@ -23,11 +23,15 @@ log = logging.getLogger(__name__)
from datatables import ColumnDT
# , DataTables, get_urls)
btn_upload = Button('upload', title=_('import'), css_class="btn-info")
from deform.form import Button
# Coba tambah tombol baru import
button_import = Button('upload', title=_('Import'), css_class='btn-info')
def no_action():
test = ColumnDT
......
from . import DataTables, button_import
import os
from . import DataTables, button_import, get_params
from .partner_base import PartnerSchema
from .. import get_urls
from ..views import BaseView
......@@ -13,7 +14,10 @@ from sqlalchemy.orm import aliased
from opensipkd.models import DBSession, ResCompany, ResKecamatan, Partner
from opensipkd.models import ResProvinsi, ResDati2, ResDesa, User
from opensipkd.tools.buttons import btn_upload
from opensipkd.tools.report import file_response
# lib buat mendapatkan full path asset
from pyramid.path import AssetResolver
log = logging.getLogger(__name__)
SESS_ADD_FAILED = 'Tambah pemda gagal'
......@@ -100,6 +104,10 @@ class ViewCompany(BaseView):
self.table = ResCompany
self.list_buttons = self.list_buttons + self.list_report + (button_import,)
path = os.path.dirname(__file__)
path = os.path.dirname(path)
self.report_file = os.path.join(path, 'reports', 'pemerintah.jrxml')
def form_validator(self, form, value):
err = colander.Invalid(form, "")
......@@ -194,42 +202,61 @@ class ViewCompany(BaseView):
self.table.id == self.req.user.company_id)
return query
# Mendapatkan path gambar
def get_module_path(self, module_name):
a = AssetResolver(module_name)
resolver = a.resolve('')
return resolver.abspath()
def pdf_response(self, **kwargs):
from opensipkd.base.tools.report import jasper_export
logo = self.get_module_path('opensipkd.base')
logo = os.path.join(logo, 'static', 'img', 'logo.png')
parameters = {
"judul": get_params('company', "openSIPKD"),
"logo": logo
}
print(parameters)
filename = jasper_export(self.report_file, parameters=parameters)
return file_response(self.req, filename=filename[0])
@view_config(
route_name='company-act',
renderer='json',
permission='view')
def view_act(self):
request = self.req
ses = request.session
params = request.params
url_dict = request.matchdict
alias = aliased(ResCompany)
if url_dict['act'] == 'grid':
columns = [ColumnDT(self.table.id, mData='id'),
ColumnDT(self.table.kode, mData='kode'),
ColumnDT(self.table.nama, mData='nama'),
ColumnDT(alias.nama, mData='parent_nm'),
ColumnDT(self.table.status, mData='status'),
# ColumnDT(Departemen.level_id, mData='level_id'),
]
query = DBSession.query().select_from(ResCompany).outerjoin(
alias, ResCompany.parent_id == alias.id)
query = self.filter_company(query)
row_table = DataTables(request.GET, query, columns)
return row_table.output_result()
elif url_dict['act'] == 'hon':
term = 'term' in params and params['term'] or ''
q = DBSession.query(self.table) \
.filter(self.table.status == 1,
self.table.nama.ilike('%%%s%%' % term)) \
.order_by(self.table.nama)
rows = q.all()
r = []
for k in rows:
d = dict(id=k.id, value=k.nama, kode=k.kode, nama=k.nama)
r.append(d)
log.error(r)
return r
# request = self.req
# ses = request.session
# params = request.params
# url_dict = request.matchdict
# alias = aliased(ResCompany)
# if url_dict['act'] == 'grid':
# columns = [ColumnDT(self.table.id, mData='id'),
# ColumnDT(self.table.kode, mData='kode'),
# ColumnDT(self.table.nama, mData='nama'),
# ColumnDT(alias.nama, mData='parent_nm'),
# ColumnDT(self.table.status, mData='status'),
# # ColumnDT(Departemen.level_id, mData='level_id'),
# ]
# query = DBSession.query().select_from(ResCompany).outerjoin(
# alias, ResCompany.parent_id == alias.id)
# query = self.filter_company(query)
# row_table = DataTables(request.GET, query, columns)
# return row_table.output_result()
# elif url_dict['act'] == 'hon':
# term = 'term' in params and params['term'] or ''
# q = DBSession.query(self.table) \
# .filter(self.table.status == 1,
# self.table.nama.ilike('%%%s%%' % term)) \
# .order_by(self.table.nama)
# rows = q.all()
# r = []
# for k in rows:
# d = dict(id=k.id, value=k.nama, kode=k.kode, nama=k.nama)
# r.append(d)
# log.error(r)
# return r
return super(ViewCompany, self).view_act()
@view_config(
route_name='company-add',
......@@ -261,7 +288,7 @@ class ViewCompany(BaseView):
@view_config(
route_name='company-delete',
renderer='templates/form_input.pt',
renderer='templates/form.pt',
permission='company')
def view_delete(self):
return super(ViewCompany, self).view_delete()
......
import os
import colander
from deform import (widget, )
from pyramid.i18n import TranslationStringFactory
from pyramid.view import (view_config, )
from . import BaseView, btn_upload
from . import widget_os
from .provinsi import provinsi_widget
from opensipkd.models import DBSession, ResDati2, kategori_dati2, ResProvinsi
from ..views import BaseView
from . import BaseView, btn_upload
from pyramid.path import AssetResolver
from . import BaseView, button_import, get_params
from opensipkd.tools.report import csv_response, file_response
_ = TranslationStringFactory("opensipkd")
......@@ -69,6 +74,30 @@ class ViewDati2(BaseView):
self.edit_schema = EditSchema
self.table = ResDati2
self.list_schema = ListSchema
self.list_buttons = self.list_buttons + self.list_report + (btn_upload,)
path = os.path.dirname(__file__)
path = os.path.dirname(path)
self.report_file = os.path.join(path, 'reports', 'kabupaten.jrxml')
# Mendapatkan path gambar
def get_module_path(self, module_name):
a = AssetResolver(module_name)
resolver = a.resolve('')
return resolver.abspath()
def pdf_response(self, **kwargs):
# print("PDF RESPONSE======================================")
from opensipkd.base.tools.report import jasper_export
logo = self.get_module_path('opensipkd.base')
logo = os.path.join(logo, 'static', 'img', 'logo.png')
parameters = {
"judul": get_params('company', "openSIPKD"),
"logo": logo
}
print(parameters)
filename = jasper_export(self.report_file, parameters=parameters)
return file_response(self.req, filename=filename[0])
def form_validator(self, form, value):
def err_kode():
......@@ -151,4 +180,4 @@ class ViewDati2(BaseView):
@view_config(route_name='dati2-upload',
renderer='templates/form.pt', permission='wilayah')
def view_upload(self):
return super(ViewDati2, self).view_upload(exts=(".csv",))
return super(ViewDati2,self).view_upload(exts=('.csv', ".tsv"))
\ No newline at end of file
import os
import colander
from deform import (widget, )
from opensipkd.models import DBSession, ResDesa, kategori_desa, ResKecamatan, ResProvinsi, ResDati2
from opensipkd.tools.buttons import btn_upload, btn_close, btn_add
from . import BaseView, btn_upload
from opensipkd.tools.buttons import btn_close, btn_add
from pyramid.i18n import TranslationStringFactory
from pyramid.view import (view_config, )
from . import BaseView, btn_upload
from pyramid.path import AssetResolver
from . import BaseView, button_import, get_params
from opensipkd.tools.report import csv_response, file_response
from .dati2 import dati2_widget
from .kecamatan import kecamatan_widget
from .provinsi import provinsi_widget
......@@ -15,6 +20,14 @@ _ = TranslationStringFactory("opensipkd")
SESS_ADD_FAILED = 'Tambah desa gagal'
SESS_EDIT_FAILED = 'Edit desa gagal'
def get_desa_list():
# r = [("", "--Pilih Desa--")]
r = []
q = DBSession.query(ResDesa).order_by(ResDesa.nama)
for row in q:
g = (str(row.id), (f"{row.kode}/ {row.nama}"))
r.append(g)
return r
@colander.deferred
def desa_widget(node, kw):
......@@ -80,7 +93,29 @@ class ViewDesa(BaseView):
self.edit_schema = EditSchema
self.table = ResDesa
self.list_schema = ListSchema
self.list_buttons = (btn_add, btn_close, btn_upload)
self.list_buttons = self.list_buttons + self.list_report + (btn_upload,)
path = os.path.dirname(__file__)
path = os.path.dirname(path)
self.report_file = os.path.join(path, 'reports', 'desa.jrxml')
# Mendapatkan path gambar
def get_module_path(self, module_name):
a = AssetResolver(module_name)
resolver = a.resolve('')
return resolver.abspath()
def pdf_response(self, **kwargs):
# print("PDF RESPONSE======================================")
from opensipkd.base.tools.report import jasper_export
logo = self.get_module_path('opensipkd.base')
logo = os.path.join(logo, 'static', 'img', 'logo.png')
parameters = {
"judul": get_params('company', "openSIPKD"),
"logo": logo
}
print(parameters)
filename = jasper_export(self.report_file, parameters=parameters)
return file_response(self.req, filename=filename[0])
def form_validator(self, form, value):
def err_kode():
......@@ -178,8 +213,8 @@ class ViewDesa(BaseView):
renderer='templates/form.pt', permission='wilayah')
def view_delete(self):
return super(ViewDesa, self).view_delete()
@view_config(route_name='desa-upload',
renderer='templates/form.pt', permission='wilayah')
def view_upload(self):
return super(ViewDesa, self).view_upload(exts=('.csv', ".tsv"))
return super().view_upload(exts=('.csv', ".tsv"))
import os
import colander
from deform import (
widget,
......@@ -11,7 +12,10 @@ from opensipkd.models import (
Eselon
)
from ..views import BaseView
from . import BaseView, btn_upload
from pyramid.path import AssetResolver
from . import BaseView, button_import, get_params
from opensipkd.tools.report import csv_response, file_response
SESS_ADD_FAILED = 'Tambah eselon gagal'
SESS_EDIT_FAILED = 'Edit eselon gagal'
......@@ -66,11 +70,41 @@ class Views(BaseView):
self.edit_schema = EditSchema
self.table = Eselon
self.list_schema = ListSchema
self.list_buttons = self.list_buttons + self.list_report + (btn_upload,)
path = os.path.dirname(__file__)
path = os.path.dirname(path)
self.report_file = os.path.join(path, 'reports', 'eselon.jrxml')
# Mendapatkan path gambar
def get_module_path(self, module_name):
a = AssetResolver(module_name)
resolver = a.resolve('')
return resolver.abspath()
def pdf_response(self, **kwargs):
# print("PDF RESPONSE======================================")
from opensipkd.base.tools.report import jasper_export
logo = self.get_module_path('opensipkd.base')
logo = os.path.join(logo, 'static', 'img', 'logo.png')
parameters = {
"judul": get_params('company', "openSIPKD"),
"logo": logo
}
print(parameters)
filename = jasper_export(self.report_file, parameters=parameters)
return file_response(self.req, filename=filename[0])
@view_config(route_name='eselon', renderer='templates/table.pt',
permission='eselon')
def view_list(self):
return super(Views, self).view_list()
@view_config(route_name='eselon-upload',
renderer='templates/form.pt', permission='user-upload')
def view_upload(self):
self.upload_keys = ["kode"]
return super().view_upload(exts=('.csv', ".tsv"))
@view_config(route_name='eselon-act', renderer='json',
permission='read')
......
import os
import re
import colander
from deform import widget
from pyramid.i18n import TranslationStringFactory
from pyramid.view import view_config
from . import BaseView, btn_upload
from pyramid.path import AssetResolver
from . import BaseView, button_import, get_params
from . import BaseView
from opensipkd.tools import get_random_string
from opensipkd.tools.report import csv_response, file_response
from opensipkd.models import (
DBSession,
Group,
......@@ -11,7 +17,7 @@ from opensipkd.models import (
GroupPermission,
)
_ = TranslationStringFactory('user')
_ = TranslationStringFactory ('user')
@colander.deferred
......@@ -58,10 +64,49 @@ class Views(BaseView):
self.table = Group
self.add_schema = AddSchema
self.edit_schema = EditSchema
self.list_buttons = self.list_buttons + self.list_report + (btn_upload,)
path = os.path.dirname(__file__)
path = os.path.dirname(path)
self.report_file = os.path.join(path, 'reports', 'group.jrxml')
# Mendapatkan path gambar
def get_module_path(self, module_name):
a = AssetResolver(module_name)
resolver = a.resolve('')
return resolver.abspath()
def pdf_response(self, **kwargs):
# print("PDF RESPONSE======================================")
from opensipkd.base.tools.report import jasper_export
logo = self.get_module_path('opensipkd.base')
logo = os.path.join(logo, 'static', 'img', 'logo.png')
parameters = {
"judul": get_params('company', "openSIPKD"),
"logo": logo
}
print(parameters)
filename = jasper_export(self.report_file, parameters=parameters)
return file_response(self.req, filename=filename[0])
def get_bindings(self, row=None):
return dict(group=row,
permissions_list=get_permissions_list())
def query_register():
return DBSession.query(Group.group_name, Group.description,).order_by(Group.group_name)
#def csv_response(self, **kwargs):
#query = self.table.query_register()
#row = query.first()
#header = row._mapping.keys()
#rows = [list(item) for item in query.all()]
#filename = f"{get_random_string(16)}.csv"
#value = {
#'header': header,
#'rows': rows,
#}
#return csv_response(self.req, value, filename)
@view_config(
route_name='group', renderer='templates/table.pt',
......@@ -132,7 +177,13 @@ class Views(BaseView):
permission='user-view')
def view_view(self):
return super(Views, self).view_view()
@view_config(route_name='group-upload',
renderer='templates/form.pt', permission='user-upload')
def view_upload(self):
self.upload_keys = ["group_name"]
return super().view_upload(exts=('.csv', ".tsv"))
@view_config(
route_name='group-edit', renderer='templates/form.pt',
permission='user-edit')
......
import os
import logging
import colander
from deform import (
......@@ -8,12 +9,16 @@ from opensipkd.models import DBSession, Partner, PartnerFiles
from opensipkd.models import (
ResProvinsi, ResDati2, ResKecamatan, ResDesa)
from opensipkd.models.common import ResCompany
from . import BaseView, btn_upload
from pyramid.path import AssetResolver
from . import BaseView, button_import, get_params
from opensipkd.tools.report import csv_response, file_response
from opensipkd.tools import Upload, img_exts
from pyramid.i18n import TranslationStringFactory
from pyramid.view import (
view_config,
)
from . import BaseView, btn_upload
from .company import company_widget
from .partner_base import PartnerSchema
# from .. import partner_idcard_url
......@@ -106,6 +111,29 @@ class ViewPartner(BaseView):
self.table = Partner
self.list_schema = ListSchema
self.save_state = True
self.list_buttons = self.list_buttons + self.list_report + (btn_upload,)
path = os.path.dirname(__file__)
path = os.path.dirname(path)
self.report_file = os.path.join(path, 'reports', 'partner1.jrxml')
# Mendapatkan path gambar
def get_module_path(self, module_name):
a = AssetResolver(module_name)
resolver = a.resolve('')
return resolver.abspath()
def pdf_response(self, **kwargs):
# print("PDF RESPONSE======================================")
from opensipkd.base.tools.report import jasper_export
logo = self.get_module_path('opensipkd.base')
logo = os.path.join(logo, 'static', 'img', 'logo.png')
parameters = {
"judul": get_params('company', "openSIPKD"),
"logo": logo
}
print(parameters)
filename = jasper_export(self.report_file, parameters=parameters)
return file_response(self.req, filename=filename[0])
########
# List #
......@@ -213,6 +241,12 @@ class ViewPartner(BaseView):
permission='user-edit')
def view_view(self):
return super().view_view()
@view_config(route_name='partner-upload',
renderer='templates/upload.pt', permission='user-upload')
def view_upload(self):
self.upload_keys = ["kode"]
return super(ViewPartner,self).view_upload(exts=('.csv', ".tsv"))
@view_config(route_name='partner-delete', renderer='templates/form.pt',
permission='user-edit')
......
from . import widget_os, button_import
import os
from . import widget_os, button_import, get_params
from ..views import BaseView
import colander
......@@ -7,7 +8,10 @@ from pyramid.i18n import TranslationStringFactory
from pyramid.view import (view_config, )
from opensipkd.models import DBSession, ResProvinsi, kategori_provinsi
from opensipkd.tools.buttons import btn_upload
from opensipkd.tools.report import file_response
# lib buat mendapatkan full path asset
from pyramid.path import AssetResolver
_ = TranslationStringFactory("opensipkd")
......@@ -83,6 +87,10 @@ class ViewProvinsi(BaseView):
self.table = ResProvinsi
self.list_buttons = self.list_buttons + self.list_report + (button_import,)
path = os.path.dirname(__file__)
path = os.path.dirname(path)
self.report_file = os.path.join(path, 'reports', 'provinsi.jrxml')
########
# List #
########
......@@ -134,6 +142,24 @@ class ViewProvinsi(BaseView):
def view_list(self):
return super(ViewProvinsi, self).view_list()
# Mendapatkan path gambar
def get_module_path(self, module_name):
a = AssetResolver(module_name)
resolver = a.resolve('')
return resolver.abspath()
def pdf_response(self, **kwargs):
from opensipkd.base.tools.report import jasper_export
logo = self.get_module_path('opensipkd.base')
logo = os.path.join(logo, 'static', 'img', 'logo.png')
parameters = {
"judul": get_params('company', "openSIPKD"),
"logo": logo
}
print(parameters)
filename = jasper_export(self.report_file, parameters=parameters)
return file_response(self.req, filename=filename[0])
@view_config(
route_name='provinsi-act',
renderer='json',
......
from . import BaseView, button_import
from . import BaseView, button_import, get_params
from .company import company_widget
from .user_login import (regenerate_security_code, send_email_security_code, generate_api_key,)
import os
......@@ -14,6 +14,9 @@ from pyramid.view import view_config
from sqlalchemy import (func,)
from ziggurat_foundations.models.services.user import UserService
# lib buat mendapatkan full path asset
from pyramid.path import AssetResolver
_ = TranslationStringFactory('user')
......@@ -85,6 +88,24 @@ class Views(BaseView):
def view_list(self):
return super(Views, self).view_list()
# Mendapatkan path gambar
def get_module_path(self, module_name):
a = AssetResolver(module_name)
resolver = a.resolve('')
return resolver.abspath()
def pdf_response(self, **kwargs):
from opensipkd.base.tools.report import jasper_export
logo = self.get_module_path('opensipkd.base')
logo = os.path.join(logo, 'static', 'img', 'logo.png')
parameters = {
"judul": get_params('company', "openSIPKD"),
"logo": logo
}
print(parameters)
filename = jasper_export(self.report_file, parameters=parameters)
return file_response(self.req, filename=filename[0])
@view_config(
route_name='user-act',
renderer='json',
......@@ -102,7 +123,7 @@ class Views(BaseView):
# 'rows': rows,
# }
# return csv_response(self.req, value, filename)
#
# elif url_dict['act'] == 'pdf':
# query = query_register()
# import opensipkd.base
......
import os
import colander
import logging
from deform import widget
from pyramid.view import view_config
from . import BaseView, btn_upload
from pyramid.path import AssetResolver
from . import BaseView, button_import, get_params
from ...models import DBSession, ResDesa, User, UserArea
from .desa import desa_widget, get_desa_list
from pyramid.i18n import TranslationStringFactory
from opensipkd.tools.report import csv_response, file_response
from . import BaseView
from ...models import ResDesa, User, UserArea
_ = TranslationStringFactory('myapp')
log = logging.getLogger(__name__)
class ListSchema(colander.Schema):
id = colander.SchemaNode(
......@@ -23,27 +31,36 @@ class ListSchema(colander.Schema):
colander.String(),
field=ResDesa.nama)
@colander.deferred
def desa_checkbox_widget(node, kw):
values = kw.get('desa_list', [])
return widget.CheckboxChoiceWidget(values=values) # Tetap menggunakan CheckboxChoiceWidget
def single_choice_validator(node, value):
"""Validator untuk memastikan hanya satu opsi yang dipilih."""
if len(value) > 1:
raise colander.Invalid(node, "Hanya boleh memilih satu Kelurahan/Desa.")
class AddSchema(colander.Schema):
user_id = colander.SchemaNode(
colander.Integer(),
widget=widget.RadioChoiceWidget(values=User.get_list()),
widget=widget.SelectWidget(values=User.get_list()),
oid="user_id",
title="User",
)
desa_id = colander.SchemaNode(
colander.Integer(),
widget=widget.SelectWidget(values=ResDesa.get_list()),
colander.Set(), # Kembali ke colander.Set()
widget=desa_checkbox_widget,
validator=single_choice_validator, # Tambahkan validator
oid="desa_id",
title="Kelurahan/Desa", )
title="Kelurahan/Desa",
)
class EditSchema(AddSchema):
id = colander.SchemaNode(colander.String(),
missing=colander.drop,
widget=widget.HiddenWidget(readonly=True))
class Views(BaseView):
def __init__(self, request):
super().__init__(request)
......@@ -52,7 +69,28 @@ class Views(BaseView):
self.edit_schema = EditSchema
self.list_route = 'user-area'
self.table = UserArea
self.list_buttons = self.list_buttons + self.list_report + (btn_upload,)
path = os.path.dirname(__file__)
path = os.path.dirname(path)
self.report_file = os.path.join(path, 'reports', 'user_area.jrxml')
# Mendapatkan path gambar
def get_module_path(self, module_name):
a = AssetResolver(module_name)
resolver = a.resolve('')
return resolver.abspath()
def pdf_response(self, **kwargs):
from opensipkd.base.tools.report import jasper_export
logo = self.get_module_path('opensipkd.base')
logo = os.path.join(logo, 'static', 'img', 'logo.png')
parameters = {
"judul": get_params('company', "openSIPKD"),
"logo": logo
}
filename = jasper_export(self.report_file, parameters=parameters)
return file_response(self.req, filename=filename[0])
def list_join(self, query, **kwargs):
return query.outerjoin(ResDesa, ResDesa.id == self.table.desa_id) \
.outerjoin(User, User.id == self.table.user_id)
......@@ -66,6 +104,11 @@ class Views(BaseView):
permission='user-view')
def view_act(self):
return super().view_act()
def get_bindings(self, row=None):
return {
"desa_list": get_desa_list()
}
@view_config(route_name='user-area-add', renderer='templates/form.pt',
permission='user-edit')
......@@ -81,8 +124,56 @@ class Views(BaseView):
permission='user-edit')
def view_delete(self):
return super().view_delete()
@view_config(route_name='user-area-upload',
renderer='templates/upload.pt', permission='user-upload')
def view_upload(self):
self.upload_keys = ["user_id"]
return super(Views, self).view_upload(exts=('.csv', ".tsv"))
@view_config(route_name='user-area-edit', renderer='templates/form.pt',
permission='user-edit')
def view_edit(self):
return super().view_edit()
def save_request(self, values, row=None):
user_id = values.get("user_id")
if not user_id:
return None
desa_ids = values.get("desa_id")
if desa_ids:
desa_id = next(iter(desa_ids)) if desa_ids else None
if desa_id is not None:
existing_desa = self.get_existing_desa(user_id)
desa_id_str = str(desa_id)
if desa_id_str not in existing_desa:
DBSession.query(UserArea).filter_by(user_id=user_id).delete(synchronize_session=False)
new_row = UserArea(
user_id=user_id,
desa_id=int(desa_id)
)
DBSession.add(new_row)
DBSession.flush()
return row
def get_existing_desa(self, user_id):
q = DBSession.query(UserArea).filter_by(user_id=user_id)
r = []
for ug in q:
r.append(str(ug.desa_id))
return set(r)
def get_values(self, row, istime=False):
d = super(Views, self).get_values(row, istime)
existing_desa = self.get_existing_desa(row.user_id)
d["desa_id"] = {next(iter(existing_desa))} if existing_desa else set()
return d
\ No newline at end of file
import os
import colander
from datatables import (ColumnDT, DataTables, )
from deform import (widget, )
from opensipkd.tools.buttons import btn_close, btn_delete, btn_view
from opensipkd.tools.report import open_rml_row, csv_response, open_rml_pdf, pdf_response, file_response
from pyramid.i18n import TranslationStringFactory
from pyramid.view import view_config
from . import BaseView, button_import # Tombol import
from . import BaseView, button_import, get_params # Tombol import
from opensipkd.models import (DBSession, User, ExternalIdentity)
# lib buat mendapatkan full path asset
from pyramid.path import AssetResolver
_ = TranslationStringFactory('user')
......@@ -41,6 +46,11 @@ class UserExt(BaseView):
self.list_buttons = (btn_close,) + self.list_report + (button_import,)
self.table = ExternalIdentity
# Coba cetak pdf
path = os.path.dirname(__file__)
path = os.path.dirname(path)
self.report_file = os.path.join(path, 'reports', 'users-external.jrxml')
@view_config(
route_name='user-ext',
renderer='templates/table.pt',
......@@ -64,9 +74,60 @@ class UserExt(BaseView):
def view_delete(self):
return super(UserExt, self).view_delete()
# Mendapatkan path gambar
def get_module_path(self, module_name):
a = AssetResolver(module_name)
resolver = a.resolve('')
return resolver.abspath()
def pdf_response(self, **kwargs):
from opensipkd.base.tools.report import jasper_export
logo = self.get_module_path('opensipkd.base')
logo = os.path.join(logo, 'static', 'img', 'logo.png')
parameters = {
"judul": get_params('company', "openSIPKD"),
"logo": logo
}
print(parameters)
filename = jasper_export(self.report_file, parameters=parameters)
return file_response(self.req, filename=filename[0])
# Coba csv
def csv_response(self, **kwargs):
query = self.table.query_register()
row = query.first()
header = row._mapping.keys()
rows = [list(item) for item in query.all()]
filename = f"{get_random_string(16)}.csv"
value = {
'header': header,
'rows': rows,
}
return csv_response(self.req, value, filename)
def csv_response(request, value, filename=None):
if not filename:
filename = get_random_string(20)+".csv"
response = request.response
response.content_type = 'text/csv'
# response.content_disposition = 'attachment;filename=' + filename
response.content_disposition = 'filename=' + filename
if sys.version_info < (3,):
import StringIO
fout = StringIO.StringIO()
else:
fout = io.StringIO()
fcsv = csv.writer(fout, delimiter=',', quotechar='"',
quoting=csv.QUOTE_MINIMAL)
fcsv.writerow(value.get('header', []))
fcsv.writerows(value.get('rows', []))
response.write(fout.getvalue())
return response
@view_config(
route_name='user-ext-act',
renderer='json', permission='user-view')
renderer='json',
permission='user-view')
def view_act(self):
return super(UserExt, self).view_act()
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!