class UpdateFormView(CreateFormView): formClass = UpdateForm def __call__(self): dbdata = self.context.aq_parent self.db = DBConnect(host=dbdata.host, db=dbdata.database, user=dbdata.username, password=dbdata.password) if self.submitted: button = self.hasButtonSubmitted() if button: result = self.submit(button) if result: return result self.itemid = self.request.get('itemid') getter = """SELECT title, description, homepage FROM %s WHERE %s_id = %s;""" % ( self.context.tablename, self.context.tablename, self.itemid) self.result = self.db.execute(getter) self.db.close() return self.index() def renderForm(self): self.form.title.default = self.result[0][0] self.form.description.default = self.result[0][1] self.form.homepage.default = self.result[0][2] self.form.item_id.default = self.itemid self.form.process() return self.formTemplate() def submit(self, button): """ """ redirect_url = self.context.absolute_url( ) + '/single_view?item=' + self.form.item_id.data if button == 'Speichern': #and self.validate(): command = """UPDATE manufacturer SET title='%s', description='%s', homepage='%s' WHERE manufacturer_id = %s;""" % ( self.form.title.data, self.form.description.data, self.form.homepage.data, self.form.item_id.data) self.db.execute(command) message = u'Der Hersteller wurde erfolgreich aktualisiert.' ploneapi.portal.show_message(message=message, type='info', request=self.request) #message = u'Fehler beim Aktualisieren des Gefahrstoffgemisches' #ploneapi.portal.show_message(message=message, type='error', request=self.request) self.db.close() return self.request.response.redirect(redirect_url) elif button == 'Abbrechen': return self.request.response.redirect(redirect_url)
class DeleteFormView(CreateFormView): formClass = DeleteForm def __call__(self): dbdata = self.context.aq_parent self.db = DBConnect(host=dbdata.host, db=dbdata.database, user=dbdata.username, password=dbdata.password) if self.submitted: button = self.hasButtonSubmitted() if button: result = self.submit(button) if result: return result self.itemid = self.request.get('itemid') self.db.close() return self.index() def renderForm(self): self.form.item_id.default = self.itemid self.form.process() return self.formTemplate() def submit(self, button): """ """ redirect_url = self.context.aq_parent.absolute_url() if button == 'Speichern' and self.form.sure.data is True: #and self.validate(): command = "DELETE FROM substance_mixture WHERE substance_mixture_id = %s" % ( self.form.item_id.data) self.db.execute(command) deletecommand = "DELETE FROM areapairs WHERE mixture_id = %s" % self.form.item_id.data self.db.execute(deletecommand) deletecommand2 = "DELETE FROM usecasepairs WHERE mixture_id = %s" % self.form.item_id.data self.db.execute(deletecommand2) message = u'Das Gefahrstoffgemisch wurde erfolgreich gelöscht' ploneapi.portal.show_message(message=message, type='info', request=self.request) self.db.close() return self.request.response.redirect(redirect_url) elif button == 'Speichern' and self.form.sure.data is False: message = u'Das Gefahrstoffgemisch wurde nicht gelöscht, da das Bestätigungsfeld nicht ausgewählt war.' ploneapi.portal.show_message(message=message, type='error', request=self.request) elif button == 'Abbrechen': return self.request.response.redirect(redirect_url)
class UpdateManufacturerFormView(CreateFormView): formClass = UpdateManufacturerForm def __call__(self): dbdata = self.context.aq_parent self.db = DBConnect(host=dbdata.host, db=dbdata.database, user=dbdata.username, password=dbdata.password) if self.submitted: button = self.hasButtonSubmitted() if button: result = self.submit(button) if result: return result self.itemid = self.request.get('itemid') return self.index() def renderForm(self): try: insert = "SELECT manufacturer_id, title FROM manufacturer ORDER BY title;" manus = self.db.execute(insert) except: manus = [] self.form.manufacturer_id.choices = manus self.form.item_id.default = self.itemid self.form.process() return self.formTemplate() def submit(self, button): """ """ redirect_url = self.context.absolute_url( ) + '/single_view?item=' + self.form.item_id.data if button == 'Speichern': #and self.validate(): command = """UPDATE substance_mixture SET manufacturer_id=%s WHERE substance_mixture_id = %s;""" % ( self.form.manufacturer_id.data, self.form.item_id.data) self.db.execute(command) message = u'Das Gefahrstoffgemisch wurde erfolgreich aktualisiert.' ploneapi.portal.show_message(message=message, type='info', request=self.request) #message = u'Fehler beim Aktualisieren des Gefahrstoffgemisches' #ploneapi.portal.show_message(message=message, type='error', request=self.request) self.db.close() return self.request.response.redirect(redirect_url) elif button == 'Abbrechen': return self.request.response.redirect(redirect_url)
class SynonymFormView(CreateFormView): formClass = SynonymForm def __call__(self): dbdata = self.context.aq_parent self.db = DBConnect(host=dbdata.host, db=dbdata.database, user=dbdata.username, password=dbdata.password) if self.submitted: button = self.hasButtonSubmitted() if button: result = self.submit(button) if result: return result self.itemid = self.request.get('itemid') self.db.close() return self.index() def renderForm(self): self.form.item_id.default = self.itemid self.form.process() return self.formTemplate() def submit(self, button): """ """ #redirect_url = self.context.aq_parent.absolute_url() redirect_url = self.context.absolute_url( ) + '/single_view?item=' + self.form.item_id.data if button == 'Speichern': #and self.validate(): insert = "INSERT INTO synonyms VALUES (DEFAULT, %s, '%s');" % ( self.form.item_id.data, self.form.synonym_name.data) self.db.execute(insert) message = u'Das Synonym wurde erfolgreich angelegt' ploneapi.portal.show_message(message=message, type='info', request=self.request) self.db.close() return self.request.response.redirect(redirect_url) elif button == 'Abbrechen': return self.request.response.redirect(redirect_url)
class CreateFormView(WTFormView): formClass = CreateForm buttons = ('Speichern', 'Abbrechen') def __call__(self): dbdata = self.context.aq_parent self.db = DBConnect(host=dbdata.host, db=dbdata.database, user=dbdata.username, password=dbdata.password) self.host = self.context.aq_parent.host self.dbname = self.context.aq_parent.database self.username = self.context.aq_parent.username self.password = self.context.aq_parent.password if self.submitted: button = self.hasButtonSubmitted() if button: result = self.submit(button) if result: return result return self.index() def submit(self, button): redirect_url = self.context.aq_parent.absolute_url() if button == 'Speichern' and self.validate(): if True: insert = """INSERT INTO manufacturer VALUES (DEFAULT, '%s', '%s', '%s', %s);""" % ( self.form.title.data, self.form.description.data, self.context.aq_parent.get_webcode(), check_value(self.form.homepage.data)) self.db.execute(insert) self.db.close() message = u'Der Hersteller wurde erfolgreich gespeichert.' ploneapi.portal.show_message(message=message, type='info', request=self.request) #except: # print(u'Fehler beim Einfügen in die Datenbank') return self.request.response.redirect(redirect_url) elif button == 'Abbrechen': return self.request.response.redirect(redirect_url)
class DeleteSynonymsFormView(CreateFormView): formClass = DeleteSynonymsForm def __call__(self): dbdata = self.context.aq_parent self.db = DBConnect(host=dbdata.host, db=dbdata.database, user=dbdata.username, password=dbdata.password) if self.submitted: button = self.hasButtonSubmitted() if button: result = self.submit(button) if result: return result self.itemid = self.request.get('itemid') self.db.close() return self.index() def renderForm(self): self.form.item_id.default = self.itemid self.form.process() return self.formTemplate() def submit(self, button): """ """ #redirect_url = self.context.aq_parent.absolute_url() redirect_url = self.context.absolute_url( ) + '/single_view?item=' + self.form.item_id.data if button == 'Speichern': #and self.validate(): insert = "DELETE FROM synonyms WHERE substance_id = %s;" % self.form.item_id.data self.db.execute(insert) message = u'Die Synonyme wurden erfolgreich gelöscht' ploneapi.portal.show_message(message=message, type='info', request=self.request) self.db.close() return self.request.response.redirect(redirect_url) elif button == 'Abbrechen': return self.request.response.redirect(redirect_url)
class CreateIngredientForm(WTFormView): formClass = CreateForm buttons = ('Speichern', 'Abbrechen') def __call__(self): self.form.itemid.default = self.request.get('itemid') dbdata = self.context.aq_parent self.db = DBConnect(host=dbdata.host, db=dbdata.database, user=dbdata.username, password=dbdata.password) self.host = self.context.aq_parent.host self.dbname = self.context.aq_parent.database self.username = self.context.aq_parent.username self.password = self.context.aq_parent.password if self.submitted: button = self.hasButtonSubmitted() if button: result = self.submit(button) if result: return result return self.index() def renderForm(self): try: select = "SELECT substance_id, title, casnr, egnr FROM substance ORDER BY title;" substances = self.db.execute(select) except: substances = [] optionlist = list() for i in substances: subid = i[0] subname = i[1] subcas = i[2] subeg = i[3] subentry = f"{subname} CAS:{subcas} EG:{subeg} ID:{subid}" optionlist.append((i[0], subentry)) self.form.substance.choices = optionlist self.form.process() return self.formTemplate() def submit(self, button): self.form.itemid.default = self.request.get('itemid') redirect_url = self.context.absolute_url( ) + '/single_view?item=' + self.form.itemid.data if button == 'Speichern': #and self.validate(): insert = """INSERT INTO recipes (mixture_id, substance_id, concentration_min, concentration_max) VALUES (%s, %s, %s, %s);""" \ % (self.form.itemid.data, int(self.form.substance.data.split('ID:')[-1]), self.form.concentration_min.data, self.form.concentration_max.data, ) try: self.db.execute(insert) self.db.close() message = u'Der Bestandteil wurde erfolgreich hinzugefügt.' ploneapi.portal.show_message(message=message, type='info', request=self.request) except: message = u'Fehler beim Hinzufügen des Bestandteils' ploneapi.portal.show_message(message=message, type='error', request=self.request) return self.request.response.redirect(redirect_url) elif button == 'Abbrechen': return self.request.response.redirect(redirect_url)
class CreateFormView(WTFormView): formClass = CreateForm buttons = ('Speichern', 'Abbrechen') def __call__(self): dbdata = self.context.aq_parent self.db = DBConnect(host=dbdata.host, db=dbdata.database, user=dbdata.username, password=dbdata.password) self.host = self.context.aq_parent.host self.dbname = self.context.aq_parent.database self.username = self.context.aq_parent.username self.password = self.context.aq_parent.password if self.submitted: button = self.hasButtonSubmitted() if button: result = self.submit(button) if result: return result return self.index() def renderForm(self): try: command = "SELECT manufacturer_id, title FROM manufacturer ORDER BY title;" manus = self.db.execute(command) except: manus = [] self.form.manufacturer_id.choices = manus self.form.process() return self.formTemplate() def create_image(self, image, title): filedata = image.data.read() filename = image.data.filename blobimage = NamedBlobImage(data=filedata, filename=filename) obj = ploneapi.content.create(type='Image', title=title, image=blobimage, container=self.context) obj.indexObject() transaction.commit() return obj.UID() def submit(self, button): image_url = '' if self.form.image_url.data.filename: image_url = self.create_image(self.form.image_url, self.form.title.data) redirect_url = self.context.aq_parent.absolute_url() if button == 'Speichern': #and self.validate(): insert = """INSERT INTO spray_powder VALUES (DEFAULT, '%s', '%s', '%s', %s, %s, %s, %s, %s, %s, %s, %s);""" % ( self.form.title.data, self.form.description.data, self.context.aq_parent.get_webcode(), check_value(self.form.product_class.data), check_value(self.form.starting_material.data), check_value(self.form.median_value.data), check_value(self.form.volume_share.data), check_value(self.form.checked_emissions.data), check_value(self.form.date_checked.data), check_value(image_url), self.form.manufacturer_id.data) if self.form.image_url.data.filename: try: self.db.execute(insert) message = u'Das Wasch- und Reinigungsmittel wurde erfolgreich gespeichert.' ploneapi.portal.show_message(message=message, type='info', request=self.request) except: imageobj = ploneapi.content.get(UID=image_url) ploneapi.content.delete(imageobj) message = u'Fehler beim Hinzufügen des Gefahrstoffgemisches' ploneapi.portal.show_message(message=message, type='error', request=self.request) self.db.close() else: self.db.execute(insert) self.db.close() message = u'Das Wasch- und Reinigungsmittel wurde erfolgreich gespeichert.' ploneapi.portal.show_message(message=message, type='info', request=self.request) return self.request.response.redirect(redirect_url) elif button == 'Abbrechen': return self.request.response.redirect(redirect_url)
class UpdateFormView(CreateFormView): formClass = UpdateForm def __call__(self): dbdata = self.context.aq_parent self.db = DBConnect(host=dbdata.host, db=dbdata.database, user=dbdata.username, password=dbdata.password) if self.submitted: button = self.hasButtonSubmitted() if button: result = self.submit(button) if result: return result self.itemid = self.request.get('itemid') getter = """SELECT title, description, product_class, starting_material, median_value, volume_share, checked_emissions FROM %s WHERE %s_id = %s;""" % ( self.context.tablename, self.context.tablename, self.itemid) self.result = self.db.execute(getter) self.db.close() return self.index() def renderForm(self): self.form.title.default = self.result[0][0] self.form.description.default = self.result[0][1] self.form.product_class.default = self.result[0][2] self.form.starting_material.default = self.result[0][3] self.form.median_value.default = self.result[0][4] self.form.volume_share.default = self.result[0][5] self.form.checked_emissions.default = self.result[0][6] self.form.item_id.default = self.itemid self.form.process() return self.formTemplate() def submit(self, button): """ """ redirect_url = self.context.absolute_url( ) + '/single_view?item=' + self.form.item_id.data if button == 'Speichern': #and self.validate(): command = """UPDATE spray_powder SET title='%s', description='%s', product_class='%s', starting_material='%s', median_value=%s, volume_share=%s, checked_emissions=%s WHERE spray_powder_id = %s;""" % ( self.form.title.data, self.form.description.data, self.form.product_class.data, self.form.starting_material.data, check_value(self.form.median_value.data), check_value(self.form.volume_share.data), check_value( self.form.checked_emissions.data), self.form.item_id.data) self.db.execute(command) message = u'Der Druckbestäubungspuder wurde erfolgreich aktualisiert.' ploneapi.portal.show_message(message=message, type='info', request=self.request) #message = u'Fehler beim Aktualisieren des Gefahrstoffgemisches' #ploneapi.portal.show_message(message=message, type='error', request=self.request) self.db.close() return self.request.response.redirect(redirect_url) elif button == 'Abbrechen': return self.request.response.redirect(redirect_url)
class UpdateFormView(CreateFormView): formClass = UpdateForm def __call__(self): dbdata = self.context.aq_parent self.db = DBConnect(host=dbdata.host, db=dbdata.database, user=dbdata.username, password=dbdata.password) if self.submitted: button = self.hasButtonSubmitted() if button: result = self.submit(button) if result: return result self.itemid = self.request.get('itemid') getter = """SELECT title, description, casnr, egnr, concentration, skin_category, branch, formula, mol, link FROM %s WHERE %s_id = %s;""" % ( self.context.tablename, self.context.tablename, self.itemid) self.result = self.db.execute(getter) self.db.close() return self.index() def renderForm(self): self.form.title.default = self.result[0][0] self.form.description.default = self.result[0][1] self.form.casnr.default = self.result[0][2] self.form.egnr.default = self.result[0][3] self.form.concentration.default = self.result[0][4] self.form.skin_category.default = self.result[0][5] self.form.branch.default = self.result[0][6] self.form.formula.default = self.result[0][7] self.form.mol.default = self.result[0][8] self.form.gestislink.default = self.result[0][9] self.form.item_id.default = self.itemid self.form.process() return self.formTemplate() def submit(self, button): """ """ redirect_url = self.context.aq_parent.absolute_url() if button == 'Speichern': #and self.validate(): command = """UPDATE substance SET title='%s', description='%s', casnr=%s, egnr=%s, concentration=%s, skin_category='%s', branch='%s', formula='%s', mol='%s', link='%s' WHERE substance_id = %s;""" % ( self.form.title.data, self.form.description.data, check_value( self.form.casnr.data), check_value(self.form.egnr.data), check_value(self.form.concentration.data), self.form.skin_category.data, self.form.branch.data, self.form.formula.data, self.form.mol.data, self.form.gestislink.data, self.form.item_id.data) self.db.execute(command) message = u'Der Reinstoff wurde erfolgreich aktualisiert.' ploneapi.portal.show_message(message=message, type='info', request=self.request) #message = u'Fehler beim Aktualisieren des Gefahrstoffgemisches' #ploneapi.portal.show_message(message=message, type='error', request=self.request) self.db.close() return self.request.response.redirect(redirect_url) elif button == 'Abbrechen': return self.request.response.redirect(redirect_url)
class UpdateFormView(CreateFormView): formClass = UpdateForm def __call__(self): dbdata = self.context.aq_parent self.db = DBConnect(host=dbdata.host, db=dbdata.database, user=dbdata.username, password=dbdata.password) if self.submitted: button = self.hasButtonSubmitted() if button: result = self.submit(button) if result: return result self.itemid = self.request.get('itemid') getter = """SELECT title, description, branch, substance_type, application_areas, usecases, evaporation_lane_150, evaporation_lane_160, evaporation_lane_170, evaporation_lane_180, ueg, response, skin_category, checked_emissions, date_checked, flashpoint, values_range, comments, image_url, productclass FROM %s WHERE %s_id = %s;""" % ( self.context.tablename, self.context.tablename, self.itemid) relationalgetter = "SELECT application_areas.application_area_name FROM application_areas, areapairs WHERE areapairs.mixture_id = %s and areapairs.area_id = application_areas.application_area_id ;" % self.itemid relationalgetter2 = "SELECT usecases.usecase_name FROM usecases, usecasepairs WHERE usecasepairs.mixture_id = %s and usecasepairs.usecase_id = usecases.usecase_id ;" % self.itemid self.result = self.db.execute(getter) self.relational = self.db.execute(relationalgetter) self.relational2 = self.db.execute(relationalgetter2) self.db.close() return self.index() def renderForm(self): self.form.title.default = self.result[0][0] self.form.description.default = self.result[0][1] self.form.branch.default = self.result[0][2] self.form.substance_type.default = self.result[0][3] self.form.application_areas.default = new_list_handler2( self.relational) self.form.usecases.default = new_list_handler3(self.relational2) self.form.evaporation_lane_150.default = self.result[0][6] self.form.evaporation_lane_160.default = self.result[0][7] self.form.evaporation_lane_170.default = self.result[0][8] self.form.evaporation_lane_180.default = self.result[0][9] self.form.productclass.default = self.result[0][19] self.form.ueg.default = self.result[0][10] self.form.response.default = self.result[0][11] self.form.skin_category.default = self.result[0][12] self.form.checked_emissions.default = self.result[0][13] self.form.date_checked.default = self.result[0][14] self.form.flashpoint.default = self.result[0][15] self.form.values_range.default = self.result[0][16] self.form.comments.default = self.result[0][17] self.form.image_url.default = self.result[0][18] self.form.item_id.default = self.itemid self.form.process() return self.formTemplate() def submit(self, button): """ """ redirect_url = self.context.absolute_url( ) + '/single_view?item=' + self.form.item_id.data if button == 'Speichern': #and self.validate(): command = """UPDATE substance_mixture SET title=%s, description=%s, branch=%s, substance_type=%s, evaporation_lane_150=%s, evaporation_lane_160=%s, evaporation_lane_170=%s, evaporation_lane_180=%s, ueg=%s, response=%s, skin_category=%s, checked_emissions=%s, flashpoint=%s, values_range=%s, comments=%s, productclass=%s WHERE substance_mixture_id = %s;""" % \ (check_value(self.form.title.data), check_value(self.form.description.data), check_value(self.form.branch.data), check_value(self.form.substance_type.data), check_value(self.form.evaporation_lane_150.data), check_value(self.form.evaporation_lane_160.data), check_value(self.form.evaporation_lane_170.data), check_value(self.form.evaporation_lane_180.data), check_value(self.form.ueg.data), check_value(self.form.response.data), check_value(self.form.skin_category.data), check_value(self.form.checked_emissions.data), check_value(self.form.flashpoint.data), check_value(self.form.values_range.data), check_value(self.form.comments.data), check_value(self.form.productclass.data), check_value(self.form.item_id.data)) self.db.execute(command) """ neueliste = list() neuevocab = list() resultlist = list() listtoadd = list() vocabulary = get_vocabulary('application_areas') for n in vocabulary: neuevocab.append(n[0]) for i in self.form.application_areas.data: getfromvocab = "SELECT DISTINCT mixture_id, area_id FROM areapairs, application_areas WHERE mixture_id = %s" % self.form.item_id.data currentareas = self.db.execute(getfromvocab) for v in currentareas: command = "SELECT application_area_name FROM application_areas WHERE application_area_id = %s" % v[1] result = self.db.execute(command) result = result[0][0] resultlist.append(result) for m in neuevocab: #import pdb; pdb.set_trace() for l in resultlist: if i == l and i not in neueliste: neueliste.append(i) if i not in neueliste: idcommand = "SELECT application_area_id FROM application_areas WHERE application_area_name = 'Reiniger_Leitstaende_Sensoren'" richtigeid = self.db.execute(idcommand) insertcommand = "INSERT INTO areapairs (area_id, mixture_id) VALUES (%s, %s);" % (richtigeid[0][0], self.form.item_id.data) self.db.execute(insertcommand) print(neueliste) print(listtoadd) #del newlist[::2] #import pdb; pdb.set_trace() """ deletecommand = "DELETE FROM areapairs WHERE mixture_id = %s" % self.form.item_id.data self.db.execute(deletecommand) for i in self.form.application_areas.data: insertcommand = "INSERT INTO areapairs (area_id, mixture_id) VALUES (%s, %s)" % ( int(i), self.form.item_id.data) self.db.execute(insertcommand) deletecommand2 = "DELETE FROM usecasepairs WHERE mixture_id = %s" % self.form.item_id.data self.db.execute(deletecommand2) for i in self.form.usecases.data: insertcommand2 = "INSERT INTO usecasepairs (usecase_id, mixture_id) VALUES (%s, %s)" % ( int(i), self.form.item_id.data) self.db.execute(insertcommand2) message = u'Das Gefahrstoffgemisch wurde erfolgreich aktualisiert.' ploneapi.portal.show_message(message=message, type='info', request=self.request) #message = u'Fehler beim Aktualisieren des Gefahrstoffgemisches' #ploneapi.portal.show_message(message=message, type='error', request=self.request) self.db.close() return self.request.response.redirect(redirect_url) elif button == 'Abbrechen': return self.request.response.redirect(redirect_url)
class CreateFormView(WTFormView): formClass = CreateForm buttons = ('Speichern', 'Abbrechen') def __call__(self): dbdata = self.context.aq_parent self.db = DBConnect(host=dbdata.host, db=dbdata.database, user=dbdata.username, password=dbdata.password) self.host = self.context.aq_parent.host self.dbname = self.context.aq_parent.database self.username = self.context.aq_parent.username self.password = self.context.aq_parent.password if self.submitted: button = self.hasButtonSubmitted() if button: result = self.submit(button) if result: return result return self.index() def renderForm(self): try: select = "SELECT manufacturer_id, title FROM manufacturer ORDER BY title;" erg = self.db.execute(select) manus = [(result[0], result[1] + ' ID:' + str(result[0])) for result in erg] except: manus = [] self.form.manufacturer_id.choices = manus self.form.process() return self.formTemplate() def create_image(self, image, title): filedata = image.data.read() filename = image.data.filename blobimage = NamedBlobImage(data=filedata, filename=filename) obj = ploneapi.content.create(type='Image', title=title, image=blobimage, container=self.context) obj.indexObject() transaction.commit() return obj.UID() def submit(self, button): image_url = '' if self.form.image_url.data.filename: image_url = self.create_image(self.form.image_url, self.form.title.data) redirect_url = self.context.aq_parent.absolute_url() if button == 'Speichern': #and self.validate(): conn = psycopg2.connect(host=self.host, user=self.username, dbname=self.dbname, password=self.password) cur = conn.cursor() insert = """INSERT INTO substance_mixture (title, description, webcode, branch, substance_type, evaporation_lane_150, evaporation_lane_160, evaporation_lane_170, evaporation_lane_180, ueg, response, skin_category, checked_emissions, date_checked, flashpoint, values_range, comments, image_url, manufacturer_id) VALUES ('%s', '%s', '%s', %s, '%s', %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s);""" \ % (self.form.title.data, self.form.description.data, self.context.aq_parent.get_webcode(), check_value(self.form.branch.data), self.form.substance_type.data, check_value(self.form.evaporation_lane_150.data), check_value(self.form.evaporation_lane_160.data), check_value(self.form.evaporation_lane_170.data), check_value(self.form.evaporation_lane_180.data), check_value(self.form.ueg.data), check_value(self.form.response.data), check_value(self.form.skin_category.data), self.form.checked_emissions.data, check_value(self.form.date_checked.data), check_value(self.form.flashpoint.data), self.form.values_range.data, check_value(self.form.comments.data), check_value(image_url), check_value(self.form.manufacturer_id.data.split('ID:')[-1])) areaids = list() for i in self.form.application_areas.data: selectcommand = "SELECT substance_mixture_id FROM substance_mixture ORDER BY substance_mixture_id DESC LIMIT 1" selectedid = self.db.execute(selectcommand) areaids.append([int(i), (int(selectedid[0][0])) + 1]) caseids = list() for i in self.form.usecases.data: selectcommand = "SELECT substance_mixture_id FROM substance_mixture ORDER BY substance_mixture_id DESC LIMIT 1" selectedid = self.db.execute(selectcommand) caseids.append([int(i), (int(selectedid[0][0])) + 1]) if self.form.image_url.data.filename: try: self.db.execute(insert) for i in areaids: insertcommand = "INSERT INTO areapairs (area_id, mixture_id) VALUES (%s, %s)" % ( i[0], i[1]) self.db.execute(insertcommand) for i in caseids: insertcommand = "INSERT INTO usecasepairs (usecase_id, mixture_id) VALUES (%s, %s)" % ( i[0], i[1]) self.db.execute(insertcommand) message = u'Das Wasch- und Reinigungsmittel wurde erfolgreich gespeichert.' ploneapi.portal.show_message(message=message, type='info', request=self.request) except: imageobj = ploneapi.content.get(UID=image_url) ploneapi.content.delete(imageobj) message = u'Fehler beim Hinzufügen des Gefahrstoffgemisches' ploneapi.portal.show_message(message=message, type='error', request=self.request) self.db.close() else: self.db.execute(insert) for i in areaids: insertcommand = "INSERT INTO areapairs (area_id, mixture_id) VALUES (%s, %s)" % ( i[0], i[1]) self.db.execute(insertcommand) for i in caseids: insertcommand = "INSERT INTO usecasepairs (usecase_id, mixture_id) VALUES (%s, %s)" % ( i[0], i[1]) self.db.execute(insertcommand) self.db.close() message = u'Das Wasch- und Reinigungsmittel wurde erfolgreich gespeichert.' ploneapi.portal.show_message(message=message, type='info', request=self.request) return self.request.response.redirect(redirect_url) elif button == 'Abbrechen': return self.request.response.redirect(redirect_url)