Ejemplo n.º 1
0
 def open_sf(self, table_name, id=None):
     self.create_savepoint('sigmaf')
     s = QSettings()
     s.setValue('current_info/sigmaf', id)
     disp_fields = [
         'cd_syntax',
         'lb_syntax',
         'abon_domin'
     ]
     self.rel_syn = RelationsManager('composyntaxon', disp_fields)
     self.rel_syn.add_clicked.connect(self.open_syntaxon)
     self.rel_syn.edit_clicked.connect(self.open_syntaxon)
     self.rel_syn.del_clicked.connect(self.del_record)
     
     from_cat = False
     r = self.get_recorder('sigmaf')
     if id:
         from_cat = r.select('id', id)[0].get('catalog')
     else:
         last_sf_id = r.get_last_id() if r.get_last_id() else 0
         s.setValue('current_info/sigmaf', last_sf_id + 1)
         from_cat = question('Appel aux catalogues ?,',\
             'Sélectionner un sigma facies issu des catalogues ?')
         s.setValue('current_info/sigmaf/catalog', int(from_cat))
     
     if not s.value('catalogs'):
         popup('Les référentiels ne sont pas renseignés')
         Catalog().run()
         return
     
     form_name = 'form_sigmaf_cat' if from_cat else 'form_sigmaf'
     self.sf_form = Form(form_name, id, self.rel_syn)
     self.sf_form.canceled.connect(self.cancel_sf_fill)
     self.sf_form.valid_clicked.connect(self.submit_sf)
     self._open_form('sigmaf', self.sf_form)
     
     cd_sf_field = self.sf_form.ui.findChild(QComboBox, 'code_sigma')
     if cd_sf_field:
         cd_sf_field.currentIndexChanged.connect(self._get_syntax)