Esempio n. 1
0
def plmobjects(request, obj_ref):
    obj, ctx = bv.get_generic_data(request, "ECR", obj_ref, "-")
    objects = models.PLMObject.objects.filter(
            id__in=obj.plmobjects.now().values_list("plmobject", flat=True))
    objects = objects.select_related("state", "lifecycle")
    ctx.update(get_pagination(request, objects, "object"))
    ctx["current_page"] = "part-doc-cads"
    ctx["detach_objects"] = obj.is_editable and ctx["is_owner"]
    return r2r("ecrs/plmobjects.html", ctx, request)
Esempio n. 2
0
def browse_ecr(request):
    user = request.user
    if not user.profile.restricted:
        # only authenticated users can see all groups and users
        obj, ctx = bv.get_generic_data(request, search=False)
        object_list = ECR.objects.all()
        # this is only relevant for authenticated users
        ctx["state"] = state = request.GET.get("state", "all")
        if state == "official":
            object_list = object_list.\
                exclude(lifecycle=models.get_cancelled_lifecycle()).\
                filter(state=F("lifecycle__official_state"))
        ctx["plmobjects"] = False
        ctime_filter = SimpleDateFilter("ctime", request, ECR, "ctime")
        object_list = ctime_filter.queryset(request, object_list)
        mtime_filter = SimpleDateFilter("mtime", request, ECR, "mtime")
        object_list = mtime_filter.queryset(request, object_list)
        ctx["time_filters"] = [ctime_filter, mtime_filter]
    else:
        ctx = bv.init_ctx("-", "-", "-")
        ctx.update({
            'is_readable': True,
            'restricted': True,
            'object_menu': [],
            'is_contributor': False,
            'navigation_history': [],
        })
        readable = user.ecrs.now().filter(role=models.ROLE_READER)
        readable |= user.ecrs.now().filter(role=models.ROLE_OWNER)
        object_list = ECR.objects.filter(id__in=readable)

    ctx.update(get_pagination(request, object_list, "ECR"))
    extra_types = [c.__name__ for c in models.IObject.__subclasses__()]
    ctx.update({
        "object_type": _("Browse"),
        "type": "ECR",
        "extra_types": extra_types,
    })
    return r2r("browse_ecr.html", ctx, request)
Esempio n. 3
0
def changes(request, obj_type, obj_ref, obj_revi):
    obj, ctx = bv.get_generic_data(request, obj_type, obj_ref, obj_revi)
    ecrs = ECR.objects.filter(id__in=obj.ecrs.now().values_list("ecr", flat=True))
    ctx.update(get_pagination(request, ecrs, "ECR"))
    ctx["current_page"] = "changes"
    return r2r("changes.html", ctx, request)