Example #1
0
def link(request):
    errors = []

    if request.method == 'POST':
        form = LibReaderForm(request.POST)
        if form.is_valid():
            LibReader(user=request.user,
                      reader_id=form.cleaned_data['reader_id']).save()
            return redirect('urt:frontend:index')
            # library =  form.cleaned_data['library']
            # if not library.z_service:
            #     errors.append(u'Выбранная ЦБС не имеет возможности учавствовать в связывании.')
            # else:
            #     zopt = ZOptions()
            #     zopt.set_user(form.cleaned_data['lib_login'])
            #     zopt.set_password(form.cleaned_data['lib_password'])
            #     zcon = ZConnection(zopt)
            #     try:
            #         zcon.connect(library.z_service, '0')
            #         # если исключение не вылетело, то подключение и авторизация прошла успешно
            #         # можно считать, что связь удалась
            #         libuser = form.save(commit=False)
            #         libuser.user = request.user
            #
            #         if not LibReader.objects.filter(library=library, user=request.user).count():
            #             libuser.save()
            #         return redirect('urt:frontend:index')
            #     except ZConnectionException as e:
            #         if e.message.startswith('Init rejected:'):
            #             errors.append(u'Пользователь с таким идентификатором и паролем не найден. Проверьте правильность вводимых данных.')
            #         elif message.startswith('Connect failed:'):
            #             errors.append(u'Сервер ЦБС не доступен.')
            #         elif e.message.startswith('Timeout:'):
            #             errors.append(u'Сервер ЦБС не отвечает.')
            #         else:
            #             raise e

    else:
        form = LibReaderForm()

    return render(request, 'urt/frontend/link.html', {
        'form': form,
        'errors': errors,
    })
Example #2
0
def link(request):
    errors = []

    if request.method == "POST":
        form = LibReaderForm(request.POST)
        if form.is_valid():
            LibReader(user=request.user, reader_id=form.cleaned_data["reader_id"]).save()
            return redirect("urt:frontend:index")
            # library =  form.cleaned_data['library']
            # if not library.z_service:
            #     errors.append(u'Выбранная ЦБС не имеет возможности учавствовать в связывании.')
            # else:
            #     zopt = ZOptions()
            #     zopt.set_user(form.cleaned_data['lib_login'])
            #     zopt.set_password(form.cleaned_data['lib_password'])
            #     zcon = ZConnection(zopt)
            #     try:
            #         zcon.connect(library.z_service, '0')
            #         # если исключение не вылетело, то подключение и авторизация прошла успешно
            #         # можно считать, что связь удалась
            #         libuser = form.save(commit=False)
            #         libuser.user = request.user
            #
            #         if not LibReader.objects.filter(library=library, user=request.user).count():
            #             libuser.save()
            #         return redirect('urt:frontend:index')
            #     except ZConnectionException as e:
            #         if e.message.startswith('Init rejected:'):
            #             errors.append(u'Пользователь с таким идентификатором и паролем не найден. Проверьте правильность вводимых данных.')
            #         elif message.startswith('Connect failed:'):
            #             errors.append(u'Сервер ЦБС не доступен.')
            #         elif e.message.startswith('Timeout:'):
            #             errors.append(u'Сервер ЦБС не отвечает.')
            #         else:
            #             raise e

    else:
        form = LibReaderForm()

    return render(request, "urt/frontend/link.html", {"form": form, "errors": errors})
Example #3
0
def edit_link(request, id):
    link = get_object_or_404(LibReader, id=id)
    errors = []

    if request.method == "POST":
        form = LibReaderForm(request.POST, instance=link)
        if form.is_valid():
            library = form.cleaned_data["library"]
            if not library.z_service:
                errors.append(u"Выбранная ЦБС не имеет возможности учавствовать в связывании.")
            else:
                zopt = ZOptions()
                zopt.set_user(form.cleaned_data["lib_login"])
                zopt.set_password(form.cleaned_data["lib_password"])
                zcon = ZConnection(zopt)
                try:
                    zcon.connect(library.z_service, "0")
                    # если исключение не вылетело, то подключение и авторизация прошла успешно
                    # можно считать, что связь удалась
                    form.save()
                    return redirect("urt:frontend:index")
                except ZConnectionException as e:
                    if e.message.startswith("Init rejected:"):
                        errors.append(
                            u"Пользователь с таким идентификатором и паролем не найден. Проверьте правильность вводимых данных."
                        )
                    elif message.startswith("Connect failed:"):
                        errors.append(u"Сервер ЦБС не доступен.")
                    elif e.message.startswith("Timeout:"):
                        errors.append(u"Сервер ЦБС не отвечает.")
                    else:
                        raise e

    else:
        form = LibReaderForm(instance=link)

    return render(request, "urt/frontend/edit_link.html", {"form": form, "errors": errors})
Example #4
0
def edit_link(request, id):
    link = get_object_or_404(LibReader, id=id)
    errors = []

    if request.method == 'POST':
        form = LibReaderForm(request.POST, instance=link)
        if form.is_valid():
            library = form.cleaned_data['library']
            if not library.z_service:
                errors.append(
                    u'Выбранная ЦБС не имеет возможности учавствовать в связывании.'
                )
            else:
                zopt = ZOptions()
                zopt.set_user(form.cleaned_data['lib_login'])
                zopt.set_password(form.cleaned_data['lib_password'])
                zcon = ZConnection(zopt)
                try:
                    zcon.connect(library.z_service, '0')
                    # если исключение не вылетело, то подключение и авторизация прошла успешно
                    # можно считать, что связь удалась
                    form.save()
                    return redirect('urt:frontend:index')
                except ZConnectionException as e:
                    if e.message.startswith('Init rejected:'):
                        errors.append(
                            u'Пользователь с таким идентификатором и паролем не найден. Проверьте правильность вводимых данных.'
                        )
                    elif message.startswith('Connect failed:'):
                        errors.append(u'Сервер ЦБС не доступен.')
                    elif e.message.startswith('Timeout:'):
                        errors.append(u'Сервер ЦБС не отвечает.')
                    else:
                        raise e

    else:
        form = LibReaderForm(instance=link)

    return render(request, 'urt/frontend/edit_link.html', {
        'form': form,
        'errors': errors
    })