Browse Source

DIV-1141 - Added BC Services Card flag to the BceidUser model

pull/172/head
Michael Olund 5 years ago
parent
commit
74996ed4f7
3 changed files with 26 additions and 0 deletions
  1. +5
    -0
      edivorce/apps/core/middleware/bceid_middleware.py
  2. +18
    -0
      edivorce/apps/core/migrations/0024_bceiduser_is_bcsc.py
  3. +3
    -0
      edivorce/apps/core/models.py

+ 5
- 0
edivorce/apps/core/middleware/bceid_middleware.py View File

@ -99,6 +99,7 @@ class BceidMiddleware(MiddlewareMixin): # pylint: disable=too-few-public-method
siteminder_user = request.META.get('HTTP_SM_USER', '')
is_localdev = settings.DEPLOYMENT_TYPE in ['localdev', 'minishift']
update_user = False
using_bc_services_card = False
guid = request.META.get('HTTP_SMGOV_USERGUID', '')
given_names = request.META.get('HTTP_SMGOV_GIVENNAMES', '')
@ -108,6 +109,7 @@ class BceidMiddleware(MiddlewareMixin): # pylint: disable=too-few-public-method
# HTTP_SMGOV_USERDISPLAYNAME is not included when BC Services Card authentication is used.
if not displayname and (surname or given_names):
displayname = "{0} {1}".format(given_names, surname)
using_bc_services_card = True
# HTTP_SM_USER is typically '.' when BC Services Card authentication is used.
if (not siteminder_user or siteminder_user == '.') and given_names and surname:
@ -135,6 +137,9 @@ class BceidMiddleware(MiddlewareMixin): # pylint: disable=too-few-public-method
if created or not request.user.sm_user:
request.user.sm_user = siteminder_user
update_user = True
if request.user.is_bcsc != using_bc_services_card:
request.user.is_bcsc = using_bc_services_card
update_user = True
if request.user.display_name != displayname:
request.user.display_name = displayname
update_user = True


+ 18
- 0
edivorce/apps/core/migrations/0024_bceiduser_is_bcsc.py View File

@ -0,0 +1,18 @@
# Generated by Django 2.2.15 on 2020-10-09 13:15
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('core', '0023_auto_20201006_1314'),
]
operations = [
migrations.AddField(
model_name='bceiduser',
name='is_bcsc',
field=models.BooleanField(default=False),
),
]

+ 3
- 0
edivorce/apps/core/models.py View File

@ -37,6 +37,9 @@ class BceidUser(models.Model):
has_accepted_terms = models.BooleanField(default=False)
""" Flag for accepting terms of service """
is_bcsc = models.BooleanField(default=False)
""" Flag to identify BC Services Card users """
@property
def is_authenticated(self):
return True


Loading…
Cancel
Save