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