def create_event(self): company_to_create = self.create_event_company.get() topic_to_create = self.create_event_topic.get() date_to_create = self.create_event_date.get() try: MIS_Database_Functions.create_event(company_to_create, topic_to_create, date_to_create) except IOError as e: # Temporary solution print(str(e)) except Exception as e: print(str(e)) finally: self.create_event_company.delete(0, len(company_to_create)) self.create_event_topic.delete(0, len(topic_to_create)) self.create_event_date.delete(0, len(date_to_create))
def create_event(self, event=None): event_date = self.event_date_entry.get().strip() company_name = self.company_name_entry.get().strip() event_topic = self.event_topic_entry.get().strip() if event_date == '' or company_name == '' or event_topic == '': self.feedback_label.config(style="ErrorLabel.TLabel") self.feedback_label['text'] = "Please provide at least some\nvalue for each field." return if len(event_date) != 11 or event_date[2] != '/' or event_date[6] != '/': self.feedback_label.config(style="ErrorLabel.TLabel") self.feedback_label['text'] = "Provide dates in format DD/MMM/YYYY\nExample: 12/AUG/2015" return semester_tag = MIS_Database_Functions.get_most_recent_semester_tag() month = event_date[3:6] if semester_tag[0] == 'F' and month not in fall_months: self.feedback_label.config(style="ErrorLabel.TLabel") self.feedback_label['text'] = "Check date.\nMonth is incorrect for current semester." \ "\nYou may have forgotten to create a new semester." return elif semester_tag[0] == 'S' and month not in spring_months: self.feedback_label.config(style="ErrorLabel.TLabel") self.feedback_label['text'] = "Check date.\nMonth is incorrect for current semester." \ "\nYou may have forgotten to create a new semester." return results = MIS_Database_Functions.create_event(company_name, event_topic, event_date) if results[0]: # Success state self.feedback_label.config(style="SuccessLabel.TLabel") self.feedback_label['text'] = "The new event was added.\n Event ID: %s\n" \ "Restart the system before checking in." % str(results[1]) else: # Failure state self.feedback_label.config(style="ErrorLabel.TLabel") self.feedback_label['text'] = "An error occurred:\n" + str(results[1]) self.company_name_entry.delete(START, len(company_name)) self.event_date_entry.delete(START, len(event_date)) self.event_topic_entry.delete(START, len(event_topic)) self.populate_event_label() self.set_focus()