Commit f2e9dabd by Prismana

- Fix jasper report provinsi and users

- Fix csv report in pemerintah, departemen, provinsi, user_external
- Fix grid list error in departemen and pemerintah
1 parent 66157a19
......@@ -154,25 +154,33 @@ FROM res_provinsi]]>
<textFieldExpression><![CDATA[$F{kode}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="100" y="0" width="255" height="20" uuid="04eef3a7-87ca-4a27-9392-1368a6ba2fd1"/>
<reportElement x="100" y="0" width="255" height="20" uuid="04eef3a7-87ca-4a27-9392-1368a6ba2fd1">
<property name="com.jaspersoft.studio.unit.leftIndent" value="px"/>
</reportElement>
<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"/>
<textElement textAlignment="Left">
<paragraph leftIndent="5"/>
</textElement>
<textFieldExpression><![CDATA[$F{nama}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="355" y="0" width="200" height="20" uuid="47051f05-f634-4c32-97cc-ce9af7b8f382"/>
<reportElement x="355" y="0" width="200" height="20" uuid="47051f05-f634-4c32-97cc-ce9af7b8f382">
<property name="com.jaspersoft.studio.unit.leftIndent" value="px"/>
</reportElement>
<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"/>
<textElement textAlignment="Left">
<paragraph leftIndent="5"/>
</textElement>
<textFieldExpression><![CDATA[$F{ibu_kota}]]></textFieldExpression>
</textField>
</band>
......
......@@ -4,7 +4,7 @@
<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="DemoAdapter.jrdax"/>
<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"/>
......@@ -81,7 +81,7 @@ FROM users]]>
<text><![CDATA[Email]]></text>
</staticText>
<staticText>
<reportElement x="355" y="0" width="100" height="20" uuid="f19e05c8-f1bf-4d94-927d-07111ed068df"/>
<reportElement x="355" y="0" width="54" 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"/>
......@@ -94,7 +94,7 @@ FROM users]]>
<text><![CDATA[Status]]></text>
</staticText>
<staticText>
<reportElement x="455" y="0" width="100" height="20" uuid="8a8040c2-e6ba-4473-835f-c9cfe3568fb9"/>
<reportElement x="409" y="0" width="145" 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"/>
......@@ -122,18 +122,22 @@ FROM users]]>
<textFieldExpression><![CDATA[$F{user_name}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="100" y="0" width="255" height="20" uuid="04eef3a7-87ca-4a27-9392-1368a6ba2fd1"/>
<reportElement x="100" y="0" width="255" height="20" uuid="04eef3a7-87ca-4a27-9392-1368a6ba2fd1">
<property name="com.jaspersoft.studio.unit.leftIndent" value="px"/>
</reportElement>
<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"/>
<textElement textAlignment="Left">
<paragraph leftIndent="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{email}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="455" y="0" width="100" height="20" uuid="24a12a8f-a1e1-4ae3-adb7-bbcf450560ee"/>
<reportElement x="409" y="0" width="145" 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"/>
......@@ -141,10 +145,10 @@ FROM users]]>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{registered_date}]]></textFieldExpression>
<textFieldExpression><![CDATA[$F{last_login_date}.toLocaleString()]]></textFieldExpression>
</textField>
<textField>
<reportElement x="355" y="0" width="100" height="20" uuid="47051f05-f634-4c32-97cc-ce9af7b8f382"/>
<reportElement x="355" y="0" width="54" 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"/>
......@@ -152,15 +156,16 @@ FROM users]]>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{status}]]></textFieldExpression>
<textFieldExpression><![CDATA[$F{status} == 1 ? "Aktif" : "Disabled"
]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band height="45" splitType="Stretch"/>
<band height="55" splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="54" splitType="Stretch"/>
<band height="56" splitType="Stretch"/>
</pageFooter>
<summary>
<band height="42" splitType="Stretch"/>
......
......@@ -14,10 +14,11 @@ 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
from opensipkd.tools.report import file_response, csv_response
# lib buat mendapatkan full path asset
from pyramid.path import AssetResolver
from opensipkd.tools import get_random_string
log = logging.getLogger(__name__)
SESS_ADD_FAILED = 'Tambah pemda gagal'
......@@ -86,7 +87,7 @@ class ListSchema(colander.Schema):
colander.String(),
validator=colander.Length(max=64, max_err='Maksimal 64 karakter'),
oid="parent_nm",
field="alias.nama"
field="nama"
)
status = colander.SchemaNode(
colander.Integer(),
......@@ -220,6 +221,23 @@ class ViewCompany(BaseView):
filename = jasper_export(self.report_file, parameters=parameters)
return file_response(self.req, filename=filename[0])
# Trying to print csv report
def query_register(self):
return DBSession.query(ResCompany.kode, ResCompany.nama, ResCompany.parent_id, ResCompany.status).order_by(ResCompany.kode)
def csv_response(self, **kwargs):
query = self.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='company-act',
renderer='json',
......
......@@ -9,7 +9,7 @@ from datetime import datetime
from deform import (widget, )
from opensipkd.models import DBSession, Departemen, Partner, PartnerDepartemen, ResCompany
from opensipkd.tools import (get_settings)
from opensipkd.tools.report import file_response
from opensipkd.tools.report import file_response, csv_response
#from opensipkd.tools.report import pdf_response
from pyramid.view import (view_config, )
from sqlalchemy import func
......@@ -17,6 +17,7 @@ from sqlalchemy.orm import aliased
# lib buat mendapatkan full path asset
from pyramid.path import AssetResolver
from opensipkd.tools import get_random_string
SESS_ADD_FAILED = 'Tambah departemen gagal'
SESS_EDIT_FAILED = 'Edit departemen gagal'
......@@ -143,9 +144,9 @@ class ListSchema(colander.Schema):
parent = colander.SchemaNode(
colander.String(),
title="Induk")
company_nm = colander.SchemaNode(
colander.String(),
title="Company")
# company_nm = colander.SchemaNode(
# colander.String(),
# title="Company")
class ViewDepartemen(BaseView):
......@@ -258,6 +259,23 @@ class ViewDepartemen(BaseView):
filename = jasper_export(self.report_file, parameters=parameters)
return file_response(self.req, filename=filename[0])
# Trying to print csv report
def query_register(self):
return DBSession.query(Departemen.kode, Departemen.nama, Departemen.status, Departemen.level_id, Departemen.parent_id).order_by(Departemen.kode)
def csv_response(self, **kwargs):
query = self.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='departemen-act', renderer='json',
permission='view')
def view_act(self):
......
......@@ -8,10 +8,11 @@ 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
from opensipkd.tools.report import file_response, csv_response
# lib buat mendapatkan full path asset
from pyramid.path import AssetResolver
from opensipkd.tools import get_random_string
_ = TranslationStringFactory("opensipkd")
......@@ -160,6 +161,23 @@ class ViewProvinsi(BaseView):
filename = jasper_export(self.report_file, parameters=parameters)
return file_response(self.req, filename=filename[0])
# Trying to print csv response
@staticmethod
def query_register():
return DBSession.query(ResProvinsi.kode, ResProvinsi.nama,ResProvinsi.ibu_kota).order_by(ResProvinsi.kode)
def csv_response(self, **kwargs):
query = self.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='provinsi-act',
renderer='json',
......
......@@ -12,6 +12,7 @@ from opensipkd.models import (DBSession, User, ExternalIdentity)
# lib buat mendapatkan full path asset
from pyramid.path import AssetResolver
from opensipkd.tools import get_random_string
_ = TranslationStringFactory('user')
......@@ -93,8 +94,12 @@ class UserExt(BaseView):
return file_response(self.req, filename=filename[0])
# Coba csv
#@static_method
def query_register(self):
return DBSession.query(ExternalIdentity.external_user_name, ExternalIdentity.provider_name, ExternalIdentity.local_user_id).order_by(ExternalIdentity.local_user_id)
def csv_response(self, **kwargs):
query = self.table.query_register()
query = self.query_register()
row = query.first()
header = row._mapping.keys()
rows = [list(item) for item in query.all()]
......@@ -104,25 +109,6 @@ class UserExt(BaseView):
'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',
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!