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)