def Del_Stud_DB(self, text): self.te = '' self.chkref = {} self.Selected_Students = [] db = mysql.connector.connect(host='localhost', user='******', passwd='P@$$W0RD') my = db.cursor() my.execute('use Voice_Comparer') sql = 'select * from student where StudentId = %s or name = %s or Branch = %s or class = %s or sec = %s or year = %s' print(type(text)) val = ( text, text, text, text, text, text, ) my.execute( sql, val, ) res = my.fetchall() print(len(res)) inner = ScrollView(size_hint=(1, 1), pos_hint={ 'center_x': 0, 'center_y': .5 }) grid = GridLayout(cols=1, spacing=10, size_hint_y=None, padding=dp(10)) grid.bind(minimum_height=grid.setter('height')) if len(res) > 0: for row in res: string = str(row[0]) + ' ' + row[1] + ' ' + row[2] + ' ' + row[ 3] + ' ' + row[4] + ' ' + str(row[5]) print(string) b = BoxLayout(orientation='horizontal', size_hint=(1, None)) checkbox = MDCheckbox() checkbox.bind(active=self.Checking) self.chkref[checkbox] = row[0] label = MDLabel(text=string) b.add_widget(label) b.add_widget(checkbox) grid.add_widget(b) inner.add_widget(grid) else: inner.add_widget(MDLabel(text='There is no Students Here!!!')) pass popup = Popup(title='Select Files', size_hint=(1, .8), content=inner, auto_dismiss=True) popup.open()
def OrderStatus(self, btn, disable, *args): def SelectAll(checkbox, value): for b in statuspanel.children: if type(b).__name__=='BoxLayout': b.children[0].state = value def ApplyChange(btn): for b in statuspanel.children: if type(b).__name__=='BoxLayout': check = b.children[0] proc = b.children[1].text.lower() if proc=='': continue if check.state=='down': o.ES[proc] = 0.0 o.EE[proc] = 0.0 o.CopytoSuborders(proc) else: o.ES[proc] = -1.0 o.EE[proc] = -1.0 o.CopytoSuborders(proc) self.UpdateResult(self.orders) statuspopup.dismiss() jo = btn.parent.parent.children[-1].text o = [o for o in self.orders if o.jo==jo][0] statuspanel = BoxLayout(orientation='vertical') b = BoxLayout() b.add_widget(Label(text='')) selectall = MDCheckbox(state='down' if not [proc for proc in machines if o.EE[proc]<0] else 'normal', disabled=disable) selectall.bind(state=SelectAll) b.add_widget(selectall) statuspanel.add_widget(b) for key in machines: b = BoxLayout() b.add_widget(Label(text=key.upper())) b.add_widget(MDCheckbox(state='down' if o.EE[key]>=0 else 'normal', disabled=disable)) statuspanel.add_widget(b) statuspopup = Popup(title='JO#'+jo+' Status', title_size=sp(20), content=statuspanel, size_hint=(.3,.8)) if not disable: statuspanel.add_widget(MDRaisedButton(text='Apply', on_release=ApplyChange, size_hint=(1,1))) statuspopup.background = 'atlas://data/images/defaulttheme/button' statuspopup.open()
def UpdateRemove(self): def RemoveConfirm(btn): def DisableAll(boolean): self.root.ids.removeallcheck.disabled = boolean for b in self.root.ids.removegrid.children: b.children[0].disabled = boolean def Remove(btn): count = 0 for b in self.root.ids.removegrid.children: if type(b).__name__ == 'MDRaisedButton': continue if b.children[0].state=='down': jo = b.children[-1].text self.orders.remove([o for o in self.orders if o.jo==jo][0]) count += 1 self.UpdateMain() self.UpdateResult(self.orders) self.root.ids.scr_mngr.current = 'main' Snackbar(text=str(count)+" Order(s) Removed").show() def Cancel(btn): self.root.ids.removegrid.remove_widget(confirmbox) rbtn.disabled = False rbtn.md_bg_color = elite DisableAll(False) if not [b for b in self.root.ids.removegrid.children if type(b).__name__=='BoxLayout' and b.children[0].state=='down']: return DisableAll(True) rbtn.disabled = True rbtn.md_bg_color = transparent confirmbox = Builder.load_string(removeconfirmbox_kv) confirmbox.ids.removeconfirmbtn.bind(on_release=Remove) confirmbox.ids.removecancelbtn.bind(on_release=Cancel) self.root.ids.removegrid.add_widget(confirmbox) def RemoveAll(checkbox, value): for b in self.root.ids.removegrid.children: b.children[0].state=value self.root.ids.removegrid.clear_widgets() self.root.ids.removeallcheck.bind(state=RemoveAll) for o in self.orders: b=BoxLayout() b.add_widget(ContentLabel(text=str(o.jo))) b.add_widget(ContentLabel(text=str(o.qty))) b.add_widget(ContentLabel(text=str(o.sections))) b.add_widget(ContentLabel(text=str(o.sheets))) b.add_widget(ContentLabel(text=str(o.rapdate)[:10])) f = FloatLayout() f.add_widget(MDIconButton(icon='dots-horizontal', on_release=partial(self.OrderStatus,disable=True), pos_hint={'center_x':.5,'center_y':.5})) b.add_widget(f) b.add_widget(MDCheckbox(state='normal')) self.root.ids.removegrid.add_widget(b) rbtn = MDRaisedButton(text='Remove',on_release=RemoveConfirm,size_hint=(1,1)) rbtn.md_bg_color=elite self.root.ids.removegrid.add_widget(rbtn)
def Del_Sel_Files(self, StudId): self.te = '' self.chkref = {} self.Select_Files_To_Del = [] db = mysql.connector.connect(host='localhost', user='******', passwd='P@$$W0RD') my = db.cursor() my.execute('use Voice_Comparer') sql = 'select * from Student_Data_By_Path where StudentId = %s' val = (StudId, ) my.execute(sql, val) res = my.fetchall() print(len(res)) inner = ScrollView(size_hint=(1, 1), pos_hint={ 'center_x': 0, 'center_y': .5 }) grid = GridLayout(cols=1, spacing=10, size_hint_y=None, padding=dp(10)) grid.bind(minimum_height=grid.setter('height')) if len(res) > 0: for row in res: print(row[1]) b = BoxLayout(orientation='horizontal', size_hint=(1, None)) checkbox = MDCheckbox() checkbox.bind(active=self.Checking) self.chkref[checkbox] = row[1] label = MDLabel(text=row[1]) b.add_widget(label) b.add_widget(checkbox) grid.add_widget(b) inner.add_widget(grid) else: inner.add_widget(MDLabel(text='There is no files Here!!!')) pass popup = Popup(title='Select Files', size_hint=(1, .8), content=inner, auto_dismiss=True) popup.open()