44from functions import generate_element_id , project_name_already_exist , element_id_already_exists
55from functions import insert_values_to_task_form , insert_values_to_event_form , insert_values_to_remark_form
66from DBManager import *
7+ from DataFormObject import *
78
89chosen_date = None
910chosen_deadline = None
1011element_id = None
1112db_manager = DBManager ()
13+ data = DataForm ()
1214
1315class element_window_extended : # task, remark, event
1416# for new element use title as 'Task', 'Remark', 'Event'
@@ -40,13 +42,11 @@ def __init__(self, parent, title, db, element_id):
4042 else :
4143 pass
4244
43- chosen_date = self .calendar .get_date ()
4445 self .element_id = element_id
4546 self .title = title
4647 self .db = db
4748
4849 def choose_date (self ):
49- global chosen_date
5050
5151 if self .title == 'Event' or self .title == 'Event View' :
5252 bg = "#A8A803"
@@ -55,10 +55,9 @@ def choose_date(self):
5555 else :
5656 bg = "#2F3030"
5757
58- chosen_date = self .calendar .get_date ()
5958 self .chosen_date_label = tk .Label (
6059 self .middle_frame ,
61- text = chosen_date ,
60+ text = self . calendar . get_date () ,
6261 font = ('Montserrat' , '12' ),
6362 background = bg ,
6463 foreground = "#FFFFFF"
@@ -69,78 +68,64 @@ def choose_date(self):
6968 self .chosen_date_label .place (x = 180 , y = 5 )
7069
7170 def choose_deadline (self ):
72- global chosen_deadline
7371
74- chosen_deadline = self .calendar .get_date ()
7572 self .chosen_deadline_label = tk .Label (
7673 self .middle_frame ,
77- text = chosen_deadline ,
74+ text = self . calendar . get_date () ,
7875 font = ('Montserrat' , '12' , 'bold' ),
7976 background = '#970000' ,
8077 foreground = "#FFFFFF"
8178 )
8279 self .chosen_deadline_label .place (x = 180 , y = 45 )
8380
8481 def save_or_edit_task (self ):
85- global chosen_date
86- global chosen_deadline
87-
88- if chosen_date != None or chosen_deadline != None :
89- if chosen_date == None and chosen_deadline != None :
90- chosen_date = chosen_deadline
91- elif chosen_date != None and chosen_deadline == None :
92- chosen_deadline = chosen_date
93- else :
94- pass
95-
9682 answer = messagebox .askokcancel ("SAVE" , "SAVE changes?" )
9783 if answer :
9884 try :
99- element = self .element_description_row .get ()
100- date = chosen_date
101- deadline = chosen_deadline
102- field1 = ''
103- field2 = self .field2_row .get ()
104- field3 = self .field3_row .get ()
105- project = self .project_row .get ()
106- delegated = self .delegated_row .get ()
107- cooperating = self .cooperating_row .get ()
108- field4 = ''
109- field5 = ''
110- remarks = ''
111- keywords = self .keywords_row .get ()
112- category = 'task'
113- done = 'No'
85+ data .element_id = self .element_id
86+ data .element = self .element_description_row .get ()
87+ data .date = self .calendar .get_date ()
88+ data .deadline = self .calendar .get_date () # This line gives me error: Cannot access local variable 'deadline' where
89+ # it is not associtated with a value
90+ data .field2 = self .field2_row .get ()
91+ data .field3 = self .field3_row .get ()
92+ data .project = self .project_row .get ()
93+ data .delegated = self .delegated_row .get ()
94+ data .cooperating = self .cooperating_row .get ()
95+ data .keywords = self .keywords_row .get ()
96+ data .category = 'task'
97+
98+
99+ if data .date != None or data .deadline != None :
100+ if data .date == None and data .deadline != None :
101+ data .date = data .deadline
102+ elif data .date != None and data .deadline == None :
103+ data .deadline = data .date
104+ else :
105+ pass
106+
107+ data_tuple = data .make_tuple ()
114108
115109 if element_id_already_exists (self .db , self .element_id ):
116- db_manager .update_db_fields (self .element_id , element , date , deadline , field1 , field2 , field3 , project , delegated ,
117- cooperating , field4 , field5 , remarks , keywords , category , done )
110+ db_manager .update_db_fields (data_tuple )
118111 else :
119- db_manager .save_to_db (self .element_id , element , date , deadline , field1 , field2 , field3 , project , delegated ,
120- cooperating , field4 , field5 , remarks , keywords , category , done )
112+ db_manager .save_to_db (data_tuple )
121113
122114 if len (self .project_row .get ()) != 0 :
123115 project_name = self .project_row .get ()
124116 if not project_name_already_exist (self .db , project_name ):
125- element_id = generate_element_id (self .db , 'PR' )
126- element = project
127- date = chosen_date
128- deadline = chosen_deadline
129- field1 = ''
130- field2 = ''
131- field3 = ''
132- project = ''
133- delegated = self .delegated_row .get ()
134- cooperating = self .cooperating_row .get ()
135- field4 = ''
136- field5 = ''
137- remarks = ''
138- keywords = self .keywords_row .get ()
139- category = 'project'
140- done = 'No'
141-
142- db_manager .save_to_db (element_id , element , date , deadline , field1 , field2 , field3 , project , delegated ,
143- cooperating , field4 , field5 , remarks , keywords , category , done )
117+ data .element_id = generate_element_id (self .db , 'PR' )
118+ data .element = project_name
119+ data .date = data .date
120+ data .deadline = data .deadline
121+ data .delegated = self .delegated_row .get ()
122+ data .cooperating = self .cooperating_row .get ()
123+ data .keywords = self .keywords_row .get ()
124+ data .category = 'project'
125+
126+ data_tuple = data .make_tuple ()
127+
128+ db_manager .save_to_db (data_tuple )
144129 else :
145130 pass
146131 self .window .destroy ()
@@ -157,31 +142,26 @@ def save_or_edit_event(self):
157142 answer = messagebox .askokcancel ("SAVE" , "SAVE changes?" )
158143 if answer :
159144 try :
160- element = self .element_description_row .get ()
161- date = chosen_date
162- deadline = chosen_deadline
163- field1 = self .field1_row .get ()
164- field2 = self .field2_row .get ()
165- field3 = self .field3_row .get ()
166- project = ''
167- delegated = ''
168- cooperating = ''
169- field4 = self .field4_row .get ()
170- field5 = ''
171- remarks = ''
172- keywords = ''
173- category = 'event'
174- done = 'No'
145+ data .element_id = self .element_id
146+ data .element = self .element_description_row .get ()
147+ data .date = chosen_date
148+ data .deadline = chosen_deadline
149+ data .field1 = self .field1_row .get ()
150+ data .field2 = self .field2_row .get ()
151+ data .field3 = self .field3_row .get ()
152+ data .field4 = self .field4_row .get ()
153+ data .category = 'event'
154+
155+ data_tuple = data .make_tuple ()
175156
176157 if element_id_already_exists (self .db , self .element_id ):
177- db_manager .update_db_fields (self .db , self .element_id , element , date , deadline , field1 , field2 , field3 , project , delegated ,
178- cooperating , field4 , field5 , remarks , keywords , category , done )
158+ db_manager .update_db_fields (data_tuple )
179159 else :
180- db_manager .save_to_db (self .db , self .element_id , element , date , deadline , field1 , field2 , field3 , project , delegated ,
181- cooperating , field4 , field5 , remarks , keywords , category , done )
160+ db_manager .save_to_db (data_tuple )
182161 self .window .destroy ()
183162 except Exception as e :
184163 messagebox .showerror ("ERROR" , f"ERROR: { e } " )
164+ print (e )
185165 self .window .destroy ()
186166
187167 def save_or_edit_remark (self ):
@@ -190,28 +170,19 @@ def save_or_edit_remark(self):
190170 answer = messagebox .askyesno ("SAVE" , "SAVE changes?" )
191171 if answer :
192172 try :
193- element = self .element_description_row .get ()
194- date = chosen_date
195- deadline = None
196- field1 = self .field1_row .get ()
197- field2 = self .field2_row .get ()
198- field3 = ''
199- project = ''
200- delegated = ''
201- cooperating = ''
202- field4 = ''
203- field5 = ''
204- remarks = ''
205- keywords = ''
206- category = 'remark'
207- done = 'No'
173+ data .element_id = self .element_id
174+ data .element = self .element_description_row .get ()
175+ data .date = chosen_date
176+ data .field1 = self .field1_row .get ()
177+ data .field2 = self .field2_row .get ()
178+ data .category = 'remark'
179+
180+ data_tuple = data .make_tuple ()
208181
209182 if element_id_already_exists (self .db , self .element_id ):
210- db_manager .update_db_fields (self .db , self .element_id , element , date , deadline , field1 , field2 , field3 , project , delegated ,
211- cooperating , field4 , field5 , remarks , keywords , category , done )
183+ db_manager .update_db_fields (data_tuple )
212184 else :
213- db_manager .save_to_db (self .db , self .element_id , element , date , deadline , field1 , field2 , field3 , project , delegated ,
214- cooperating , field4 , field5 , remarks , keywords , category , done )
185+ db_manager .save_to_db (data_tuple )
215186 self .window .destroy ()
216187 except Exception as e :
217188 messagebox .showerror ("ERROR" , f"ERROR: { e } " )
0 commit comments