Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Kunto
/
backoffice
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 5588f645
authored
Sep 20, 2019
by
Tatang
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
purchase
1 parent
26e8cb7c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
30 additions
and
31 deletions
src/agratek/api/merchant/views/purchase_list.py
src/agratek/api/merchant/views/templates/purchase/list.pt
src/agratek/api/merchant/views/purchase_list.py
View file @
5588f64
...
@@ -4,7 +4,8 @@ from deform import widget, Form, ValidationFailure
...
@@ -4,7 +4,8 @@ from deform import widget, Form, ValidationFailure
from
opensipkd.base.views
import
DataTables
from
opensipkd.base.views
import
DataTables
from
pyramid.httpexceptions
import
HTTPFound
from
pyramid.httpexceptions
import
HTTPFound
from
pyramid.view
import
view_config
from
pyramid.view
import
view_config
from
sqlalchemy
import
func
,
case
from
sqlalchemy
import
case
from
sqlalchemy.orm
import
aliased
from
.
import
BaseView
from
.
import
BaseView
from
..models
import
(
DBSession
,
H2hArInvoice
,
H2hArInvoiceDet
,
Partner
,
Produk
)
from
..models
import
(
DBSession
,
H2hArInvoice
,
H2hArInvoiceDet
,
Partner
,
Produk
)
...
@@ -17,11 +18,11 @@ status_purchase = (
...
@@ -17,11 +18,11 @@ status_purchase = (
(
2
,
'Batal'
),
(
2
,
'Batal'
),
)
)
invoice_type
=
(
#
invoice_type = (
(
0
,
'--Semua--'
),
#
(0, '--Semua--'),
(
1
,
'Payment'
),
#
(1, 'Payment'),
(
2
,
'Register'
),
#
(2, 'Register'),
)
#
)
def
form_validator
(
form
,
value
):
def
form_validator
(
form
,
value
):
...
@@ -34,13 +35,13 @@ class ViewData(BaseView):
...
@@ -34,13 +35,13 @@ class ViewData(BaseView):
renderer
=
'templates/purchase/list.pt'
)
renderer
=
'templates/purchase/list.pt'
)
def
view_list
(
self
):
def
view_list
(
self
):
class
ToolbarSchema
(
colander
.
Schema
):
class
ToolbarSchema
(
colander
.
Schema
):
inv_type
=
colander
.
SchemaNode
(
#
inv_type = colander.SchemaNode(
colander
.
Integer
(),
#
colander.Integer(),
default
=
1
,
#
default=1,
oid
=
"inv_type"
,
#
oid="inv_type",
widget
=
widget
.
SelectWidget
(
values
=
invoice_type
,
css_class
=
'form-toolbar'
),
#
widget=widget.SelectWidget(values=invoice_type, css_class='form-toolbar'),
title
=
"Jenis"
#
title="Jenis"
)
#
)
status
=
colander
.
SchemaNode
(
status
=
colander
.
SchemaNode
(
colander
.
String
(),
colander
.
String
(),
oid
=
"status"
,
oid
=
"status"
,
...
@@ -54,13 +55,13 @@ class ViewData(BaseView):
...
@@ -54,13 +55,13 @@ class ViewData(BaseView):
params
=
{
params
=
{
'form'
:
form
,
'form'
:
form
,
'invoice_type'
:
[
k
and
s
or
'-'
for
k
,
s
in
invoice_type
],
#
'invoice_type': [k and s or '-' for k, s in invoice_type],
'status_purchase'
:
[
s
for
k
,
s
in
status_purchase
if
k
!=
9999
],
'status_purchase'
:
[
s
for
k
,
s
in
status_purchase
if
k
!=
9999
],
'columns'
:
[
'columns'
:
[
dict
(
title
=
"ID"
),
dict
(
title
=
"ID"
),
dict
(
title
=
"No. Invoice"
),
dict
(
title
=
"No. Invoice"
),
dict
(
title
=
"Customer"
),
dict
(
title
=
"Customer"
),
dict
(
title
=
"
Jenis
"
),
dict
(
title
=
"
Vendor
"
),
dict
(
title
=
"Produk"
),
dict
(
title
=
"Produk"
),
dict
(
title
=
"Harga"
),
dict
(
title
=
"Harga"
),
dict
(
title
=
"Status"
),
dict
(
title
=
"Status"
),
...
@@ -69,7 +70,7 @@ class ViewData(BaseView):
...
@@ -69,7 +70,7 @@ class ViewData(BaseView):
dict
(
data
=
"id"
,
width
=
"0px"
),
dict
(
data
=
"id"
,
width
=
"0px"
),
dict
(
data
=
"nomor"
,
width
=
"150px"
),
dict
(
data
=
"nomor"
,
width
=
"150px"
),
dict
(
data
=
"customer"
),
dict
(
data
=
"customer"
),
dict
(
data
=
"
inv_type"
,
width
=
"100px
"
),
dict
(
data
=
"
vendor
"
),
dict
(
data
=
"produk"
),
dict
(
data
=
"produk"
),
dict
(
data
=
"harga"
,
width
=
"100px"
),
dict
(
data
=
"harga"
,
width
=
"100px"
),
dict
(
data
=
"status"
,
width
=
"100px"
),
dict
(
data
=
"status"
,
width
=
"100px"
),
...
@@ -96,16 +97,19 @@ class ViewData(BaseView):
...
@@ -96,16 +97,19 @@ class ViewData(BaseView):
url_dict
=
request
.
matchdict
url_dict
=
request
.
matchdict
act
=
url_dict
[
'act'
]
act
=
url_dict
[
'act'
]
if
act
==
"grid"
:
if
act
==
"grid"
:
jenis
=
'jenis'
in
request
.
params
and
request
.
params
[
'jenis'
]
and
int
(
request
.
params
[
'jenis'
])
or
None
#
jenis = 'jenis' in request.params and request.params['jenis'] and int(request.params['jenis']) or None
status
=
9999
status
=
9999
if
'status'
in
request
.
params
:
if
'status'
in
request
.
params
:
status
=
int
(
request
.
params
[
'status'
])
status
=
int
(
request
.
params
[
'status'
])
vendor
=
aliased
(
Partner
,
name
=
'vendor'
)
customer
=
aliased
(
Partner
,
name
=
'customer'
)
columns
=
[
columns
=
[
ColumnDT
(
H2hArInvoiceDet
.
id
,
mData
=
'id'
),
ColumnDT
(
H2hArInvoiceDet
.
id
,
mData
=
'id'
),
ColumnDT
(
H2hArInvoice
.
cust_inv_no
,
mData
=
'nomor'
),
ColumnDT
(
H2hArInvoice
.
cust_inv_no
,
mData
=
'nomor'
),
ColumnDT
(
Partn
er
.
nama
,
mData
=
'customer'
),
ColumnDT
(
custom
er
.
nama
,
mData
=
'customer'
),
ColumnDT
(
func
.
coalesce
(
H2hArInvoice
.
cust_inv_type
,
0
),
mData
=
'inv_type
'
),
ColumnDT
(
vendor
.
nama
,
mData
=
'vendor
'
),
ColumnDT
(
Produk
.
nama
,
mData
=
'produk'
),
ColumnDT
(
Produk
.
nama
,
mData
=
'produk'
),
ColumnDT
(
H2hArInvoiceDet
.
amt_sell
,
mData
=
'harga'
),
ColumnDT
(
H2hArInvoiceDet
.
amt_sell
,
mData
=
'harga'
),
ColumnDT
(
case
(
ColumnDT
(
case
(
...
@@ -117,9 +121,10 @@ class ViewData(BaseView):
...
@@ -117,9 +121,10 @@ class ViewData(BaseView):
]
]
query
=
DBSession
.
query
()
.
select_from
(
H2hArInvoice
)
\
query
=
DBSession
.
query
()
.
select_from
(
H2hArInvoice
)
\
.
join
(
H2hArInvoiceDet
,
H2hArInvoiceDet
.
ar_invoice_id
==
H2hArInvoice
.
id
)
\
.
join
(
H2hArInvoiceDet
,
H2hArInvoiceDet
.
ar_invoice_id
==
H2hArInvoice
.
id
)
\
.
join
(
Partner
,
Partner
.
id
==
H2hArInvoice
.
customer_id
)
\
.
join
(
customer
,
customer
.
id
==
H2hArInvoice
.
customer_id
)
\
.
join
(
vendor
,
vendor
.
id
==
H2hArInvoiceDet
.
vendor_id
)
\
.
join
(
Produk
,
Produk
.
id
==
H2hArInvoiceDet
.
produk_id
)
.
join
(
Produk
,
Produk
.
id
==
H2hArInvoiceDet
.
produk_id
)
query
=
query
.
filter
(
H2hArInvoice
.
cust_inv_type
==
jenis
)
#
query = query.filter(H2hArInvoice.cust_inv_type == jenis)
if
status
!=
9999
:
if
status
!=
9999
:
if
status
<=
0
:
if
status
<=
0
:
query
=
query
.
filter
(
H2hArInvoiceDet
.
status
<=
status
)
query
=
query
.
filter
(
H2hArInvoiceDet
.
status
<=
status
)
...
@@ -147,7 +152,7 @@ class ViewData(BaseView):
...
@@ -147,7 +152,7 @@ class ViewData(BaseView):
(
'customer'
,
customer
.
nama
,
'text'
),
(
'customer'
,
customer
.
nama
,
'text'
),
(
'harga'
,
data
.
amt_sell
or
0
,
'text'
),
(
'harga'
,
data
.
amt_sell
or
0
,
'text'
),
(
'inquiry'
,
format_json
(
data
.
inquiry
),
'textarea'
),
(
'inquiry'
,
format_json
(
data
.
inquiry
),
'textarea'
),
(
'p
ayment
'
,
format_json
(
data
.
payment
),
'textarea'
),
(
'p
urchase
'
,
format_json
(
data
.
payment
),
'textarea'
),
(
'advice'
,
format_json
(
data
.
advice
),
'textarea'
),
(
'advice'
,
format_json
(
data
.
advice
),
'textarea'
),
(
'notify'
,
format_json
(
data
.
notify
),
'textarea'
),
(
'notify'
,
format_json
(
data
.
notify
),
'textarea'
),
)
)
...
...
src/agratek/api/merchant/views/templates/purchase/list.pt
View file @
5588f64
...
@@ -59,9 +59,8 @@
...
@@ -59,9 +59,8 @@
var oTableUrl = oTableUri + "/grid/act";
var oTableUrl = oTableUri + "/grid/act";
function getDataUrl() {
function getDataUrl() {
var jns = $('select#inv_type').val();
var sts = $('select#status').val();
var sts = $('select#status').val();
return oTableUrl + '?
jenis=' + jns.toString() + '&
status=' + sts.toString();
return oTableUrl + '?status=' + sts.toString();
}
}
function getViewUrl(vid) {
function getViewUrl(vid) {
...
@@ -90,12 +89,7 @@
...
@@ -90,12 +89,7 @@
{'data': 'id', 'width': '0px'},
{'data': 'id', 'width': '0px'},
{'data': 'nomor', 'width': '150px'},
{'data': 'nomor', 'width': '150px'},
{'data': 'customer'},
{'data': 'customer'},
{'data': 'inv_type', 'width': '100px',
{'data': 'vendor'},
'render': function(data, type, full, meta) {
var st = ${params.invoice_type};
return st[data];
}
},
{'data': 'produk'},
{'data': 'produk'},
{'data': 'harga', 'width': '100px'},
{'data': 'harga', 'width': '100px'},
{'data': 'status', 'width': '100px',
{'data': 'status', 'width': '100px',
...
@@ -181,7 +175,7 @@
...
@@ -181,7 +175,7 @@
}
}
});
});
$('select#
inv_type,select#
status').on('change', function() {
$('select#status').on('change', function() {
mID = 0;
mID = 0;
oTable.ajax.url(getDataUrl()).load();
oTable.ajax.url(getDataUrl()).load();
});
});
...
...
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