From 76bab0b5ae37f8250897f6ed0ca087a7d2232088 Mon Sep 17 00:00:00 2001 From: kaiyou <pierre@jaury.eu> Date: Fri, 20 Mar 2020 17:33:06 +0100 Subject: [PATCH] Support assigning unclaimed profiles manually --- hiboo/profile/admin.py | 14 ++++++++++++++ hiboo/profile/templates/profile_details.html | 2 ++ hiboo/profile/templates/profile_list.html | 2 ++ 3 files changed, 18 insertions(+) diff --git a/hiboo/profile/admin.py b/hiboo/profile/admin.py index d67d68de..fa465d2e 100644 --- a/hiboo/profile/admin.py +++ b/hiboo/profile/admin.py @@ -1,5 +1,6 @@ from hiboo.profile import blueprint from hiboo import security, models +from hiboo import user as hiboo_user from flask_babel import lazy_gettext as _ import flask @@ -56,3 +57,16 @@ def set_status(profile_uuid, status): models.db.session.commit() flask.flash(_("Profile status was successfully changed"), "success") return flask.redirect(flask.url_for(".details", profile_uuid=profile_uuid)) + + +@blueprint.route("/assign/<profile_uuid>", methods=["GET", "POST"]) +@security.admin_required() +def assign(profile_uuid): + profile = models.Profile.query.get(profile_uuid) or flask.abort(404) + assert profile.status == "unclaimed" + user = hiboo_user.get_user(intent="profile.assign", profile_uuid=profile_uuid) + profile.user_uuid = user.uuid + profile.status = "active" + models.db.session.commit() + flask.flash(_("Successfully assigned the profile"), "success") + return flask.redirect(flask.url_for(".details", profile_uuid=profile_uuid)) diff --git a/hiboo/profile/templates/profile_details.html b/hiboo/profile/templates/profile_details.html index e973ccba..1c446eb3 100644 --- a/hiboo/profile/templates/profile_details.html +++ b/hiboo/profile/templates/profile_details.html @@ -43,5 +43,7 @@ <a href="{{ url_for("profile.set_status", profile_uuid=profile.uuid, status="active") }}" class="btn btn-success">{% trans %}Unblock profile{% endtrans %}</a> {% elif profile.status == "request" %} <a href="{{ url_for("profile.set_status", profile_uuid=profile.uuid, status="active") }}" class="btn btn-success">{% trans %}Validate profile{% endtrans %}</a> +{% elif profile.status == "unclaimed" %} +<a href="{{ url_for("profile.assign", profile_uuid=profile.uuid) }}" class="btn btn-info">{% trans %}Validate profile{% endtrans %}</a> {% endif %} {% endblock %} diff --git a/hiboo/profile/templates/profile_list.html b/hiboo/profile/templates/profile_list.html index fc4990d5..08b1e6f9 100644 --- a/hiboo/profile/templates/profile_list.html +++ b/hiboo/profile/templates/profile_list.html @@ -49,6 +49,8 @@ <a href="{{ url_for("profile.set_status", profile_uuid=profile.uuid, status="active") }}">{% trans %}Unblock profile{% endtrans %}</a> {% elif profile.status == "request" %} <a href="{{ url_for("profile.set_status", profile_uuid=profile.uuid, status="active") }}">{% trans %}Validate profile{% endtrans %}</a> + {% elif profile.status == "unclaimed" %} + <a href="{{ url_for("profile.assign", profile_uuid=profile.uuid) }}">{% trans %}Assign profile{% endtrans %}</a> {% endif %} </td> </tr> -- GitLab