200 lines
7.9 KiB
Plaintext
200 lines
7.9 KiB
Plaintext
@page "{id}"
|
|
@using AFRA.Members.Backend.database
|
|
@model AFRA.Members.Pages.EditMember
|
|
@{
|
|
ViewData["Title"] = "Edit Member";
|
|
if (Request.Method == "POST" && Request.Form["action"] == "delete") {
|
|
return;
|
|
}
|
|
var member = new Database.DbConn().Members.First(p => p.MemberId == int.Parse(RouteData.Values["id"]!.ToString()!));
|
|
}
|
|
|
|
<div class="text-center">
|
|
<h1 class="display-5">
|
|
Edit Member
|
|
</h1>
|
|
</div>
|
|
|
|
<form method="POST">
|
|
<h3>Personal details</h3>
|
|
<div class="mb-3">
|
|
<label for="first_name" class="form-label">First name</label>
|
|
<input type="text" maxlength="100" class="form-control" id="first_name" name="first_name" value="@member.FirstName" autofocus required>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="last_name" class="form-label">Last name</label>
|
|
<input type="text" maxlength="100" class="form-control" id="last_name" name="last_name" value="@member.LastName" required>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="nick" class="form-label">Nickname</label>
|
|
<input type="text" maxlength="100" class="form-control" id="nick" name="nick" value="@member.Nick">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="dob" class="form-label">Date of birth</label>
|
|
<input type="date" class="form-control" id="dob" name="dob" value="@member.DateOfBirth?.ToString("yyyy-MM-dd")">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="language" class="form-label">Language</label>
|
|
@if (member.Language?.ToLowerInvariant() == "de") {
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="radio" name="language" id="language_de" value="de" checked>
|
|
<label class="form-check-label" for="language_de">
|
|
German
|
|
</label>
|
|
</div>
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="radio" name="language" id="language_en" value="en">
|
|
<label class="form-check-label" for="language_en">
|
|
English
|
|
</label>
|
|
</div>
|
|
}
|
|
else {
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="radio" name="language" id="language_de" value="de">
|
|
<label class="form-check-label" for="language_de">
|
|
German
|
|
</label>
|
|
</div>
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="radio" name="language" id="language_en" value="en" checked="">
|
|
<label class="form-check-label" for="language_en">
|
|
English
|
|
</label>
|
|
</div>
|
|
}
|
|
</div>
|
|
|
|
<h3>Contact details</h3>
|
|
<div class="mb-3">
|
|
<label for="street" class="form-label">Street</label>
|
|
<input type="text" maxlength="100" class="form-control" id="street" name="street" value="@member.Street">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="zip" class="form-label">ZIP Code</label>
|
|
<input type="text" maxlength="100" class="form-control" id="zip" name="zip" value="@member.Zip">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="city" class="form-label">City</label>
|
|
<input type="text" maxlength="100" class="form-control" id="city" name="city" value="@member.City">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="country" class="form-label">Country</label>
|
|
<input type="text" maxlength="100" class="form-control" id="country" name="country" value="@member.Country">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="first_address_line" class="form-label">First Address Line (c/o)</label>
|
|
<input type="text" maxlength="100" class="form-control" id="first_address_line" name="first_address_line" value="@member.FirstAddressLine">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="email" class="form-label">Email</label>
|
|
<input type="email" maxlength="100" class="form-control" id="email" name="email" value="@member.Email">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="gpg" class="form-label">GPG Key ID</label>
|
|
<input type="text" maxlength="100" class="form-control" id="gpg" name="gpg" value="@member.GpgKeyId">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="phone" class="form-label">Phone no.</label>
|
|
<input type="text" maxlength="100" class="form-control" id="phone" name="phone" value="@member.Phone">
|
|
</div>
|
|
|
|
<h3>Memberhship</h3>
|
|
<div class="mb-3">
|
|
<label for="membership_start" class="form-label">Membership Start</label>
|
|
<input type="date" class="form-control" id="membership_start" name="membership_start" value="@member.MembershipStart?.ToString("yyyy-MM-dd")">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="membership_end" class="form-label">Membership End</label>
|
|
<input type="date" class="form-control" id="membership_end" name="membership_end" value="@member.MembershipEnd?.ToString("yyyy-MM-dd")">
|
|
</div>
|
|
<div class="mb-3">
|
|
<div class="form-check">
|
|
@if (member.Founding.HasValue && member.Founding.Value) {
|
|
<input class="form-check-input" type="checkbox" id="founding" name="founding" checked>
|
|
}
|
|
else {
|
|
<input class="form-check-input" type="checkbox" id="founding" name="founding">
|
|
}
|
|
<label for="founding" class="form-label">Founding member</label>
|
|
</div>
|
|
<div class="form-check">
|
|
@if (member.NonVoting.HasValue && member.NonVoting.Value) {
|
|
<input class="form-check-input" type="checkbox" id="non_voting" name="non_voting" checked>
|
|
}
|
|
else {
|
|
<input class="form-check-input" type="checkbox" id="non_voting" name="non_voting">
|
|
}
|
|
<label for="non_voting" class="form-label">Non voting member (Fördermitglied)</label>
|
|
</div>
|
|
</div>
|
|
|
|
<h3>Accounting</h3>
|
|
<div class="mb-3">
|
|
<label for="accounting_query" class="form-label">Accounting Query</label>
|
|
<input type="text" maxlength="100" class="form-control" id="accounting_query" name="accounting_query" value="@member.AccountingQuery">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="iban" class="form-label">IBAN</label>
|
|
<input type="text" maxlength="100" class="form-control" id="iban" name="iban" value="@member.Iban">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="bic" class="form-label">BIC</label>
|
|
<input type="text" maxlength="100" class="form-control" id="bic" name="bic" value="@member.Bic">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="type_of_payment" class="form-label">Type of payment</label>
|
|
@if (member.TypeOfPayment?.ToLowerInvariant() == "cash") {
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="radio" name="type_of_payment" id="type_of_payment_bar" value="Cash" checked>
|
|
<label class="form-check-label" for="type_of_payment_bar">
|
|
Cash
|
|
</label>
|
|
</div>
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="radio" name="type_of_payment" id="type_of_payment_bank_transfer" value="Bank transfer">
|
|
<label class="form-check-label" for="type_of_payment_bank_transfer">
|
|
Bank transfer
|
|
</label>
|
|
</div>
|
|
}
|
|
else {
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="radio" name="type_of_payment" id="type_of_payment_bar" value="Cash">
|
|
<label class="form-check-label" for="type_of_payment_bar">
|
|
Cash
|
|
</label>
|
|
</div>
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="radio" name="type_of_payment" id="type_of_payment_bank_transfer" value="Bank transfer" checked>
|
|
<label class="form-check-label" for="type_of_payment_bank_transfer">
|
|
Bank transfer
|
|
</label>
|
|
</div>
|
|
}
|
|
</div>
|
|
<div class="mb-3">
|
|
<div class="form-check">
|
|
@if (member.SendDonationReceipt.HasValue && member.SendDonationReceipt.Value) {
|
|
<input class="form-check-input" type="checkbox" id="send_donation_receipt" name="send_donation_receipt" checked>
|
|
}
|
|
else {
|
|
<input class="form-check-input" type="checkbox" id="send_donation_receipt" name="send_donation_receipt">
|
|
}
|
|
<label for="send_donation_receipt" class="form-label">Send donation receipt</label>
|
|
</div>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="fee" class="form-label">Monthly fee (cents)</label>
|
|
<input type="number" min="100" class="form-control" id="fee" name="fee" value="@member.MonthlyFeeCents">
|
|
</div>
|
|
|
|
<h3>Other</h3>
|
|
<div class="mb-3">
|
|
<label for="notes" class="form-label">Notes</label>
|
|
<textarea maxlength="500" class="form-control" id="notes" name="notes">@member.Notes</textarea>
|
|
</div>
|
|
<button type="submit" class="btn btn-primary" name="action" value="save">Save</button>
|
|
<button type="submit" class="btn btn-danger" name="action" value="delete">Delete</button>
|
|
</form>
|