Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
aa.gusti
/
eis
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 8869b7fc
authored
Oct 13, 2025
by
Ari Agung Prasetiyo
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
menu upload
1 parent
2e660d0d
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
159 additions
and
12 deletions
eispajak/__init__.py
eispajak/models/eis.py
eispajak/scripts/data/routes.csv
eispajak/views/upload.py
eispajak/__init__.py
View file @
8869b7f
import
os
from
sqlalchemy
import
engine_from_config
from
sqlalchemy
import
engine_from_config
# from .models import DBSession, EisBase
# from .models import DBSession, EisBase
from
opensipkd.tools
import
get_settings
from
opensipkd.tools
import
get_settings
from
pyramid.events
import
BeforeRender
,
subscriber
from
pyramid.events
import
BeforeRender
,
subscriber
from
opensipkd.base
import
get_params
,
BaseApp
from
opensipkd.base
import
get_params
,
BaseApp
import
os
from
opensipkd.tools
import
create_static_path
class
AppClass
(
BaseApp
):
class
AppClass
(
BaseApp
):
def
__init__
(
self
):
def
__init__
(
self
):
super
()
.
__init__
()
super
()
.
__init__
()
self
.
base_dir
=
os
.
path
.
split
(
__file__
)[
0
]
self
.
base_dir
=
os
.
path
.
split
(
__file__
)[
0
]
self
.
temp_files
=
""
self
.
bangbadil_files
=
""
self
.
uri
=
""
def
static_view
(
self
,
config
,
settings
=
None
):
if
not
settings
:
settings
=
get_settings
()
self
.
uri
=
'bangbadil_files/files'
self
.
temp_files
=
settings
.
get
(
"temp_files"
)
self
.
bangbadil_files
=
os
.
path
.
join
(
self
.
temp_files
,
"bangbadil_files"
)
+
os
.
sep
if
not
os
.
path
.
exists
(
self
.
bangbadil_files
):
os
.
makedirs
(
self
.
bangbadil_files
)
config
.
add_static_view
(
'bangbadil_files'
,
self
.
bangbadil_files
,
cache_max_age
=
0
)
# def static_views(self, config):
# create_static_path(config, self.bangbadil_files, self.uri, 0)
APP_CLASS
=
AppClass
()
APP_CLASS
=
AppClass
()
...
@@ -16,7 +35,7 @@ APP_CLASS = AppClass()
...
@@ -16,7 +35,7 @@ APP_CLASS = AppClass()
def
includeme
(
config
):
def
includeme
(
config
):
# APP_CLASS.init()
# APP_CLASS.init()
# APP_CLASS.static_views
(config)
APP_CLASS
.
static_view
(
config
)
# SPPT_CLASS.route_from_list(config, routes, paket="opensipkd.pbb.esppt")
# SPPT_CLASS.route_from_list(config, routes, paket="opensipkd.pbb.esppt")
APP_CLASS
.
route_from_csv
(
config
,
"eispajak.views"
)
APP_CLASS
.
route_from_csv
(
config
,
"eispajak.views"
)
config
.
add_static_view
(
'eis/static'
,
'eispajak:static'
,
config
.
add_static_view
(
'eis/static'
,
'eispajak:static'
,
...
...
eispajak/models/eis.py
View file @
8869b7f
...
@@ -108,4 +108,17 @@ class ArPayment(NamaModel, Base):
...
@@ -108,4 +108,17 @@ class ArPayment(NamaModel, Base):
denda
=
Column
(
BigInteger
)
denda
=
Column
(
BigInteger
)
bayar
=
Column
(
BigInteger
)
bayar
=
Column
(
BigInteger
)
__table_args__
=
(
UniqueConstraint
(
'tanggal'
,
'kode'
),
__table_args__
=
(
UniqueConstraint
(
'tanggal'
,
'kode'
),
TABLE_ARGS
)
\ No newline at end of file
\ No newline at end of file
TABLE_ARGS
)
class
UploadFiles
(
Base
,
DefaultModel
):
__tablename__
=
'upload_files'
# id = Column(Integer, nullable=False)
title
=
Column
(
String
(
100
))
file_name
=
Column
(
String
(
256
),
nullable
=
False
)
description
=
Column
(
String
(
256
))
status
=
Column
(
Integer
,
nullable
=
False
)
# created = Column(DateTime)
# updated = Column(DateTime)
# create_uid = Column(Integer)
# update_uid = Column(Integer)
__table_args__
=
(
TABLE_ARGS
)
\ No newline at end of file
\ No newline at end of file
eispajak/scripts/data/routes.csv
View file @
8869b7f
...
@@ -53,18 +53,23 @@ eis-slide-add,EIS Slide Add,/eis/slide/add,1,0
...
@@ -53,18 +53,23 @@ eis-slide-add,EIS Slide Add,/eis/slide/add,1,0
eis-slide-edit,EIS Slide Edit,/eis/slide/{id}/edit,1,0
eis-slide-edit,EIS Slide Edit,/eis/slide/{id}/edit,1,0
eis-slide-delete,EIS Slide Delete,/eis/slide/{id}/delete,1,0
eis-slide-delete,EIS Slide Delete,/eis/slide/{id}/delete,1,0
eis-pkbbbnkb,Opsen PKB BBNKB,/eis/pkbbbnkb,1,0,1,,pkbbbnkb,Views,view_list,eis,form.pt
eis-pkbbbnkb,Opsen PKB BBNKB,/eis/pkbbbnkb,1,0,1,,pkbbbnkb,Views,view_list,eis,form.pt
eis-pkbbbnkb-act,Opsen
PKB BBNKB Act,/eis/pkbbbnkb/{act}/act,1,0,,,pkbbbnkb,Views,,eis
eis-pkbbbnkb-act,Opsen
PKB BBNKB Act,/eis/pkbbbnkb/{act}/act,1,0,,,pkbbbnkb,Views,,eis
eis-pkbbbnkb-add,Opsen
PKB BBNKB Add,/eis/pkbbbnkb/add,1,0,,,pkbbbnkb,Views,,eis
eis-pkbbbnkb-add,Opsen
PKB BBNKB Add,/eis/pkbbbnkb/add,1,0,,,pkbbbnkb,Views,,eis
eis-pkbbbnkb-edit,Opsen
PKB BBNKB Edit,/eis/pkbbbnkb/{id}/edit,1,0,,,pkbbbnkb,Views,,eis
eis-pkbbbnkb-edit,Opsen
PKB BBNKB Edit,/eis/pkbbbnkb/{id}/edit,1,0,,,pkbbbnkb,Views,,eis
eis-pkbbbnkb-delete,Opsen
PKB BBNKB Delete,/eis/pkbbbnkb/{id}/delete,1,0,,,pkbbbnkb,Views,,eis
eis-pkbbbnkb-delete,Opsen
PKB BBNKB Delete,/eis/pkbbbnkb/{id}/delete,1,0,,,pkbbbnkb,Views,,eis
eis-penerimaan,EIS penerimaan,/eis/penerimaan,1,0,0,,penerimaan,Views,view_list,eis,form.pt
eis-penerimaan,EIS penerimaan,/eis/penerimaan,1,0,0,,penerimaan,Views,view_list,eis,form.pt
eis-penerimaan-act,EIS penerimaan
Act,/eis/penerimaan/{act}/act,1,0,,,penerimaan,Views,,eis
eis-penerimaan-act,EIS penerimaan
Act,/eis/penerimaan/{act}/act,1,0,,,penerimaan,Views,,eis
eis-penerimaan-add,EIS penerimaan
Add,/eis/penerimaan/add,1,0,,,penerimaan,Views,,eis
eis-penerimaan-add,EIS penerimaan
Add,/eis/penerimaan/add,1,0,,,penerimaan,Views,,eis
eis-penerimaan-edit,EIS penerimaan
Edit,/eis/penerimaan/{id}/edit,1,0,,,penerimaan,Views,,eis
eis-penerimaan-edit,EIS penerimaan
Edit,/eis/penerimaan/{id}/edit,1,0,,,penerimaan,Views,,eis
eis-penerimaan-delete,EIS penerimaan
Delete,/eis/penerimaan/{id}/delete,1,0,,,penerimaan,Views,,eis
eis-penerimaan-delete,EIS penerimaan
Delete,/eis/penerimaan/{id}/delete,1,0,,,penerimaan,Views,,eis
eis-target,Target,/eis/target,1,0,1,,target,Views,view_list,eis,form.pt
eis-target,Target,/eis/target,1,0,1,,target,Views,view_list,eis,form.pt
eis-target-act,Target Act,/eis/target/{act}/act,1,0,,,target,Views,,eis
eis-target-act,Target Act,/eis/target/{act}/act,1,0,,,target,Views,,eis
eis-target-add,Target Add,/eis/target/add,1,0,,,target,Views,,eis
eis-target-add,Target Add,/eis/target/add,1,0,,,target,Views,,eis
eis-target-edit,Target Edit,/eis/target/{id}/edit,1,0,,,target,Views,,eis
eis-target-edit,Target Edit,/eis/target/{id}/edit,1,0,,,target,Views,,eis
eis-target-delete,Target Delete,/eis/target/{id}/delete,1,0,,,target,Views,,eis
eis-target-delete,Target Delete,/eis/target/file/{id}/delete,1,0,,,target,Views,,eis
eis-upload-file,Upload File,/eis/upload/file,1,0,1,,upload,Views,view_list,eis,form.pt
eis-upload-file-act,Upload File Act,/eis/upload/file/{act}/act,1,0,,,upload,Views,,eis
eis-upload-file-add,Upload File Add,/eis/upload/file/add,1,0,,,upload,Views,,eis
eis-upload-file-edit,Upload File Edit,/eis/upload/file/{id}/edit,1,0,,,upload,Views,,eis
eis-upload-file-delete,Upload File Delete,/eis/upload/file/{id}/delete,1,0,,,upload,Views,,eis
eispajak/views/upload.py
0 → 100644
View file @
8869b7f
import
os
import
colander
from
deform
import
widget
,
FileData
from
opensipkd.base.widgets
import
widget_os
from
pyramid.view
import
view_config
from
..models.payment
import
UploadRealisasiOpsen
from
.
import
BaseView
from
..models.eis
import
UploadFiles
from
datetime
import
date
from
..
import
APP_CLASS
from
opensipkd.tools
import
mem_tmp_store
,
Upload
from
pyramid.i18n
import
TranslationStringFactory
_
=
TranslationStringFactory
(
'upload_files'
)
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
"Action"
)
title
=
colander
.
SchemaNode
(
colander
.
String
(),
oid
=
"title"
,
)
description
=
colander
.
SchemaNode
(
colander
.
String
(),
oid
=
"description"
,
title
=
"Deskripsi"
,)
file_name
=
colander
.
SchemaNode
(
colander
.
String
(),
oid
=
"File"
,
)
status
=
colander
.
SchemaNode
(
colander
.
Boolean
(),
widget
=
widget
.
CheckboxWidget
(),
oid
=
"status"
)
class
AddSchema
(
colander
.
Schema
):
title
=
colander
.
SchemaNode
(
colander
.
String
(),
widget
=
widget
.
TextInputWidget
(),
title
=
"Judul"
,
oid
=
"title"
,
)
description
=
colander
.
SchemaNode
(
colander
.
String
(),
oid
=
"description"
,
title
=
"Deskripsi"
,)
file_name
=
colander
.
SchemaNode
(
FileData
(),
widget
=
widget
.
FileUploadWidget
(
mem_tmp_store
,
size
=
"30971520"
,),
title
=
'Upload Dokumen'
,
)
status
=
colander
.
SchemaNode
(
colander
.
String
(),
widget
=
widget
.
CheckboxWidget
(
true_val
=
"1"
,
false_val
=
"0"
),
title
=
_
(
'Status'
))
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
)
self
.
list_schema
=
ListSchema
self
.
add_schema
=
AddSchema
self
.
edit_schema
=
EditSchema
self
.
list_route
=
'eis-upload-file'
self
.
table
=
UploadFiles
# def view_list(self):
# return super().view_list()
# def view_act(self):
# return super().view_act()
# def view_view(self):
# return super().view_view()
def
form_validator
(
self
,
form
,
value
):
exc
=
colander
.
Invalid
(
form
,
''
)
# Save File Upload to Folder
if
"file_name"
in
value
:
upload
=
Upload
(
APP_CLASS
.
bangbadil_files
)
value
[
"file_name"
]
=
upload
.
save_fp
(
value
[
"file_name"
])
def
view_add
(
self
):
return
super
()
.
view_add
()
def
get_values
(
self
,
row
,
istime
=
False
):
d
=
super
()
.
get_values
(
row
,
istime
)
if
"file_name"
in
d
:
filename
=
row
.
file_name
url
=
self
.
req
.
static_url
(
APP_CLASS
.
bangbadil_files
)
preview_url
=
os
.
path
.
join
(
url
,
filename
)
d
[
"file_name"
]
=
{
"uid"
:
filename
.
split
(
"."
)[
0
],
"filename"
:
filename
,
"preview_url"
:
preview_url
}
return
d
# def view_edit(self):
# return super().view_edit()
# def view_delete(self):
# return super().view_delete()
\ No newline at end of file
\ No newline at end of file
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment