def form_valid(self, form):
        form.instance._creation_user_id = self.request.user.id

        if self.request.user.groups.filter(name=L100).exists():
            form.instance.supplier_id = 1
        elif self.request.user.groups.filter(name=L200).exists():
            form.instance.supplier_id = 2
        elif self.request.user.groups.filter(name=L300).exists():
            form.instance.supplier_id = 3

        if self.request.user.groups.filter(name=LIEFERANTEN).exists():
            form.instance.external_system = True

        new_supp_order_complaint = form.save()

        if form.instance.external_system == True:
            if self.request.user.groups.filter(name=L100).exists():
                Task.set_task(new_supp_order_complaint, 40)
            elif self.request.user.groups.filter(name=L200).exists():
                Task.set_task(new_supp_order_complaint, 41)
            elif self.request.user.groups.filter(name=L300).exists():
                Task.set_task(new_supp_order_complaint, 42)
        else:
            if self.request.user.groups.filter(name=PRODUKTION).exists():
                Task.set_task(new_supp_order_complaint, 32)
            elif self.request.user.groups.filter(
                    name=PRODUKTIONSDIENSTLEISTUNG).exists():
                Task.set_task(new_supp_order_complaint, 43)

        return HttpResponseRedirect("/supp_complaint/alter/" +
                                    str(new_supp_order_complaint.pk) + "/")
Esempio n. 2
0
def get_api_tasks(request, **kwargs):

    tasks_user = list()
    for index, task in enumerate(Task.get_tasks_of_user(request.user)):
        tasks_user.append(
            dict(id=task.id, title=task.task_type.title, ref=task.get_ref()))

    tasks_group = list()
    for index, task in enumerate(Task.get_unassigned_tasks(request.user)):
        tasks_group.append(
            dict(id=task.id, title=task.task_type.title, ref=task.get_ref()))

    return JsonResponse(dict(tasks_user=tasks_user, tasks_group=tasks_group))
    def form_valid(self, form):
        form.instance._creation_user_id = self.request.user.id

        if self.request.user.groups.filter(name=K1).exists():
            form.instance.customer_id = 1
        elif self.request.user.groups.filter(name=K2).exists():
            form.instance.customer_id = 2
        elif self.request.user.groups.filter(name=K3).exists():
            form.instance.customer_id = 3

        if self.request.user.groups.filter(name=KUNDEN).exists():
            form.instance.external_system = True

        new_cust_order_complaint = form.save()

        if form.instance.external_system == True:
            if self.request.user.groups.filter(name=K1).exists():
                Task.set_task(new_cust_order_complaint, 21)
            elif self.request.user.groups.filter(name=K2).exists():
                Task.set_task(new_cust_order_complaint, 22)
            elif self.request.user.groups.filter(name=K3).exists():
                Task.set_task(new_cust_order_complaint, 23)
        else:
            Task.set_task(new_cust_order_complaint, 30)

        return HttpResponseRedirect("/cust_complaint/alter/" +
                                    str(new_cust_order_complaint.pk) + "/")
Esempio n. 4
0
def get_api_status(request, **kwargs):
    time = Timers.get_current_day()
    has_unassigned = Task.has_unassigned(request.user)
    has_messages = Message.group_has_unread(request.user)
    return JsonResponse(
        dict(time=time,
             has_unassigned=has_unassigned,
             has_messages=has_messages))
Esempio n. 5
0
    def form_valid(self, form):
        form.instance._creation_user_id = self.request.user.id

        if self.request.user.groups.filter(name=L100).exists():
            form.instance.supplier_id = 1
        elif self.request.user.groups.filter(name=L200).exists():
            form.instance.supplier_id = 2
        elif self.request.user.groups.filter(name=L300).exists():
            form.instance.supplier_id = 3

        if self.request.user.groups.filter(name=LIEFERANTEN).exists():
            form.instance.external_system = True

        new_supp_order = form.save()

        if self.request.user.groups.filter(name=L300).exists():
            Task.set_task(new_supp_order, 20)
        elif self.request.user.groups.filter(name=JOGA).exists():
            Task.set_task(new_supp_order, 19)

        return HttpResponseRedirect("/supp_order/alter/" +
                                    str(new_supp_order.pk) + "/")
Esempio n. 6
0
def gtcontext(request):
    if request.user.groups.filter(name=JOGA).exists():
        company = JOGA  # light-blue
    elif request.user.groups.filter(name=LIEFERANTEN).exists():
        company = LIEFERANTEN  # green
    elif request.user.groups.filter(name=KUNDEN).exists():
        company = KUNDEN  # red
    else:
        company = 'none'  # grey

    group = []

    for item in request.user.groups.all():
        group.append(item.name)

    return {
        "debug_flag": settings.DEBUG,
        "company": company,
        "group": group,
        "day": Timers.get_current_day(),
        "has_unassigned_tasks": Task.has_unassigned(request.user),
        "has_messages": Message.group_has_unread(request.user)
    }
Esempio n. 7
0
def box_search_view(request):
    boxno_found = 0
    ext_sys = request.user.groups.filter(name=JOGA).exists()
    if request.method == "POST":
        number = request.POST.get('boxnr')
        if CustOrder.objects.filter(box_no=str(number)).exclude(
                external_system=ext_sys).exists() and len(
                    CustOrder.objects.filter(box_no=str(number).exclude(
                        external_system=ext_sys))) < 2:
            #task setzen welches neu entsteht
            pass
        elif CustOrderDet.objects.filter(box_no=str(number)).exclude(
                cust_order__external_system=ext_sys).exists() and len(
                    CustOrderDet.objects.filter(box_no=str(number)).exclude(
                        cust_order__external_system=ext_sys)) < 2:
            mylist = CustOrderDet.objects.filter(box_no=str(number))
            for obj in mylist:
                if obj.status == CustOrderDet.Status.AUFTRAG_FREIGEGEBEN:
                    #Task erscheint bei dem Boxscan in der Produktion, wo dann die Hebebühne gebaut werden soll & der Status wird auf 4 gesetzt
                    Task.set_task(obj, 6)
                    set_status(obj.__class__.__name__, obj.id,
                               CustOrderDet.Status.IN_PRODUKTION)
                    CustOrderDet.objects.filter(pk=obj.id).update(box_no='')
                    boxno_found = 1
                elif obj.status == CustOrderDet.Status.VERSANDT_AN_KD:
                    #Task erscheint bei dem Boxscan beim Kundendienst, wo dann die Hebebühne an den Kunden übergeben werden soll und der Status wird auf 6 gesetzt
                    Task.set_task(obj, 8)
                    set_status(obj.__class__.__name__, obj.id,
                               CustOrderDet.Status.LIEFERUNG_AN_K_AUSSTEHEND)
                    CustOrderDet.objects.filter(pk=obj.id).update(box_no='')
                    boxno_found = 1
                elif obj.status == CustOrderDet.Status.BESTELLT:
                    #Task beim Kunden für den Wareneingang
                    if request.user.groups.filter(name=K1).exists():
                        Task.set_task(obj, 11)
                        set_status(obj.__class__.__name__, obj.id,
                                   CustOrderDet.Status.GELIEFERT)
                    elif request.user.groups.filter(name=K2).exists():
                        Task.set_task(obj, 12)
                        set_status(obj.__class__.__name__, obj.id,
                                   CustOrderDet.Status.GELIEFERT)
                    elif request.user.groups.filter(name=K3).exists():
                        Task.set_task(obj, 13)
                        set_status(obj.__class__.__name__, obj.id,
                                   CustOrderDet.Status.GELIEFERT)
                    CustOrderDet.objects.filter(pk=obj.id).update(box_no='')
                    boxno_found = 1
        elif SuppOrder.objects.filter(box_no=str(number)).exclude(
                external_system=ext_sys).exists() and len(
                    SuppOrder.objects.filter(box_no=str(number)).exclude(
                        external_system=ext_sys)) < 2:
            #Status-Abfrage -> Joga Bestellung auf Bestellt um dann den Task "Wareneingang" auszulösen
            mylist = SuppOrder.objects.filter(box_no=str(number))
            for obj in mylist:
                if obj.status == SuppOrder.Status.BESTELLT:
                    Task.set_task(obj, 4)
                    set_status(obj.__class__.__name__, obj.id,
                               SuppOrder.Status.BESTELLT)
                    boxno_found = 1
                    SuppOrder.objects.filter(pk=obj.id).update(box_no='')

        elif SuppOrderDet.objects.filter(box_no=str(number)).exclude(
                supp_order__external_system=ext_sys).exists() and len(
                    SuppOrderDet.objects.filter(box_no=str(number)).exclude(
                        supp_order__external_system=ext_sys)) < 2:
            pass

        elif CustComplaintDet.objects.filter(box_no=str(number)).exclude(
                cust_complaint__external_system=ext_sys).exists() and len(
                    CustComplaintDet.objects.filter(
                        box_no=str(number)).exclude(
                            cust_complaint__external_system=ext_sys)) < 2:
            mylist = CustComplaintDet.objects.filter(box_no=str(number))
            for obj in mylist:
                if obj.status == CustComplaintDet.Status.VERSAND_AN_PRODUKTION:
                    Task.set_task(obj, 28)
                    set_status(obj.__class__.__name__, obj.id,
                               CustComplaintDet.Status.IN_ANPASSUNG)
                    boxno_found = 1
                if obj.status == CustComplaintDet.Status.VERSAND_AN_KUNDENDIENST:
                    Task.set_task(obj, 31)
                    set_status(obj.__class__.__name__, obj.id,
                               CustComplaintDet.Status.BEI_KUNDENDIENST)
                    boxno_found = 1
                if obj.status == CustComplaintDet.Status.VERSAND_AN_KUNDE:
                    set_status(obj.__class__.__name__, obj.id,
                               CustComplaintDet.Status.GELIEFERT)
                    boxno_found = 1
            CustComplaintDet.objects.filter(pk=obj.id).update(box_no='')

        elif SuppComplaint.objects.filter(box_no=str(number)).exclude(
                external_system=ext_sys).exists() and len(
                    SuppComplaint.objects.filter(box_no=str(number)).exclude(
                        external_system=ext_sys)) < 2:
            mylist = SuppComplaint.objects.filter(box_no=str(number))
            for obj in mylist:
                # if obj.status == SuppComplaint.Status.ERFASST:
                #     set_status(obj.__class__.__name__, obj.id,SuppComplaint.Status.BESTANDSPRUEFUNG_AUSSTEHEND)
                #     Task.set_task(obj, 36)
                #     boxno_found = 1
                #     SuppComplaint.objects.filter(pk=obj.id).update(box_no='')
                if obj.status == SuppComplaint.Status.VERSAND_AN_LIEFERANT:
                    #set_status(obj.__class__.__name__, obj.id,SuppComplaint.Status.GELIEFERT)
                    SuppComplaintDets = SuppComplaintDet.objects.filter(
                        supp_complaint=obj.id)

                    for det in SuppComplaintDets:
                        if det.status == SuppComplaintDet.Status.VERSAND_AN_LIEFERANT:
                            det.status = SuppComplaintDet.Status.GELIEFERT
                            det.save()

                    Task.set_task(obj, 34)
                    boxno_found = 1
                    SuppComplaint.objects.filter(pk=obj.id).update(box_no='')

                if obj.status == SuppComplaint.Status.REKLAMATION_FREIGEGEBEN:
                    if request.user.groups.filter(name=L100).exists():
                        Task.set_task(obj, 48)
                    elif request.user.groups.filter(name=L200).exists():
                        Task.set_task(obj, 49)
                    elif request.user.groups.filter(name=L300).exists():
                        Task.set_task(obj, 50)
                    boxno_found = 1
                    SuppComplaint.objects.filter(pk=obj.id).update(box_no='')

                if obj.status == SuppComplaint.Status.VERSAND_AN_PDL:
                    set_status(obj.__class__.__name__, obj.id,
                               SuppComplaint.Status.IN_BEARBEITUNG)
                    Task.set_task(obj, 38)

                    supp_complaint_dets = SuppComplaintDet.objects.filter(
                        supp_complaint=obj)
                    for pos in supp_complaint_dets:
                        pos.status = SuppComplaintDet.Status.IN_BEARBEITUNG
                        pos.save()

                    boxno_found = 1
                    SuppComplaint.objects.filter(pk=obj.id).update(box_no='')
                if obj.status == SuppComplaint.Status.VERSAND_AN_PRODUKTION:
                    #set_status(obj.__class__.__name__, obj.id,SuppComplaint.Status.ABGESCHLOSSEN)

                    supp_complaint_dets = SuppComplaintDet.objects.filter(
                        supp_complaint=obj)
                    for pos in supp_complaint_dets:
                        pos.status = SuppComplaintDet.Status.ABGESCHLOSSEN
                        pos.save()

                    Task.set_task(obj, 47)
                    boxno_found = 1
                    SuppComplaint.objects.filter(pk=obj.id).update(box_no='')

    else:
        return render(request, "box.html")

    if boxno_found == 1:
        return HttpResponseRedirect(reverse("tasks_notassigned"))
    else:
        c = {}
        c["FEHLER"] = 1
        return render(request, "box.html", c)