Esempio n. 1
0
File: views.py Progetto: od-5/crm
def adjuster_a_task(request):
    """
    функция добавления задачи по адресам
    версия 1
    """
    context = {}
    if request.method == 'POST':
        adjustertask_form = AdjusterTaskAddForm(request.POST, request=request)
        if adjustertask_form.is_valid():
            if request.POST.getlist('chk_group[]'):
                task = adjustertask_form.save()
                surfaces = request.POST.getlist('chk_group[]')
                for item in surfaces:
                    surface = Surface.objects.get(pk=int(item))
                    task_surface = AdjusterTaskSurface(
                        adjustertask=task,
                        surface=surface
                    )
                    task_surface.save()
                return HttpResponseRedirect(task.get_absolute_url())
        else:
            context.update({
                'error': 'Achtung! Form is invalid!'
            })
    else:
        adjustertask_form = AdjusterTaskAddForm(request=request)
    try:
        request.session['adjustertask_filtered_list']
    except:
        request.session['adjustertask_filtered_list'] = reverse('adjustertask:list')
    context.update({
        'adjustertask_form': adjustertask_form,
        'back_to_list': request.session['adjustertask_filtered_list']
    })
    return render(request, 'adjustertask/adjustertask_a_add.html', context)
Esempio n. 2
0
File: views.py Progetto: od-5/crm
def adjustertask_area(request):
    """
    функция добавления задачи по районам
    версия 2
    """
    context = {}
    user = request.user
    if request.method == 'POST':
        form = AdjusterTaskAreaAddForm(request.POST)
        if form.is_valid():
            if request.POST.getlist('chk_group[]'):
                # сохраняем задачу
                task = form.save()
                surfaces = request.POST.getlist('chk_group[]')
                for item in surfaces:
                    try:
                        surface = Surface.objects.get(pk=int(item))
                        # Если полностью сломана - не создавать поверхность задачи
                        # сохраняем поверхности для задачи
                        if not surface.full_broken:
                            adjustertasksurface = AdjusterTaskSurface(
                                adjustertask=task,
                                surface=surface
                            )
                            adjustertasksurface.save()
                            for porch in surface.porch_set.all():
                                if not porch.is_broken:
                                    atsporch = AdjusterTaskSurfacePorch(
                                        adjustertasksurface=adjustertasksurface,
                                        porch=porch
                                    )
                                    atsporch.save()
                    except:
                        pass
                return HttpResponseRedirect(task.get_absolute_url())
    else:
        form = AdjusterTaskAreaAddForm()
        if user.type == 1:
            city_qs = City.objects.all()
        elif user.type == 6:
            city_qs = user.superviser.city.all()
        elif user.type == 2:
            city_qs = City.objects.filter(moderator=user)
        elif user.type == 5:
            manager = Manager.objects.get(user=user)
            city_qs = City.objects.filter(moderator=manager.moderator)
        else:
            city_qs = None
        form.fields['city'].queryset = city_qs
    try:
        request.session['adjustertask_filtered_list']
    except:
        request.session['adjustertask_filtered_list'] = reverse('adjustertask:list')
    context.update({
        'form': form,
        'back_to_list': request.session['adjustertask_filtered_list']
    })
    return render(request, 'adjustertask/adjustertask_area_add.html', context)
Esempio n. 3
0
File: views.py Progetto: od-5/crm
def adjustertask_repair(request):
    """
    функция добавления задачи на ремонт
    версия 2
    """
    context = {}
    error = None
    user = request.user
    if request.method == 'POST':
        form = AdjusterTaskRepairAddForm(request.POST)
        if form.is_valid():
            if request.POST.getlist('chk_group[]'):
                task = form.save()
                porch_list = request.POST.getlist('chk_group[]')
                for item in porch_list:
                    porch = Porch.objects.get(pk=int(item))
                    try:
                        adjustertasksurface = AdjusterTaskSurface.objects.get(adjustertask=task, surface=porch.surface)
                    except:
                        adjustertasksurface = AdjusterTaskSurface(
                            adjustertask=task,
                            surface=porch.surface
                        )
                        adjustertasksurface.save()
                    atsporch = AdjusterTaskSurfacePorch(
                        adjustertasksurface=adjustertasksurface,
                        porch=porch
                    )
                    atsporch.save()
                return HttpResponseRedirect(task.get_absolute_url())
            else:
                error = u'Не выбрано ни одно подъезда для ремонта'
        else:
            error = u'Проверьте правильность ввода полей. Все поля, кроме комментария, обязательны к заполнению'
    else:
        form = AdjusterTaskRepairAddForm()
    if user.type == 1:
        city_qs = City.objects.all()
    elif user.type == 6:
        city_qs = user.superviser.city.all()
    elif user.type == 2:
        city_qs = City.objects.filter(moderator=user)
    elif user.type == 5:
        city_qs = City.objects.filter(moderator=user.manager.moderator)
    else:
        city_qs = None
    form.fields['city'].queryset = city_qs
    try:
        request.session['adjustertask_filtered_list']
    except:
        request.session['adjustertask_filtered_list'] = reverse('adjustertask:list')
    context.update({
        'form': form,
        'error': error,
        'back_to_list': request.session['adjustertask_filtered_list']
    })
    return render(request, 'adjustertask/adjustertask_repair_add.html', context)
Esempio n. 4
0
File: views.py Progetto: od-5/crm
def adjuster_c_task(request):
    """
    функция добавления задачи по клиенту
    версия 1
    """
    context = {}
    if request.method == 'POST':
        adjustertask_client_form = AdjusterTaskClientAddForm(request.POST, request=request)
        # adjustertask_form = AdjusterTaskAddForm(request.POST, request=request)
        if adjustertask_client_form.is_valid():
            if request.POST.getlist('chk_group[]'):
                task = adjustertask_client_form.save()
                surfaces = request.POST.getlist('chk_group[]')
                for item in surfaces:
                    try:
                        """
                        Если поверхность есть у клиента в заказе, но из системы уже удалена - нужно проверять, что бы не было ошибок
                        """
                        surface = Surface.objects.get(pk=int(item))
                        task_surface = AdjusterTaskSurface(
                            adjustertask=task,
                            surface=surface
                        )
                        task_surface.save()
                    except:
                        pass
                return HttpResponseRedirect(task.get_absolute_url())
        else:
            context.update({
                'error': 'Achtung! Form is invalid!'
            })
    else:
        adjustertask_client_form = AdjusterTaskClientAddForm(request=request)
        # adjustertask_form = AdjusterTaskAddForm(request=request)
    # adjustertask_client_form = AdjusterTaskClientAddForm(request=request)
    try:
        request.session['adjustertask_filtered_list']
    except:
        request.session['adjustertask_filtered_list'] = reverse('adjustertask:list')
    context.update({
        'adjustertask_client_form': adjustertask_client_form,
        'back_to_list': request.session['adjustertask_filtered_list']
    })
    return render(request, 'adjustertask/adjustertask_c_add.html', context)
Esempio n. 5
0
def adjustertask_repair(request):
    """
    функция добавления задачи на ремонт
    версия 2
    """
    context = {}
    error = None
    user = request.user
    if request.method == 'POST':
        form = AdjusterTaskRepairAddForm(request.POST)
        if form.is_valid():
            if request.POST.getlist('chk_group[]'):
                task = form.save()
                porch_list = request.POST.getlist('chk_group[]')
                for item in porch_list:
                    porch = Porch.objects.get(pk=int(item))
                    try:
                        adjustertasksurface = AdjusterTaskSurface.objects.get(
                            adjustertask=task, surface=porch.surface)
                    except:
                        adjustertasksurface = AdjusterTaskSurface(
                            adjustertask=task, surface=porch.surface)
                        adjustertasksurface.save()
                    atsporch = AdjusterTaskSurfacePorch(
                        adjustertasksurface=adjustertasksurface, porch=porch)
                    atsporch.save()
                    surface = porch.surface
                    if not surface.coord_x or not surface.coord_y:
                        surface.save()
                return HttpResponseRedirect(task.get_absolute_url())
            else:
                error = u'Не выбрано ни одно подъезда для ремонта'
        else:
            error = u'Проверьте правильность ввода полей. Все поля, кроме комментария, обязательны к заполнению'
    else:
        form = AdjusterTaskRepairAddForm()
    if user.type == 1:
        city_qs = City.objects.all()
    elif user.type == 6:
        city_qs = user.superviser.city.all()
    elif user.type == 2:
        city_qs = City.objects.filter(moderator=user)
    elif user.type == 5:
        city_qs = City.objects.filter(moderator=user.manager.moderator)
    else:
        city_qs = None
    form.fields['city'].queryset = city_qs
    try:
        request.session['adjustertask_filtered_list']
    except:
        request.session['adjustertask_filtered_list'] = reverse(
            'adjustertask:list')
    context.update({
        'form':
        form,
        'error':
        error,
        'back_to_list':
        request.session['adjustertask_filtered_list']
    })
    return render(request, 'adjustertask/adjustertask_repair_add.html',
                  context)
Esempio n. 6
0
def adjustertask_area(request):
    """
    функция добавления задачи по районам
    версия 2
    """
    context = {}
    user = request.user
    if request.method == 'POST':
        form = AdjusterTaskAreaAddForm(request.POST)
        if form.is_valid():
            if request.POST.getlist('chk_group[]'):
                # сохраняем задачу
                task = form.save()
                surfaces = request.POST.getlist('chk_group[]')
                for item in surfaces:
                    try:
                        surface = Surface.objects.get(pk=int(item))
                        # Если полностью сломана - не создавать поверхность задачи
                        # сохраняем поверхности для задачи
                        if not surface.full_broken:
                            adjustertasksurface = AdjusterTaskSurface(
                                adjustertask=task, surface=surface)
                            adjustertasksurface.save()
                            for porch in surface.porch_set.all():
                                if not porch.is_broken:
                                    atsporch = AdjusterTaskSurfacePorch(
                                        adjustertasksurface=adjustertasksurface,
                                        porch=porch)
                                    atsporch.save()
                            if not surface.coord_x or not surface.coord_y:
                                surface.save()
                    except:
                        pass
                return HttpResponseRedirect(task.get_absolute_url())
            elif request.POST.getlist('chk_group2[]'):
                # сохраняем задачу
                task = form.save()
                porches = request.POST.getlist('chk_group2[]')
                for item in porches:
                    try:
                        porch = Porch.objects.get(pk=int(item))
                        try:
                            adjustertasksurface = AdjusterTaskSurface.objects.get(
                                adjustertask=task, surface=porch.surface)
                        except:
                            adjustertasksurface = AdjusterTaskSurface(
                                adjustertask=task, surface=porch.surface)
                            adjustertasksurface.save()
                        atsporch = AdjusterTaskSurfacePorch(
                            adjustertasksurface=adjustertasksurface,
                            porch=porch)
                        atsporch.save()
                    except:
                        pass
                return HttpResponseRedirect(task.get_absolute_url())
    else:
        form = AdjusterTaskAreaAddForm()
        if user.type == 1:
            city_qs = City.objects.all()
        elif user.type == 6:
            city_qs = user.superviser.city.all()
        elif user.type == 2:
            city_qs = City.objects.filter(moderator=user)
        elif user.type == 5:
            manager = Manager.objects.get(user=user)
            city_qs = City.objects.filter(moderator=manager.moderator)
        else:
            city_qs = None
        form.fields['city'].queryset = city_qs
    try:
        request.session['adjustertask_filtered_list']
    except:
        request.session['adjustertask_filtered_list'] = reverse(
            'adjustertask:list')
    context.update({
        'form':
        form,
        'back_to_list':
        request.session['adjustertask_filtered_list']
    })
    return render(request, 'adjustertask/adjustertask_area_add.html', context)