Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion docs/POST_INSTALL_STEPS.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,11 @@ However, as noted below, currencies will use a hardcoded value set by a configur
* "MAX_INDUCTION_DAYS" - Maximum number of days since they were inducted before they require another induction. Set
to `0` to disable induction requirement.
* "MIN_INDUCTION_SCORE" - The minimum score considered a "pass" for the induction course.
* "REQUIRE_ACCESS_CARD" - Require the member to submit their RFID access card number during signup.
* "REQUIRE_ACCESS_CARD" - Require the member to have an RFID access card assigned before completing signup. Set to
`False` to skip the access card step entirely.
* "MEMBER_CAN_ENTER_ACCESS_CARD" - Allow members to enter their own RFID card number during signup. Set to `False`
to require an admin to assign the card (members will see a "Contact Us" button instead). Only applies if
"REQUIRE_ACCESS_CARD" is `True`.
* "COLLECT_VEHICLE_REGISTRATION_PLATE" - Allow the portal to collect vehicle registration plate number(s).

### Canvas Integration
Expand Down
1 change: 1 addition & 0 deletions memberportal/api_general/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ def get(self, request):
"signup": {
"inductionLink": config.INDUCTION_ENROL_LINK,
"requireAccessCard": config.REQUIRE_ACCESS_CARD,
"memberCanEnterAccessCard": config.MEMBER_CAN_ENTER_ACCESS_CARD,
"postInductionUrl": config.POST_INDUCTION_URL,
"collectVehicleRegistrationPlate": config.COLLECT_VEHICLE_REGISTRATION_PLATE,
},
Expand Down
7 changes: 6 additions & 1 deletion memberportal/membermatters/constance_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
"POST_INDUCTION_URL": (
"https://eventbrite.com.au",
"The URL members should visit to book in for a site induction after finishing the online induction."
" (displayed during signup if REQUIRE_ACCESS_CARD == False)",
" (displayed during signup if REQUIRE_ACCESS_CARD == True and MEMBER_CAN_ENTER_ACCESS_CARD == False)",
),
# Logo and favicon
"SITE_LOGO": (
Expand Down Expand Up @@ -310,6 +310,10 @@
True,
"If an access card is required to be added to a members profile before signup.",
),
"MEMBER_CAN_ENTER_ACCESS_CARD": (
True,
"If true, members can enter their own RFID card during signup. If false, they will be prompted to contact an admin (displayed during signup if REQUIRE_ACCESS_CARD == True).",
),
"COLLECT_VEHICLE_REGISTRATION_PLATE": (
False,
"Display a field that collects the member's vehicle registration plate on signup & in the profile page.",
Expand Down Expand Up @@ -439,6 +443,7 @@
"MAX_INDUCTION_DAYS",
"MIN_INDUCTION_SCORE",
"REQUIRE_ACCESS_CARD",
"MEMBER_CAN_ENTER_ACCESS_CARD",
"COLLECT_VEHICLE_REGISTRATION_PLATE",
),
),
Expand Down
4 changes: 2 additions & 2 deletions memberportal/profile/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -646,8 +646,8 @@ def can_signup(self):
):
required_steps.append("induction")

# check if they have an RFID card assigned
if not self.rfid:
# check if they have an RFID card assigned (only if required by config)
if config.REQUIRE_ACCESS_CARD and not self.rfid:
required_steps.append("accessCard")

if len(required_steps):
Expand Down
6 changes: 4 additions & 2 deletions src-frontend/src/components/Billing/SignupRequiredSteps.vue
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
{{ $tc('signup.assignAccessCard') }}
</div>

<template v-if="features.signup.requireAccessCard">
<template v-if="features.signup.memberCanEnterAccessCard">
<div class="row items-stretch">
<div style="width: 100%">
<p>
Expand Down Expand Up @@ -274,7 +274,9 @@ export default defineComponent({
},
inductionCompleted() {
this.step++;
if (this.accessCardComplete) this.step++;
if (this.accessCardComplete) {
this.completeSignup();
}
clearInterval(this.interval);
},
async completeSignup() {
Expand Down
Loading