Site configuration updating implemented
[biaweb_qt.git] / main_window.py
index b6cb96d..f917e76 100644 (file)
@@ -38,12 +38,44 @@ class MainWindow (PyQt4.QtGui.QMainWindow, ui_main_window.Ui_MainWindow):
                        qrow = PyQt4.QtGui.QTreeWidgetItem ([str(item[0]), str(item[1])])
                        self.articles.addTopLevelItem (qrow)
 
+       # configuration dialog
+       def onConfiguration (self):
+               if self.current_db == None:
+                       PyQt4.QtGui.QMessageBox.critical (self, "Error",
+                                                       "Cannot edit configuration. You need to create or open a website first")
+               else:
+                       dlg = scd.SiteConfigDialog (self)
+                       configs = biaweb_db.get_configuration (self.current_db)
+
+                       dlg.site_url.setText (configs[0])
+                       dlg.site_title.setText (configs[1])
+                       dlg.keywords.setText (configs[2])
+                       dlg.description.setPlainText (configs[3])
+                       dlg.num_rss_items.setValue (configs[4])
+                       dlg.destination.setText (configs[5])
+                       dlg.copyright.setText (configs[6])
+
+                       if (dlg.exec_ () == PyQt4.QtGui.QDialog.Accepted):
+                               site_title = str (dlg.site_title.text ()).strip ()
+                               site_url = str (dlg.site_url.text ()).strip ()
+                               keywords = str (dlg.keywords.text ()).strip ()
+                               destination = str (dlg.destination.text ()).strip ()
+                               description = str (dlg.description.toPlainText ()).strip ()
+                               num_rss = dlg.num_rss_items.value ()
+                               copyright = str (dlg.copyright.text ()).strip ()
+                               flag = biaweb_db.set_configuration (self.current_db, site_title, site_url, keywords, description,
+                                                                                       copyright, num_rss, destination)
+                               if flag == False:
+                                       PyQt4.QtGui.QMessageBox.critical (self, "Error",
+                                                                                       "SQLite 3 error in updating configuration")
+
+
        # category add action
        def onCategoryAdd (self):
                # if there is no database
                if self.current_db == None:
                        PyQt4.QtGui.QMessageBox.critical (self, "Error",
-                                                       "Cannot add category. You need to create or open a website first.")
+                                                       "Cannot add category. You need to create or open a website first")
                else:
                        # show the category add dialog
                        dlg = catd.CategoryDialog (self)