mirror of
https://github.com/lucaspalomodevelop/eventcally.git
synced 2026-03-13 08:09:37 +00:00
Organisation: Name auf Eindeutigkeit prüfen #309
This commit is contained in:
parent
8a26eb6ccc
commit
85df63a4ca
12
messages.pot
12
messages.pot
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-10-14 10:41+0200\n"
|
||||
"POT-Creation-Date: 2021-10-14 14:32+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -2017,15 +2017,19 @@ msgstr ""
|
||||
msgid "Short name is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:40
|
||||
#: project/views/js.py:43
|
||||
msgid "Name is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:57
|
||||
msgid "An account already exists with this email."
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:80
|
||||
#: project/views/js.py:97
|
||||
msgid "Places of organization"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:88
|
||||
#: project/views/js.py:105
|
||||
msgid "Places of Google Maps"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@ -1550,6 +1550,25 @@ $('#allday').on('change', function() {
|
||||
}
|
||||
});
|
||||
|
||||
$("#name").rules("add", {
|
||||
remote: {
|
||||
url: "{{ url_for('js_check_org_name') }}",
|
||||
type: "post"
|
||||
{% if admin_unit %}
|
||||
,data: {
|
||||
admin_unit_id: function() {
|
||||
return "{{ admin_unit.id }}";
|
||||
}
|
||||
}
|
||||
{% if admin_unit.name %}
|
||||
,depends: function() {
|
||||
return $('#name').val() != '{{ admin_unit.name }}';
|
||||
}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
}
|
||||
});
|
||||
|
||||
$("#short_name").rules("add", "shortName");
|
||||
$("#short_name").rules("add", {
|
||||
remote: {
|
||||
@ -1586,6 +1605,7 @@ $('#allday').on('change', function() {
|
||||
});
|
||||
|
||||
if ($("#name").val().length > 0) {
|
||||
$("#name").valid();
|
||||
suggest_short_name();
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-10-14 10:41+0200\n"
|
||||
"POT-Creation-Date: 2021-10-14 14:32+0200\n"
|
||||
"PO-Revision-Date: 2020-06-07 18:51+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: de\n"
|
||||
@ -2070,15 +2070,19 @@ msgstr "Prüfungsstatus aktualisiert"
|
||||
msgid "Short name is already taken"
|
||||
msgstr "Der Kurzname ist bereits vergeben"
|
||||
|
||||
#: project/views/js.py:40
|
||||
#: project/views/js.py:43
|
||||
msgid "Name is already taken"
|
||||
msgstr "Der Name ist bereits vergeben"
|
||||
|
||||
#: project/views/js.py:57
|
||||
msgid "An account already exists with this email."
|
||||
msgstr "Mit dieser E-Mail existiert bereits ein Account."
|
||||
|
||||
#: project/views/js.py:80
|
||||
#: project/views/js.py:97
|
||||
msgid "Places of organization"
|
||||
msgstr "Orte der Organisation"
|
||||
|
||||
#: project/views/js.py:88
|
||||
#: project/views/js.py:105
|
||||
msgid "Places of Google Maps"
|
||||
msgstr "Orte von Google Maps"
|
||||
|
||||
|
||||
Binary file not shown.
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-10-14 10:41+0200\n"
|
||||
"POT-Creation-Date: 2021-10-14 14:32+0200\n"
|
||||
"PO-Revision-Date: 2021-04-30 15:04+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: en\n"
|
||||
@ -148,11 +148,11 @@ msgstr "Profile information"
|
||||
|
||||
#: project/i10n.py:45
|
||||
msgid "Scope_user:read"
|
||||
msgstr ""
|
||||
msgstr "Read user settings"
|
||||
|
||||
#: project/i10n.py:46
|
||||
msgid "Scope_user:write"
|
||||
msgstr ""
|
||||
msgstr "Create, update and delete user settings"
|
||||
|
||||
#: project/i10n.py:47
|
||||
msgid "Scope_organizer:write"
|
||||
@ -2018,15 +2018,19 @@ msgstr ""
|
||||
msgid "Short name is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:40
|
||||
#: project/views/js.py:43
|
||||
msgid "Name is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:57
|
||||
msgid "An account already exists with this email."
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:80
|
||||
#: project/views/js.py:97
|
||||
msgid "Places of organization"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/js.py:88
|
||||
#: project/views/js.py:105
|
||||
msgid "Places of Google Maps"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@ -27,6 +27,23 @@ def js_check_org_short_name():
|
||||
return jsonify(error)
|
||||
|
||||
|
||||
@app.route("/js/check/organization/name", methods=["POST"])
|
||||
def js_check_org_name():
|
||||
csrf.protect()
|
||||
|
||||
name = request.form["name"]
|
||||
admin_unit_id = (
|
||||
int(request.form["admin_unit_id"]) if "admin_unit_id" in request.form else -1
|
||||
)
|
||||
organization = AdminUnit.query.filter(AdminUnit.name == name).first()
|
||||
|
||||
if not organization or organization.id == admin_unit_id:
|
||||
return jsonify(True)
|
||||
|
||||
error = gettext("Name is already taken")
|
||||
return jsonify(error)
|
||||
|
||||
|
||||
@app.route("/js/check/register/email", methods=["POST"])
|
||||
def js_check_register_email():
|
||||
csrf.protect()
|
||||
|
||||
@ -41,6 +41,45 @@ def test_js_check_org_short_name_exists(client, seeder, utils):
|
||||
assert response.json == "Der Kurzname ist bereits vergeben"
|
||||
|
||||
|
||||
def test_js_check_org_name(client, seeder, utils):
|
||||
seeder.create_user(admin=True)
|
||||
utils.login()
|
||||
|
||||
url = utils.get_url("admin_unit_create")
|
||||
response = utils.get(url)
|
||||
|
||||
with client:
|
||||
url = utils.get_url("js_check_org_name")
|
||||
response = utils.post_form_data(
|
||||
url,
|
||||
{
|
||||
"name": "Meine Crew",
|
||||
},
|
||||
)
|
||||
utils.assert_response_ok(response)
|
||||
assert response.json
|
||||
|
||||
|
||||
def test_js_check_org_name_exists(client, seeder, utils):
|
||||
seeder.create_user(admin=True)
|
||||
user_id = utils.login()
|
||||
seeder.create_admin_unit(user_id, "Meine Crew")
|
||||
|
||||
url = utils.get_url("admin_unit_create")
|
||||
response = utils.get(url)
|
||||
|
||||
with client:
|
||||
url = utils.get_url("js_check_org_name")
|
||||
response = utils.post_form_data(
|
||||
url,
|
||||
{
|
||||
"name": "Meine Crew",
|
||||
},
|
||||
)
|
||||
utils.assert_response_ok(response)
|
||||
assert response.json == "Der Name ist bereits vergeben"
|
||||
|
||||
|
||||
def test_js_js_check_register_email(client, seeder, utils):
|
||||
url = utils.get_url("security.register")
|
||||
response = utils.get(url)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user