sim, este campo "id_cid" ja existe, ja utilizo ele pra salvar o codigo da cidade...
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# -*- coding: utf-8 -*-
db = DAL('postgres://postgres:123@localhost:5432/info_prev')
session.connect(request, response, db=db)
response.generic_patterns = ['*'] if request.is_local else []
from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db)
crud, service, plugins = Crud(db), Service(), PluginManager()
auth.settings.extra_fields ['auth_user'] = [Field ("id_cidade"), Field ("cidade")]
## create all tables needed by auth if not custom tables
auth.define_tables(username=False, signature=False)
## configure email
mail = auth.settings.mailer
mail.settings.login = 'username:password'
## configure auth policy
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
auth.settings.reset_password_requires_verification = True
## if you need to use OpenID, Facebook, MySpace, Twitter, Linkedin, etc.
## register with
janrain.com, write your domain:api_key in private/janrain.key
from gluon.contrib.login_methods.rpx_account import use_janrain
use_janrain(auth, filename='private/janrain.key')
e_m={
'empty':'Este campo é obrigatório',
'in_db':'Este registro já existe no banco de dados',
'not_in_db':'Este registro não existe no banco de dados',
'email':'Você precisa inserir um e-mail válido',
'image':'O arquivo precisa ser uma imagem válida',
'not_in_set':'Você precisa escolher um valor válido',
'not_in_range':'Digite um número entre %(min)s e %(max)s',
}
notempty=IS_NOT_EMPTY(error_message=e_m['empty'])
#CRIA LISTA DE MESES PARA COMBOBOX
meses=('Janeiro', 'Fevereio', 'Março', 'Abril',\
'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro')
anos=('2011', '2011', '2012', '2013', '2014', '2015')
ufs=('AC', 'AL', 'AM', 'AP', 'BA', 'CE', 'DF', 'ES', 'GO', 'MA', 'MG', 'MS',\
'MT', 'PA', 'PB', 'PE', 'PI', 'PR', 'RJ', 'RN', 'RO', 'RR', 'RS', 'SC', 'SE', 'SP', 'TO')
bancos=('Banco do Brasil', 'Banco Itaú', 'Banco Bradesco', 'Caixa Econômica')
ddds=('61', '62')
db.define_table("cadinpc",
Field("mes", "text", length=20, notnull=True),
Field("ano", "text", length=4),
Field('valor','decimal(8,2)',requires=IS_DECIMAL_IN_RANGE(0,10,dot=','),represent = lambda valor,row: '€ %.2f' % valor),
Field("zerado", "boolean"),
auth.signature
)
db.define_table("cadcidade",
Field("nome", length=128, notnull=True, unique=True),
auth.signature,
format="%(nome)s"
)
db.define_table("cadaliquota",
Field("ano", "integer"),
Field("dtlei", "date"),
Field("nrlei", "text", length=10, notnull=True),
Field('valaliqserv','decimal(8,2)',requires=IS_DECIMAL_IN_RANGE(0,10,dot=','),represent = lambda valaliqserv,row: '€ %.2f' % valaliqserv),
Field('valaliqemp','decimal(8,2)',requires=IS_DECIMAL_IN_RANGE(0,10,dot=','),represent = lambda valaliqemp,row: '€ %.2f' % valaliqemp),
Field("dtinicio", "date"),