def rent(request, pk): # get_object_or_404을 쓰지 않은 이유 : book=pk 에 해당하는 다수 row 를 가져오지 못하기 때문 # rent = get_object_or_404(RentHistory, book=pk) rent = RentHistory.objects.filter(book=pk) for i in rent: # 사용자가 이미 대출했었고 반납되지 않은 책을 선택했을 시, if i.user == request.user and i.rent_status == False: messages.info(request, '{}까지 열람 가능한 동일 도서가 있습니다.'.format(i.rent_end)) slack_message = '*{}까지 열람 가능한 동일 도서가 있습니다.*'.format(i.rent_end) slack_notify(slack_message, '#general', username='******') return redirect('ebook:list_check') rent_start = date.today() rent_end = date.today() + timedelta(days=7) # 대출 기간은 7일 db_insert = RentHistory(rent_start=rent_start, rent_end=rent_end, rent_status=False, book_id=pk, user=request.user) db_insert.save() messages.info(request, '대여성공! 열람 가능한 기간은 {}까지 입니다.'.format(rent_end)) slack_message = '*대여성공! 열람 가능한 기간은 {}까지 입니다.*'.format(rent_end) slack_notify(slack_message, '#general', username='******') return redirect('ebook:list_check')
def report(request): if request.method == 'POST': report_user_pk = request.POST.get('user') report1 = request.POST.get('report1') report2 = request.POST.get('report2') report3 = request.POST.get('report3') content = request.POST.get('content') report_user = get_object_or_404(MyUser,pk=report_user_pk) print(report_user.nickname) if report1 == None: report1 = False if report2 == None: report2 = False if report3 == None: report3 = False report = Report.objects.create( user = report_user, report1 = report1, report2 = report2, report3 = report3, content = content ) # slack에 신고 접수 알림 보내기 attachments = [{ "color": "#FF0000", "title": "신고접수 알림", "text": "{}".format(report.content) }] slack_message = "[신고접수] {}에 대한 신고가 접수되었습니다.".format(report_user.nickname) slack_notify(slack_message,"#random",username='******',attachments=attachments) return redirect('chat')
def return_book(request, pk): book = get_object_or_404(Book, pk=pk) if book.rent_info.user == request.user: book.return_book() messages.info(request, '반납성공!') slack_notify("[도서반납] {}".format(book.title), '#return_book', username='******') else: messages.error(request, '문제가 발생했습니다.') return redirect('mybook')
def register_save(request): isbn = request.POST['isbn'] message, book = register_book(isbn) messages.info(request, message) if book: attachments = [{ "color": "#36a64f", "title": "신규도서", "title_link": "http://127.0.0.1:7000/books/list/", "fallback": "신규도서 알림", "text": "{}".format(book.title) }] slack_notify(channel='#new_book', username='******', attachments=attachments) return redirect('books:register')
def form_valid(self, form): messages.info(self.request, '도서 등록 완료') slack_message = '*도서 등록 완료*' slack_notify(slack_message, '#general', username='******') return super(EbookCVText, self).form_valid(form)