+
+void gnucomo_database::new_notification(String objectid, String issue, String remark)
+{
+ String qry;
+ UTC now = Now();
+
+ String insertion;
+ String notif_id;
+
+ String issueid("");
+
+ std::cout << "Creating notification for " << issue << "\n";
+
+ qry = "select type_of_issueid, suggested_priority from type_of_issue where name='";
+ qry += issue + "'";
+ if (Query(qry) == 1)
+ {
+ issueid = Field(0, "type_of_issueid");
+ insertion = "insert into notification (objectid, type_of_issueid, timestamp, ";
+ insertion += " statuscode, priority) values ('";
+ insertion += objectid + "', '";
+ insertion += issueid + "', '" + now.format("%Y-%m-%d %T") + "', 'new', '";
+ insertion += Field(0, "suggested_priority") + "')";
+
+ std::cout << insertion << "\n";
+
+ qry = "select notificationid from notification where objectid='";
+ qry += objectid + "' and type_of_issueid = '";
+ qry += issueid + "' order by notificationid";
+
+ Query(insertion);
+ int tuples = Query(qry);
+
+ if (tuples > 0)
+ {
+ notif_id = Field(tuples - 1, "notificationid");
+
+ insertion = "insert into action_user (actionid, username, notificationid,";
+ insertion += " timestamp, statuscode, remarks) values ('1', 'gnucomo', '";
+ insertion += notif_id + "', '" + now.format("%Y-%m-%d %T") + "', 'new', '";
+ insertion += remark + "')";
+
+ std::cout << insertion << "\n";
+ Query(insertion);
+ }
+ else
+ {
+ std::cerr << "Error inserting notification.\n";
+ exit(1);
+ }
+ }
+}
+