how to alter SQLGRID
def items():
#cadastro(request.args(0))
#crud.select(dbOBJECT.nota_fiscal_produtos, dbOBJECT.nota_fiscal_produtos.id_nota_fiscal=args )
nf = request.args(0)
query = ((dbOBJECT.nota_fiscal_produtos.id_nota_fiscal==nf)&
(dbOBJECT.nota_fiscal_produtos.id_produto==dbOBJECT.produto.id))
fields = [dbOBJECT.nota_fiscal_produtos.id_nota_fiscal,dbOBJECT.produto.nome,dbOBJECT.nota_fiscal_produtos.quantidade,
dbOBJECT.nota_fiscal_produtos.preco_unit,dbOBJECT.nota_fiscal_produtos.total_preco]
extra_links = [
A('Adicionar',_class="btn btn-primary",_href=URL("nf","produto",args=nf))
]
datasource = SQLFORM.grid(query=query,fields=fields,user_signature=False,details=True,editable=False,
create=True,args=[nf])
return dict(grid=datasource)
def buscar():
#dbOBJECT.produto.id.readable=False # para nao aparecer na grid
#datasource = SQLFORM.smartgrid() # tras todos os dados da tabela produto
#dbOBJECT.nota_fiscal.ativa.readable=False
links = [
dict(header='Funções',
#body=lambda row : A('lista', _class='btn', _href='#', callback=URL('item', args=row.nota_fiscal.nf))
body=lambda row : [A(SPAN(_class='icon pen icon-pencil'),SPAN(_class='buttontext button'),'Editar',
_class='button btn', _href=URL('atualizar', args=row.nota_fiscal.id)),
A(SPAN(_class='icon magnifier icon-edit'),SPAN(_class='buttontext button'),'Items',
_class='button btn', _href=URL('items', args=row.nota_fiscal.nf)),
A(SPAN(_class='icon magnifier icon-list-alt'),SPAN(_class='buttontext button'),'PDF',
_class='button btn',_id="btn_pdf", _href=URL('visualizar', args=[row.nota_fiscal.nf,1])),#('?nfid=%s'% row.nota_fiscal.nf)),
A(SPAN(_class='icon magnifier icon-zoom-in'),SPAN(_class='buttontext button'),'Ver',
_class='button btn', _href=URL('visualizar', args=[row.nota_fiscal.nf,0])),]
)]
query = (dbOBJECT.nota_fiscal.id_fornecedor==dbOBJECT.fornecedor.id)
fields = [dbOBJECT.nota_fiscal.nf,dbOBJECT.fornecedor.nome,dbOBJECT.nota_fiscal.data_emissao,
dbOBJECT.nota_fiscal.ativa,dbOBJECT.nota_fiscal.icms,dbOBJECT.nota_fiscal.total #,[dbOBJECT.nota_fiscal_produtos]
]
#left =dbOBJECT.nota_fiscal.on(dbOBJECT.nota_fiscal_produtos.id_nota_fiscal==dbOBJECT.nota_fiscal.nf)
#datasource = SQLFORM.smartgrid(query=query,
# user_signature=False,details=True,linked_tables=['fornecedor','nota_fiscal_produtos'])
datasource = SQLFORM.grid(query=query,fields=fields,orderby=[dbOBJECT.nota_fiscal.nf],
user_signature=False,details=False,editable=False,links=links)
#user_signature=False -> verifica tabela de autoridades
return dict(grid=datasource)
decoration function
def logoff_now(fn):
def wrapped():
session._unlock(response)
os.unlink(response.session_filename)
session.clear()
#response.flash = T("deslogado com sucesso!")
redirect(URL('default','login'))
return fn
return wrapped
def is_autenticated(fn):
def wrapped():
if not session.logged:
session.flash = T("Autentique-se por favor!")
redirect(URL('default','login'))
else:
return fn()
return wrapped
Nenhum comentário:
Postar um comentário