def get_nav_items(self): nav_role = Task.get_nav_role(self.config.app) if (not nav_role) or (nav_role == self.config.cur_view_group.view_id): return None href = self.request.path if ('pk' in self.kwargs): pk = str(self.kwargs['pk']) + '/' if (pk in href): href = href.split(pk)[0] sort = 'name' nav_item_group = detect_group(self.request.user, self.config.app, 'role', nav_role, '') if nav_item_group and nav_item_group.items_sort: sort = nav_item_group.items_sort ret = [] for item in Task.get_role_tasks(self.request.user.id, self.config.app, nav_role).order_by(sort): ret.append({ 'id': item.id, 'name': item.name, 'qty': len( Task.get_role_tasks(self.request.user.id, self.config.app, self.config.cur_view_group.view_id, item)), 'href': href, }) return ret
def delete_task_role(app, role, result): data = Task.get_role_tasks(None, app, role).exclude(id__in=get_excluded(app, 'Task')) if (app == APP_TODO): qnt = data.update(app_task=NONE) if (app == APP_NOTE): qnt = data.update(app_note=NONE) if (app == APP_NEWS): qnt = data.update(app_news=NONE) if (app == APP_STORE): qnt = data.update(app_store=NONE) if (app == APP_DOCS): qnt = data.update(app_doc=NONE) if (app == APP_WARR): qnt = data.update(app_warr=NONE) if (app == APP_EXPEN): qnt = data.update(app_expen=NONE) if (app == APP_TRIP): qnt = data.update(app_trip=NONE) if (app == APP_FUEL): qnt = data.update(app_fuel=NONE) if (app == APP_APART): qnt = data.update(app_apart=NONE) if (app == APP_HEALTH): qnt = data.update(app_health=NONE) if (app == APP_WORK): qnt = data.update(app_work=NONE) if (app == APP_PHOTO): qnt = data.update(app_photo=NONE) set(result, app, role, 'Task', 'reset_role', qnt) to_kill = Task.objects.filter(app_task=NONE, app_note=NONE, app_news=NONE, app_store=NONE, app_doc=NONE, app_warr=NONE, app_expen=NONE, app_trip=NONE, app_fuel=NONE, app_apart=NONE, app_health=NONE, app_work=NONE, app_photo=NONE) set(result, app, role, 'Step', 'delete', Step.objects.filter(task__in=to_kill).delete()[0]) set(result, app, role, 'Urls', 'delete', Urls.objects.filter(task__in=to_kill).delete()[0]) set(result, app, role, 'Hist', 'delete', Hist.objects.filter(task__in=to_kill).delete()[0]) set(result, app, role, 'Task', 'delete', to_kill.delete()[0])
def get_dataset(self, group, query=None, nav_item=None): if (group.determinator == 'role'): cur_role = group.view_id else: cur_role = self.config.base_role data = Task.get_role_tasks(self.request.user.id, self.config.app, cur_role, nav_item) if (self.config.app == APP_ALL) and (not query): return data if data and ((not group.determinator) or (group.determinator == 'group')): data = data.filter(groups__id=group.id) # if (not group.completed): # data = data.filter(completed=False) if hasattr(self, 'tune_dataset'): return self.tune_dataset(data, group) return data