Boa tarde
Tenho 4 FORMS em um mesmo View, porém apenas o primeiro é válidado, quando passo as informações no seguinte, não valida, e dá erro no primeiro. Acredito que seja um erro "idiota" no meu script.
CONTROLLER:
def editar_plano():
diagnosticos = ['Lesão Cariosa Classe I', 'Lesão Cariosa Classe II', 'Lesão Cariosa Classe III', 'Lesão Cariosa Classe IV', 'Lesão Cariosa Classe V', 'Pulpite Fechada', 'Pulpite Aberta', 'Pulpite com zonas de necrose', 'Necrosepulpar', 'Periodontite Apical Crônica', 'Periodontite Apical Aguda', 'Periodontite Apical com Presença de Fístula']
procedimentos = ['n.d.n.', 'Dentística (M)', 'Dentística (MP)', 'Dentística (MV)', 'Dentística (MVP)', 'Dentística (DP)', 'Dentística (DV)', 'Dentística (DVP)', 'Dentística (V)', 'Dentística (P)', 'Dentística (O)','Dentística (MOD)', 'Dentística (OV)', 'Ausente', 'Faceta em R.C.', 'Endodontia', 'Exodontia']
a = request.args(0)
# DENTES QUADRANTE I
dentes_I = SQLFORM.factory(
Field ('dente1', 'string', requires = IS_IN_SET(['18', '17', '16', '15', '14', '13', '12', '11']), label = "Dente : "),
Field ('diagnostico1', 'string', requires = IS_IN_SET(diagnosticos), label = 'Diagnóstico :'),
Field ('procedimento1', 'string', requires = IS_IN_SET(procedimentos), default = 'n.d.n.', label = 'Procedimento : '),)
if dentes_I.process().accepted:
den1 = dentes_I.vars.dente1
diag1 = dentes_I.vars.diagnostico1
proced1 = dentes_I.vars.procedimento1
db.dentes.insert(dente=den1, plano_tratamento= a, diagnostico = diag1, procedimento = proced1)
if den1 == "18":
db(
db.plano_tratamento.id == a).update(dente18=proced1)
elif den1 == "17":
db(
db.plano_tratamento.id == a).update(dente17=proced1)
elif den1 == "16":
db(
db.plano_tratamento.id == a).update(dente16=proced1)
elif den1 == "15":
db(
db.plano_tratamento.id == a).update(dente15=proced1)
elif den1 == "14":
db(
db.plano_tratamento.id == a).update(dente14=proced1)
elif den1 == "13":
db(
db.plano_tratamento.id == a).update(dente13=proced1)
elif den1 == "12":
db(
db.plano_tratamento.id == a).update(dente12=proced1)
elif den1 == "11":
db(
db.plano_tratamento.id == a).update(dente11=proced1)
# DENTES QUADRANTE II
dentes_II = SQLFORM.factory(
Field ('dente2', 'string', requires = IS_IN_SET(['28', '27', '26', '25', '24', '23', '22', '21']), label = "Dente : "),
Field ('diagnostico2', 'string', requires = IS_IN_SET(diagnosticos), label = 'Diagnóstico :'),
Field ('procedimento2', 'string', requires = IS_IN_SET(procedimentos), default = 'n.d.n.', label = 'Procedimento : '),)
if dentes_II.process().accepted:
den = dentes_II.vars.dente2
diag = dentes_II.vars.diagnostico2
proced = dentes_II.vars.procedimento2
db.dentes.insert(dente=den, plano_tratamento= a, diagnostico = diag, procedimento = proced)
if den == "21":
db(
db.plano_tratamento.id == a).update(dente21=proced)
elif den == "22":
db(
db.plano_tratamento.id == a).update(dente22=proced)
elif den == "23":
db(
db.plano_tratamento.id == a).update(dente23=proced)
elif den == "24":
db(
db.plano_tratamento.id == a).update(dente24=proced)
elif den == "25":
db(
db.plano_tratamento.id == a).update(dente25=proced)
elif den == "26":
db(
db.plano_tratamento.id == a).update(dente26=proced)
elif den == "27":
db(
db.plano_tratamento.id == a).update(dente27=proced)
elif den == "28":
db(
db.plano_tratamento.id == a).update(dente28=proced)
Na verdade são 4 FORMS, na View eles estão um cada Painel.