Merge pull request 'show payment status in user view; Fixes #965' (#967) from single-user-edit-page into staging
Reviewed-on: #967
This commit is contained in:
commit
25bbaca0d3
@ -41,4 +41,14 @@ impl Member {
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
pub(crate) fn supposed_to_pay(&self) -> bool {
|
||||
match self {
|
||||
Member::Schnupperant(_)
|
||||
| Member::Scheckbuch(_)
|
||||
| Member::Regular(_)
|
||||
| Member::Foerdernd(_)
|
||||
| Member::Unterstuetzend(_) => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -127,6 +127,7 @@ async fn view(
|
||||
};
|
||||
|
||||
let member = Member::from(db, user.clone()).await;
|
||||
let fee = user.fee(db).await;
|
||||
|
||||
let user = UserWithRolesAndMembershipPdf::from_user(db, user).await;
|
||||
|
||||
@ -143,6 +144,8 @@ async fn view(
|
||||
context.insert("allowed_to_edit", &allowed_to_edit);
|
||||
context.insert("user", &user);
|
||||
context.insert("is_clubmember", &member.is_club_member());
|
||||
context.insert("supposed_to_pay", &member.supposed_to_pay());
|
||||
context.insert("fee", &fee);
|
||||
context.insert("member", &member);
|
||||
context.insert("roles", &roles);
|
||||
context.insert("families", &families);
|
||||
|
@ -63,11 +63,11 @@
|
||||
{% if not role.cluster and not role.hide_in_lists %}
|
||||
<li>
|
||||
<strong>
|
||||
{% if role.formatted_name %}
|
||||
{{ role.formatted_name }}
|
||||
{% else %}
|
||||
{{ role.name }}
|
||||
{% endif %}
|
||||
{% if role.formatted_name %}
|
||||
{{ role.formatted_name }}
|
||||
{% else %}
|
||||
{{ role.name }}
|
||||
{% endif %}
|
||||
</strong> {{ role.desc }}
|
||||
{% if allowed_to_edit %}
|
||||
<a href="/admin/user/{{ user.id }}/remove-role/{{ role.id }}"
|
||||
@ -85,11 +85,14 @@
|
||||
<select name="role_id">
|
||||
{% for role in roles %}
|
||||
{% if not role.cluster and role not in user.proper_roles and not role.hide_in_lists %}
|
||||
<option value="{{ role.id }}">{% if role.formatted_name %}
|
||||
{{ role.formatted_name }}
|
||||
{% else %}
|
||||
{{ role.name }}
|
||||
{% endif %} {% if role.desc %} ({{ role.desc }}) {% endif %}</option>
|
||||
<option value="{{ role.id }}">
|
||||
{% if role.formatted_name %}
|
||||
{{ role.formatted_name }}
|
||||
{% else %}
|
||||
{{ role.name }}
|
||||
{% endif %}
|
||||
{% if role.desc %}({{ role.desc }}){% endif %}
|
||||
</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</select>
|
||||
@ -101,6 +104,39 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% if supposed_to_pay %}
|
||||
<div class="bg-white dark:bg-primary-900 text-black dark:text-white rounded-md block shadow mt-5"
|
||||
role="alert">
|
||||
<h2 class="h2">💸</h2>
|
||||
<div class="mx-2 divide-y divide-gray-200 dark:divide-primary-600">
|
||||
<div class="py-3">
|
||||
{% if "Schnupperant" in member %}
|
||||
{% if "paid" in user.roles %}
|
||||
✅ Schnupperant hat schon bezahlt
|
||||
{% else %}
|
||||
❌ Schnupperant hat noch <b>nicht</b> bezahlt
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div>
|
||||
<strong>{{ fee.name }}</strong>
|
||||
<span class="block">{{ fee.sum_in_cents / 100 }}€</span>
|
||||
</div>
|
||||
<div>
|
||||
{% for p in fee.parts %}
|
||||
{{ p.0 }} ({{ p.1 / 100 }}€)
|
||||
{% if not loop.last %}+{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% if "paid" in user.roles %}
|
||||
✅ bezahlt
|
||||
{% else %}
|
||||
❌ Zahlung ausständig
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if is_clubmember %}
|
||||
<div class="bg-white dark:bg-primary-900 text-black dark:text-white rounded-md block shadow mt-5"
|
||||
role="alert">
|
||||
|
Loading…
x
Reference in New Issue
Block a user