def edit(request, id=None): if not request.user.is_staff: raise PermissionDenied else: try: user = User.objects.get(username=id) except ObjectDoesNotExist: return render(request, "submit.html", {"content":"<h1>Wrong user</h1><meta http-equiv=\"refresh\" content=\"3; url=/\">", "title":"錯誤!"}, status=404) if not is_player(user): return render(request, "submit.html", {"content":"<h1>Wrong user</h1><meta http-equiv=\"refresh\" content=\"3; url=/\">", "title":"錯誤!"}, status=404) else: if not request.POST: form = PlayerForm({"name": user.username, "value": card.value, "long_desc": card.long_desc, "active": card.active, "retrieved": card.retrieved, "modified_reason": ""}) return render(request, "card/edit.html", locals()) else: form = CardForm(request.POST) if form.is_valid(): card = Card() card.name = form.cleaned_data["name"] card.value = form.cleaned_data["value"] card.long_desc = form.cleaned_data["long_desc"] card.active = form.cleaned_data["active"] card.modified_reason = form.cleaned_data["modified_reason"] card.save() return render(request, "submit.html", {"content": "<h1>Submitted.</h1><meta http-equiv=\"refresh\" content=\"3; url=/card/" + card.cid + "\">"})
def gen(request): if request.user.is_staff: if not request.POST: form = CardForm() return render(request, "card/generate.html", locals()) else: form = CardForm(request.POST) if form.is_valid(): card = Card() card.name = form.cleaned_data["name"] card.value = form.cleaned_data["value"] card.long_desc = form.cleaned_data["long_desc"] card.active = form.cleaned_data["active"] card.issuer = request.user card.save() record = History(action=1, user=request.user, card=card) record.save() return render( request, "submit.html", { "success": True, "title": "一張卡片就此誕生!", "content": "生成了一張卡片 %s 含有 %d 點" % (card.name, card.value), "next_page": reverse('generate card'), }) else: raise PermissionDenied
def gen(request): if request.user.has_perm('app.add_card'): # only teamleader can use if not request.POST: form = CardForm() return render(request, "card/generate.html", locals()) else: form = CardForm(request.POST) if form.is_valid(): with transaction.atomic(): card = Card() card.name = form.cleaned_data["name"] card.value = form.cleaned_data["value"] card.long_desc = form.cleaned_data["long_desc"] card.active = form.cleaned_data["active"] card.issuer = request.user card.save() record = History(action=1, user=request.user, card=card) record.save() return render( request, "submit.html", { "success": True, "title": "一張卡片就此誕生!", "content": "生成了一張卡片 %s 含有 %d 點" % (card.name, card.value), "next_page": reverse('view card', args=[card.cid]), }) else: return render(request, "submit.html", { "success": False, "title": "產生卡片失敗", "content": "要不要去戳戳系統管理員呢?" "(如果是POST奇怪的資料,可能會收到彈力繩喔ˊ_>ˋ)" }) else: raise PermissionDenied
def gift(request): if not request.user.has_perm('app.master'): raise PermissionDenied if request.method == 'GET': return render(request, 'staff/gift.html', {"form": FastSendForm()}) else: form = FastSendForm(request.POST) if form.is_valid(): player = form.cleaned_data['player'] card = Card() # hard code present = request.user.first_name if present == "": present = '祝福' with transaction.atomic(): card.name = "來自 %s 的%s" % (request.user.last_name, present) card.value = form.cleaned_data['point'] card.comment = form.cleaned_data['message'] card.active = True card.retrieved = True card.issuer = request.user card.capturer = player card.save() record_reciever = History(action=0xfeed, user=player.user, card=card, comment="從 %s 收到一張卡片" % request.user.get_full_name()) record_reciever.save() record_sender = History( action=0xfeed, user=request.user, card=card, comment="給了 %s (%s)" % (player.user.get_full_name(), player.user.username)) record_sender.save() return render( request, "submit.html", { "success": True, "title": "成功發送卡片", "content": "成功將卡片送給 %s 了!" % player.user.get_full_name(), }) else: return render( request, "submit.html", { "success": False, "title": "發送卡片失敗", "content": "要不要去戳戳系統管理員呢?" "(如果是POST奇怪的資料,可能會收到彈力繩喔ˊ_>ˋ)" })
def gift(request): if user_permission(request.user) < 3: raise PermissionDenied if request.method == 'GET': return render(request, 'staff/gift.html', {"form": FastSendForm()}) else: form = FastSendForm(request.POST) if form.is_valid(): player = form.cleaned_data['player'] card = Card() # hard code present = request.user.first_name if present == "": present = '祝福' with transaction.atomic(): card.name = "來自 %s 的%s" % (request.user.last_name, present) card.value = form.cleaned_data['point'] card.comment = form.cleaned_data['message'] card.active = True card.retrieved = True card.issuer = request.user card.capturer = player card.save() record_reciever = History( action=0xfeed, user=player.user, card=card, comment="從 %s 收到一張卡片" % request.user.get_full_name()) record_reciever.save() record_sender = History( action=0xfeed, user=request.user, card=card, comment="給了 %s (%s)" % (player.user.get_full_name(), player.user.username)) record_sender.save() return render( request, "submit.html", { "success": True, "title": "成功發送卡片", "content": "成功將卡片送給 %s 了!" % player.user.get_full_name(), }) else: return render( request, "submit.html", { "success": False, "title": "發送卡片失敗", "content": "要不要去戳戳系統管理員呢?" "(如果是POST奇怪的資料,可能會收到彈力繩喔ˊ_>ˋ)" })
def gift(request): if request.method == 'GET': return render(request, 'staff/gift.html', {"form": FastSendForm()}) else: form = FastSendForm(request.POST) if form.is_valid(): player = form.cleaned_data['player'] card = Card() card.name = "來自 %s 的祝福" % request.user.get_full_name() card.value = form.cleaned_data['point'] card.comment = form.cleaned_data['message'] card.active = True card.retrieved = True card.issuer = request.user card.capturer = player card.save() record_reciever = History(action=0xfeed, user=player.user, card=card, comment="從 %s 收到一張卡片" % request.user.get_full_name()) record_reciever.save() record_sender = History( action=0xfeed, user=request.user, card=card, comment="給了 %s (%s)" % (player.user.get_full_name(), player.user.username)) record_sender.save() return render( request, "submit.html", { "success": True, "title": "成功發送卡片", "content": "成功將卡片送給 %s 了!" % player.user.get_full_name(), }) else: return render(request, "submit.html", { "success": False, "title": "發送卡片失敗", "content": "要不要去戳戳系統管理員呢?" })
def lite(request, tt=None): denomination = [32, 64, 128, 256, -128, -32, -64] if not request.user.has_perm('app.gen_card'): raise PermissionDenied if tt is not None: try: tt = int(tt) except: return render( request, "submit.html", { "success": False, "title": "發送卡片失敗", "content": "我幫你綁好繩子了," "你要自己跳還是我推你跳呢?(本繩載重20g)" }) if tt not in range(0, len(denomination)): return render( request, "submit.html", { "success": False, "title": "發送卡片失敗", "content": "要不要去戳戳系統管理員呢?" "(如果是POST奇怪的資料,可能會收到彈力繩喔ˊ_>ˋ)" }) with transaction.atomic(): card = Card() present = request.user.first_name if present == "": present = '祝福' card.name = "來自 %s 的%s" % (request.user.last_name, present) card.value = denomination[tt] card.active = True card.retrieved = False card.issuer = request.user card.save() record = History(action=1, user=request.user, card=card) record.save() return redirect('view card', card.cid) else: return render(request, 'staff/lite.html', locals())
def gen(request): if request.user.is_staff: if not request.POST: form = CardForm() return render(request, "card/generate.html", locals()) else: form = CardForm(request.POST) if form.is_valid(): card = Card() card.name = form.cleaned_data["name"] card.value = form.cleaned_data["value"] card.long_desc = form.cleaned_data["long_desc"] card.active = form.cleaned_data["active"] card.modified_reason = form.cleaned_data["modified_reason"] card.save() return render( request, "submit.html", {"content": '<h1>Submitted.</h1><meta http-equiv="refresh" content="3; url=/card/' + card.cid + '">'}, ) else: raise PermissionDenied
def lite(request, tt=None): denomination = [32, 64, 128, 256, -128, -32, -64] if user_permission(request.user) < 2: raise PermissionDenied if tt is not None: try: tt = int(tt) except: return render( request, "submit.html", { "success": False, "title": "發送卡片失敗", "content": "我幫你綁好繩子了," "你要自己跳還是我推你跳呢?(本繩載重20g)"}) if tt not in range(0, len(denomination)): return render( request, "submit.html", { "success": False, "title": "發送卡片失敗", "content": "要不要去戳戳系統管理員呢?" "(如果是POST奇怪的資料,可能會收到彈力繩喔ˊ_>ˋ)" }) with transaction.atomic(): card = Card() present = request.user.first_name if present == "": present = '祝福' card.name = "來自 %s 的%s" % (request.user.last_name, present) card.value = denomination[tt] card.active = True card.retrieved = False card.issuer = request.user card.save() record = History(action=1, user=request.user, card=card) record.save() return redirect('view card', card.cid) else: return render(request, 'staff/lite.html',locals())
def gift(request): if request.method == 'GET': return render(request, 'staff/gift.html', {"form": FastSendForm()}) else: form = FastSendForm(request.POST) if form.is_valid(): player = form.cleaned_data['player'] card = Card() card.name = "來自 %s 的祝福" % request.user.get_full_name() card.value = form.cleaned_data['point'] card.comment = form.cleaned_data['message'] card.active = True card.retrieved = True card.issuer = request.user card.capturer = player card.save() record_reciever = History( action=0xfeed, user=player.user, card=card, comment="從 %s 收到一張卡片" % request.user.get_full_name()) record_reciever.save() record_sender = History( action=0xfeed, user=request.user, card=card, comment="給了 %s (%s)" % (player.user.get_full_name(), player.user.username)) record_sender.save() return render( request, "submit.html", { "success": True, "title": "成功發送卡片", "content": "成功將卡片送給 %s 了!" % player.user.get_full_name(), }) else: return render( request, "submit.html", { "success": False, "title": "發送卡片失敗", "content": "要不要去戳戳系統管理員呢?" })
def gen(request): if request.user.has_perm('app.add_card'): # only teamleader can use if not request.POST: form = CardForm() return render(request, "card/generate.html", locals()) else: form = CardForm(request.POST) if form.is_valid(): with transaction.atomic(): card = Card() card.name = form.cleaned_data["name"] card.value = form.cleaned_data["value"] card.long_desc = form.cleaned_data["long_desc"] card.active = form.cleaned_data["active"] card.issuer = request.user card.save() record = History(action=1, user=request.user, card=card) record.save() return render( request, "submit.html", { "success": True, "title": "一張卡片就此誕生!", "content": "生成了一張卡片 %s 含有 %d 點" % (card.name, card.value), "next_page": reverse('view card', args=[card.cid]), }) else: return render( request, "submit.html", { "success": False, "title": "產生卡片失敗", "content": "要不要去戳戳系統管理員呢?" "(如果是POST奇怪的資料,可能會收到彈力繩喔ˊ_>ˋ)" }) else: raise PermissionDenied