Exemplo n.º 1
0
    def init_with_context(self, context):
        """
        self.children += [{
            'title': _('Parts Recycle'),
            'change_url': change_url + 'draft/', 
            'add_url': add_url
        }, {
            'title': _('supervisor approve'),
            'change_url': change_url + 'supervisorapprove/'
        }, {
            'title': _('engineer approve'),
            'change_url': change_url + 'engineerapprove/'
        }, {
            'title': _('repaire'),
            'change_url': change_url + 'repair/'
        }, {
            'title': _('query'),
            'change_url': change_url
        }]
        """
        if self._initialized:
            return

        mod, inst_str = self.models.rsplit('.', 1)
        mod = import_module(mod)
        inst = getattr(mod, inst_str)
        app_label, model_name = inst._meta.app_label, inst._meta.model_name
        user = context['request'].user

        info2 = (app_label, model_name)
        url_draft_suffix = statusUrl.get_url_suffix_by_status(Status.DRAFT)
        add_url = reverse('admin:%s_%s_add_%s' % (app_label, model_name, url_draft_suffix))
        
        draft_child = {'title': statusUrl.get_menu_name_by_status(Status.DRAFT)}
        if user.has_perm('%s.add_%s' % info2):
            draft_child['add_url'] = add_url
        if user.has_perm('%s.change_%s' % info2):
            draft_child['change_url'] = reverse('admin:%s_%s_changelist_%s' % (app_label, model_name, url_draft_suffix))
        if 'add_url' in draft_child:
            self.children.append(draft_child)

        perm_dict = {
            Status.SUPERVISOR_APPROVE: '%s.can_approve' % app_label,
            Status.ENGINEER_APPROVE: '%s.can_engineer_approve' % app_label,
            Status.REPAIR: '%s.can_repair' % app_label,
            statusUrl.STATUS_QUERY: '%s.change_%s' % info2
        }
        for status in perm_dict.keys():
            if user.has_perm(perm_dict[status]):
                self.children.append({
                    'title': statusUrl.get_menu_name_by_status(status),
                    'change_url': reverse('admin:%s_%s_changelist_%s' %
                                          (info2 + (statusUrl.get_url_suffix_by_status(status),)))
                })
            
        self._initialized = True
Exemplo n.º 2
0
def status_menu_name(status):
    """
    return the menu name of status url

    Arguments:
    - `status`:
    """
    return statusUrl.get_menu_name_by_status(status)
Exemplo n.º 3
0
 def init_with_context(self, context):
     user = context['request'].user        
     info2 = (self.app_label, self.model_name)
     perm_dict = {
         Status.DRAFT: '%s.change_%s' % info2, 
         Status.SUPERVISOR_APPROVE: '%s.can_approve' % self.app_label,
         Status.ENGINEER_APPROVE: '%s.can_engineer_approve' % self.app_label,
         Status.REPAIR: '%s.can_repair' % self.app_label,
         statusUrl.STATUS_QUERY: '%s.change_%s' % info2
     }
     
     for status in perm_dict.keys():
         if user.has_perm(perm_dict[status]):
             self.children.append(items.MenuItem(
                 title = statusUrl.get_menu_name_by_status(status),
                 url = reverse('admin:%s_%s_changelist_%s' %
                               (info2 + (statusUrl.get_url_suffix_by_status(status),)))
             ))