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)
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)
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)