예제 #1
0
def index(request):
    snippet_model_opts = [
        model._meta for model in get_snippet_models()
        if user_can_edit_snippet_type(request.user, model)]
    return render(request, 'wagtailsnippets/snippets/index.html', {
        'snippet_model_opts': sorted(
            snippet_model_opts, key=lambda x: x.verbose_name.lower())})
예제 #2
0
def register_snippet_listing_buttons(snippet, user, next_url=None):
    model = type(snippet)

    if user_can_edit_snippet_type(user, model):
        yield SnippetListingButton(
            _("Edit"),
            reverse(
                "wagtailsnippets:edit",
                args=[model._meta.app_label, model._meta.model_name, quote(snippet.pk)],
            ),
            attrs={"aria-label": _("Edit '%(title)s'") % {"title": str(snippet)}},
            priority=10,
        )

    if user.has_perm(get_permission_name("delete", model)):
        yield SnippetListingButton(
            _("Delete"),
            reverse(
                "wagtailsnippets:delete",
                args=[model._meta.app_label, model._meta.model_name, quote(snippet.pk)],
            ),
            attrs={"aria-label": _("Delete '%(title)s'") % {"title": str(snippet)}},
            priority=20,
            classes=["no"],
        )
예제 #3
0
def register_snippet_listing_buttons(snippet, user, next_url=None):
    model = type(snippet)

    if user_can_edit_snippet_type(user, model):
        yield SnippetListingButton(_('Edit'),
                                   reverse('wagtailsnippets:edit',
                                           args=[
                                               model._meta.app_label,
                                               model._meta.model_name,
                                               quote(snippet.pk)
                                           ]),
                                   attrs={
                                       'aria-label': _("Edit '%(title)s'") % {
                                           'title': str(snippet)
                                       }
                                   },
                                   priority=10)

    if user.has_perm(get_permission_name('delete', model)):
        yield SnippetListingButton(_('Delete'),
                                   reverse('wagtailsnippets:delete',
                                           args=[
                                               model._meta.app_label,
                                               model._meta.model_name,
                                               quote(snippet.pk)
                                           ]),
                                   attrs={
                                       'aria-label':
                                       _("Delete '%(title)s'") % {
                                           'title': str(snippet)
                                       }
                                   },
                                   priority=20,
                                   classes=['no'])
예제 #4
0
def index(request):
    snippet_model_opts = [
        model._meta for model in get_snippet_models()
        if user_can_edit_snippet_type(request.user, model)]
    return render(request, 'wagtailsnippets/snippets/index.html', {
        'snippet_model_opts': sorted(
            snippet_model_opts, key=lambda x: x.verbose_name.lower())})
예제 #5
0
def user_can_edit_instance(user, instance):
    if isinstance(instance, Page):
        # Page
        page_perms = instance.permissions_for_user(user)
        return page_perms.can_edit()

    else:
        # Snippet
        return user_can_edit_snippet_type(user, instance.__class__)
예제 #6
0
def index(request):
    snippet_model_opts = [
        model._meta for model in get_snippet_models()
        if user_can_edit_snippet_type(request.user, model)
    ]
    if snippet_model_opts:
        return TemplateResponse(
            request, 'wagtailsnippets/snippets/index.html', {
                'snippet_model_opts':
                sorted(snippet_model_opts,
                       key=lambda x: x.verbose_name.lower())
            })
    else:
        raise PermissionDenied
예제 #7
0
 def _get_snippet_types(self):
     return [{
         "model_opts": model._meta,
         "model": model
     } for model in get_snippet_models()
             if user_can_edit_snippet_type(self.request.user, model)]
예제 #8
0
def index(request):
    snippet_model_opts = [
        model._meta for model in get_snippet_models()
        if user_can_edit_snippet_type(request.user, model)]

    # Return current BatchNum Specs
    tmp = StaticsDetail.objects.values('BatchNum').distinct()
    BatchNums = []
    for i in range(len(tmp)):
        BatchNums.append(tmp[i]['BatchNum'])
    curStatics = StaticsDetail.objects.latest('id')
    curBatchNum = curStatics.BatchNum
    defectRate = 0
    dic = {
        "油污": 11.5,
        "浆斑": 11.5,
        "停车痕": 11.5,
        "并纬": 11.5,
        "擦白": 11.5,
        "擦伤": 11.5,
        "错花": 11.5,
        "断经": 11.5,
        "断纬": 11.5,
        "尽机": 11.5,
        "经条": 11.5,
        "空织": 11.5,
        "起机": 11.5,
        "缺纬": 11.5,
        "缩纬": 11.5,
        "折返": 11.5,
        "其他": 11.5,
        "糙纬": 11.5,
    }
    # filter
    curStatics = StaticsDetail.objects.all()
    if (request.POST):
        batchnum = request.POST['BatchNum']
        curStatics = StaticsDetail.objects.get(BatchNum=batchnum)
        curBatchNum = curStatics.BatchNum
        if curStatics.DefectCount != 0:
            dic = {
                "油污": (curStatics.YW/curStatics.DefectCount*0.885+0.115)*100,
                "浆斑": (curStatics.JB/curStatics.DefectCount*0.885+0.115)*100,
                "停车痕": ((curStatics.TCHJ+curStatics.TCHS)/curStatics.DefectCount*0.885+0.115)*100,
                "并纬": (curStatics.BW/curStatics.DefectCount*0.885+0.115)*100,
                "擦白": (curStatics.CB/curStatics.DefectCount*0.885+0.115)*100,
                "擦伤": (curStatics.CS/curStatics.DefectCount*0.885+0.115)*100,
                "错花": (curStatics.CH/curStatics.DefectCount*0.885+0.115)*100,
                "断经": ((curStatics.DJ1+curStatics.DJ2)/curStatics.DefectCount*0.885+0.115)*100,
                "断纬": (curStatics.DW/curStatics.DefectCount*0.885+0.115)*100,
                "尽机": (curStatics.JJ/curStatics.DefectCount*0.885+0.115)*100,
                "经条": (curStatics.JT/curStatics.DefectCount*0.885+0.115)*100,
                "空织": (curStatics.KZ/curStatics.DefectCount*0.885+0.115)*100,
                "起机": (curStatics.QJ/curStatics.DefectCount*0.885+0.115)*100,
                "缺纬": ((curStatics.QW1+curStatics.QW2)/curStatics.DefectCount*0.885+0.115)*100,
                "缩纬": (curStatics.SW/curStatics.DefectCount*0.885+0.115)*100,
                "折返": (curStatics.ZF/curStatics.DefectCount*0.885+0.115)*100,
                "其他": (curStatics.QT/curStatics.DefectCount*0.885+0.115)*100,
                "糙纬": (curStatics.CW/curStatics.DefectCount*0.885+0.115)*100,
            }
        defectRate = int(curStatics.DefectCount/curStatics.CountAll*100)
    orderList = sorted(dic.items(), key=lambda item: item[1], reverse=True)

    if request.method == 'POST':
        form = StatisticsForm(request.POST)
        if form.is_valid():
            return HttpResponseRedirect('/thanks/')
    else:
        form = StatisticsForm()

    return render(request, 'wagtailsnippets/snippets/index.html', {
        'snippet_model_opts': sorted(
            snippet_model_opts, key=lambda x: x.verbose_name.lower()),
        'BatchNums': BatchNums,
        'orderList': orderList,
        'defectRate': defectRate,
        'curBatchNum': curBatchNum,
        'form': form,
        })
예제 #9
0
파일: snippets.py 프로젝트: minusf/wagtail
 def _get_snippet_types(self):
     return [
         model._meta for model in get_snippet_models()
         if user_can_edit_snippet_type(self.request.user, model)
     ]