Exemplo n.º 1
0
    def get_base_dataset(self):
        nav_role = Task.get_nav_role(self.config.app)
        if nav_role and (nav_role != self.config.get_cur_role()):
            if (self.config.group_entity in self.request.GET):
                active_nav_item_id = self.request.GET[self.config.group_entity]
                Task.set_active_nav_item(self.request.user.id, self.config.app,
                                         active_nav_item_id)
        self.config.set_view(self.request)
        query = None
        if (self.request.method == 'GET'):
            query = self.request.GET.get('q')
        nav_item = None

        nav_role = Task.get_nav_role(self.config.app)
        cur_role = self.config.get_cur_role()
        if nav_role and (nav_role != cur_role):
            if (self.config.group_entity in self.request.GET):
                active_nav_item_id = self.request.GET[self.config.group_entity]
                nav_item = Task.set_active_nav_item(self.request.user.id,
                                                    self.config.app,
                                                    active_nav_item_id)
            else:
                nav_item = Task.get_active_nav_item(self.request.user.id,
                                                    self.config.app)

        if nav_role and (nav_role != self.config.get_cur_role()):
            nav_item = Task.get_active_nav_item(self.request.user.id,
                                                self.config.app)
        return self.get_dataset(self.config.cur_view_group, query, nav_item)
Exemplo n.º 2
0
 def get_context_data(self, **kwargs):
     context = super().get_context_data(**kwargs)
     context['add_item_template'] = 'fuel/add_service.html'
     nav_item = Task.get_active_nav_item(self.request.user.id, APP_FUEL)
     form = CreateForm(nav_item, self.request.user.id)
     context['form'] = form
     return context
Exemplo n.º 3
0
    def get_app_context(self,
                        user_id,
                        search_qty=None,
                        icon=None,
                        nav_items=None,
                        **kwargs):
        context = {}
        if hasattr(self, 'object') and self.object:
            title = self.object.name
        else:
            if 'title' in kwargs:
                title = kwargs['title']
            else:
                title = _(self.config.title).capitalize()
        nav_item = None
        if (Task.get_nav_role(self.config.app) != self.config.get_cur_role()):
            nav_item = Task.get_active_nav_item(user_id, self.config.app)
            if nav_item:
                title = (title, nav_item.name)
                context['nav_item'] = nav_item
        context.update(
            get_base_context(self.request,
                             self.config.app,
                             self.config.get_cur_role(),
                             self.config.cur_view_group,
                             (hasattr(self, 'object') and self.object != None),
                             title,
                             icon=icon))
        context['fix_list'] = self.get_fixes(self.config.views, search_qty)
        context['group_form'] = CreateGroupForm()
        context['config'] = self.config
        context['params'] = extract_get_params(self.request,
                                               self.config.group_entity)
        if nav_items:
            context['nav_items'] = nav_items
        context['add_item_placeholder'] = '{} {}'.format(
            _('add').capitalize(), self.config.item_name
            if self.config.item_name else self.config.get_cur_role())
        if self.config.add_button:
            context['add_item_template'] = 'base/add_item_button.html'
        else:
            context['add_item_template'] = 'base/add_item_input.html'

        if (self.config.group_entity in self.request.GET):
            context['current_group'] = self.request.GET[
                self.config.group_entity]
        elif ('ret' in self.request.GET):
            context['current_group'] = self.request.GET['ret']

        return context
Exemplo n.º 4
0
 def get(self, request, *args, **kwargs):
     if not request.user.is_authenticated:
         raise Http404
     ret = super().get(request, *args, **kwargs)
     nav_role = Task.get_nav_role(self.config.app)
     cur_role = self.config.get_cur_role()
     if nav_role and (nav_role != cur_role):
         if (self.config.group_entity not in request.GET):
             nav_item = Task.get_active_nav_item(request.user.id,
                                                 self.config.app)
             if nav_item:
                 return HttpResponseRedirect(request.path + '?' +
                                             self.config.group_entity +
                                             '=' + str(nav_item.id))
     return ret
Exemplo n.º 5
0
 def get_fixes(self, views, search_qty):
     fixes = []
     if (self.config.app == APP_ALL):
         common_url = reverse('index')
     else:
         common_url = reverse(self.config.app + ':list')
     nav_item = Task.get_active_nav_item(self.request.user.id,
                                         self.config.app)
     for key, value in views.items():
         url = common_url
         determinator = 'view'
         view_id = self.config.main_view
         if (view_id != key):
             if ('role' in value):
                 determinator = 'role'
                 view_id = value['role']
                 url += view_id + '/'
             else:
                 view_id = key
                 if (key != self.config.main_view):
                     if ('page_url' in value):
                         url += value['page_url'] + '/'
                     else:
                         url += '?view=' + key
         if (self.config.app in FOLDER_NAV_APPS):
             folder = ''
             if ('folder' in self.request.GET):
                 folder = self.request.GET['folder']
             if folder:
                 if ('?' in url):
                     url += '&'
                 else:
                     url += '?'
                 url += 'folder=' + folder
         hide_qty = False
         if ('hide_qty' in value):
             hide_qty = value['hide_qty']
         if hide_qty:
             qty = None
         else:
             if (view_id == self.config.group_entity):
                 _nav_item = None
             else:
                 _nav_item = nav_item
             fix_group = detect_group(self.request.user, self.config.app,
                                      determinator, view_id,
                                      _(value['title']).capitalize())
             qty = self.get_view_qty(fix_group, _nav_item)
         active = (self.config.cur_view_group.determinator
                   == determinator) and (self.config.cur_view_group.view_id
                                         == view_id)
         fix = {
             'determinator': determinator,
             'id': view_id,
             'url': url,
             'icon': value['icon'],
             'title': _(value['title']).capitalize(),
             'qty': qty,
             'active': active,
             'search_qty': search_qty,
         }
         fixes.append(fix)
     return fixes