def manage_skills_post(request): form = ValidateSkills(request) if form.is_valid(): form.save() MessagesSystem(request).append_skills(COMMANDS_SUCCESS_MESSAGE) else: MessagesSystem(request).append_skills(form.errors)
def test_recaptcha_will_give_message_to_site_on_failure(self): returns = self.make_request(b'{"success": true, "score": 0.3}') request = returns.get("request") message = MessagesSystem(request).pop_contact() self.assertEqual(message, [ "It looks like you're a bot. If not, contact me the other way. url" ])
def test_can_handle_missing_keys(self): message_system = MessagesSystem(self.request) item_message = message_system.pop_items() plugin_message = message_system.pop_plugins() skills_message = message_system.pop_skills() self.assertEqual(item_message, []) self.assertEqual(plugin_message, []) self.assertEqual(skills_message, [])
def test_append_message_dont_override_older_messages(self): self.request.session.update({"plugins_messages": ["test01"]}) message_system = MessagesSystem(self.request) message_system._append_message("plugins_messages", "test") self.assertEqual(self.request.session.get("plugins_messages"), ["test01", "test"]) message_system._append_message("plugins_messages", ["other_test"]) self.assertEqual(self.request.session.get("plugins_messages"), ["test01", "test", "other_test"])
def spells_view(request): if not SelectedPlugins(request).exist(): MessagesSystem(request).append_plugin(NO_PLUGIN_SELECTED_ERROR_MESSAGE) return redirect("tec:plugins") if request.method == "POST": spells = convert_value_post(request) ChosenSpells(request).set(spells) Commands(request).set_spells(spells) if spells: message = COMMANDS_SUCCESS_MESSAGE else: message = SPELLS_COMMANDS_POST_EMPTY_MESSAGE return JsonResponse({"message": message}) message = MessagesSystem(request).pop_spells() return render(request, "the_elder_commands/spells.html", { "active": "spells", "messages": message })
def send_contact_email(request): messages = MessagesSystem(request) try: email_message = f"Email: {request.POST.get('email')} \nMessage: {request.POST.get('message')}" send_mail(request.POST.get("subject"), email_message, "", ["*****@*****.**"]) messages.append_contact("Message was sent!") except SMTPException: messages.append_contact( "Something went wrong! \nPlease try a different method of contact." )
def contact(request): messages = MessagesSystem(request) if request.method == "POST": send_contact_email(request) return redirect("main_page:contact") return render( request, "main_page/contact.html", { "messages": messages.pop_contact(), "site_key": settings.RECAPTCHA_SITE_KEY })
def other_view(request): if not SelectedPlugins(request).exist(): MessagesSystem(request).append_plugin(NO_PLUGIN_SELECTED_ERROR_MESSAGE) return redirect("tec:plugins") if request.method == "POST": variety = convert_value_post(request) ChosenOther(request).set(variety) Commands(request).set_other(variety) if variety: message = COMMANDS_SUCCESS_MESSAGE else: message = OTHER_COMMANDS_POST_EMTPY_MESSAGE return JsonResponse({"message": message}) messages = MessagesSystem(request).pop_other() chosen = ChosenOther(request).get() return render(request, "the_elder_commands/other.html", { "active": "other", "chosen": chosen, "messages": messages })
def skills_view(request): if request.method == "POST": if "race" in request.POST: manage_race_post(request) else: manage_skills_post(request) return redirect("tec:skills") message = MessagesSystem(request).pop_skills() service = SkillsService(request) Commands(request).set_skills(service.commands) return render(request, "the_elder_commands/skills.html", { "service": service, "messages": message, "active": "skills" })
def wrapper(request): recaptcha_data = { "response": request.POST.get("g-recaptcha-response"), "secret": settings.RECAPTCHA_SECRET_KEY } recaptcha_response = recaptcha_request.post( "https://www.google.com/recaptcha/api/siteverify", recaptcha_data) result = json.loads(recaptcha_response.content) if result.get("success") and result.get("score") >= 0.4: func(request) else: messages = MessagesSystem(request) url = HttpRequest.build_absolute_uri( request, reverse('main_page:about_me')) getattr( messages, "append_" + site )("It looks like you're a bot. If not, contact me the other way. " f"{url}")
def plugins_view(request): if request.method == "POST": if "add_plugin" in request.POST: manage_add_plugin_post(request) return redirect("tec:plugins") elif "unselect" in request.POST: manage_unselect_post(request) return redirect("tec:plugins") if "selected_plugins" in request.POST: manage_selected_post(request) return JsonResponse({}) service = PluginsService(request) messages = MessagesSystem(request).pop_plugins() zedit_data = get_zedit_data() return render( request, "the_elder_commands/plugins.html", { "active": "plugins", "service": service, "messages": messages, "zedit": zedit_data, "site_key": settings.RECAPTCHA_SITE_KEY })
def test_append_plugin_message(self): message_system = MessagesSystem(self.request) message_system.append_plugin("test") self.assertEqual(self.request.session.get("plugins_messages"), ["test"])
def manage_selected_post(request): form = SelectedPluginsForm(request) if form.is_valid(): MessagesSystem(request).append_plugin(SELECTED_PLUGINS_SUCCESS) else: MessagesSystem(request).append_plugin(form.errors)
def manage_add_plugin_post(request): form = AddPluginsForm(request) if form.is_valid(): MessagesSystem(request).append_plugin(ADD_PLUGIN_SUCCESS_MESSAGE) else: MessagesSystem(request).append_plugin(form.errors)
def test_append_message(self): message_system = MessagesSystem(self.request) message_system._append_message("items_messages", "test") self.assertEqual(self.request.session.get("items_messages"), ["test"])
def test_append_contact_messages(self): message_system = MessagesSystem(self.request) message_system.append_contact("test") self.assertEqual(self.request.session.get("contact_messages"), ["test"])
def test_pop_other_messages(self): self.request.session.update({"other_messages": ["test"]}) messages_system = MessagesSystem(self.request) message = messages_system.pop_other() self.assertEqual(self.request.session.get("other_messages"), []) self.assertEqual(message, ["test"])
def test_append_message_can_handle_list(self): message_system = MessagesSystem(self.request) message_system._append_message("plugins_messages", ["test_02"]) self.assertEqual(self.request.session.get("plugins_messages"), ["test_02"])
def test_append_message_can_handle_nested_list(self): message_system = MessagesSystem(self.request) message_system._append_message("items_messages", [[["test"]], "test02"]) self.assertEqual(self.request.session.get("items_messages"), ["test", "test02"])