You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2021/10/06 13:41:32 UTC
[airavata-django-portal] 08/13: AIRAVATA-3468 Inform user that they
must complete profile
This is an automated email from the ASF dual-hosted git repository.
machristie pushed a commit to branch AIRAVATA-3319-handle-missing-name-and-email-attributes-from-cilo
in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git
commit 4d910c99ddb05be1431e271a417e1aca9458f9eb
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Mon Jul 26 14:58:38 2021 -0400
AIRAVATA-3468 Inform user that they must complete profile
---
.../apps/api/static/django_airavata_api/js/models/User.js | 10 +++++++++-
django_airavata/apps/auth/serializers.py | 6 +++++-
.../js/containers/UserProfileContainer.vue | 3 +++
3 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/django_airavata/apps/api/static/django_airavata_api/js/models/User.js b/django_airavata/apps/api/static/django_airavata_api/js/models/User.js
index 53cbf79..648721a 100644
--- a/django_airavata/apps/api/static/django_airavata_api/js/models/User.js
+++ b/django_airavata/apps/api/static/django_airavata_api/js/models/User.js
@@ -1,6 +1,14 @@
import BaseModel from "./BaseModel";
-const FIELDS = ["id", "username", "first_name", "last_name", "email", "pending_email_change"];
+const FIELDS = [
+ "id",
+ "username",
+ "first_name",
+ "last_name",
+ "email",
+ "pending_email_change",
+ "complete",
+];
export default class User extends BaseModel {
constructor(data = {}) {
diff --git a/django_airavata/apps/auth/serializers.py b/django_airavata/apps/auth/serializers.py
index f12854e..40723fd 100644
--- a/django_airavata/apps/auth/serializers.py
+++ b/django_airavata/apps/auth/serializers.py
@@ -23,10 +23,11 @@ class PendingEmailChangeSerializer(serializers.ModelSerializer):
class UserSerializer(serializers.ModelSerializer):
pending_email_change = serializers.SerializerMethodField()
+ complete = serializers.SerializerMethodField()
class Meta:
model = get_user_model()
- fields = ['id', 'username', 'first_name', 'last_name', 'email', 'pending_email_change']
+ fields = ['id', 'username', 'first_name', 'last_name', 'email', 'pending_email_change', 'complete']
def get_pending_email_change(self, instance):
request = self.context['request']
@@ -37,6 +38,9 @@ class UserSerializer(serializers.ModelSerializer):
else:
return None
+ def get_complete(self, instance):
+ return instance.user_profile.is_complete
+
@atomic
def update(self, instance, validated_data):
request = self.context['request']
diff --git a/django_airavata/apps/auth/static/django_airavata_auth/js/containers/UserProfileContainer.vue b/django_airavata/apps/auth/static/django_airavata_auth/js/containers/UserProfileContainer.vue
index d6eebce..da4e001 100644
--- a/django_airavata/apps/auth/static/django_airavata_auth/js/containers/UserProfileContainer.vue
+++ b/django_airavata/apps/auth/static/django_airavata_auth/js/containers/UserProfileContainer.vue
@@ -1,6 +1,9 @@
<template>
<div>
<h1 class="h4 mb-4">User Profile Editor</h1>
+ <b-alert :show="user && !user.complete"
+ >Please complete your user profile before continuing.</b-alert
+ >
<user-profile-editor
v-if="user"
v-model="user"