From ed7e44f121fd2826dd5c0a1c3988108c91ca4ff8 Mon Sep 17 00:00:00 2001 From: sab-LC Date: Fri, 18 Oct 2024 06:33:39 -0700 Subject: [PATCH 1/3] Addressed account creation issues --- communities/utils.py | 17 +++++++++-------- communities/views.py | 18 +++++------------- helpers/utils.py | 7 ++++++- institutions/utils.py | 13 +++++++------ researchers/utils.py | 25 +++++++++++++------------ 5 files changed, 40 insertions(+), 40 deletions(-) diff --git a/communities/utils.py b/communities/utils.py index e1520563..f3abd3e4 100644 --- a/communities/utils.py +++ b/communities/utils.py @@ -59,14 +59,15 @@ def handle_community_creation(request, data, subscription_form, env): affiliation.communities.add(data) affiliation.save() - # Adds activity to Hub Activity - HubActivity.objects.create( - action_user_id=request.user.id, - action_type="New Community", - community_id=data.id, - action_account_type='community' - ) - request.session['new_community_id'] = data.id + if env != 'SANDBOX': + # Adds activity to Hub Activity + HubActivity.objects.create( + action_user_id=request.user.id, + action_type="New Community", + community_id=data.id, + action_account_type='community' + ) + request.session['new_community_id'] = data.id except Exception as e: messages.add_message( diff --git a/communities/views.py b/communities/views.py index 08bd58c4..230fe426 100644 --- a/communities/views.py +++ b/communities/views.py @@ -140,20 +140,12 @@ def create_community(request): mutable_post_data.update(subscription_data) subscription_form = SubscriptionForm(mutable_post_data) - # If in test site, approve immediately, skip confirmation step - if env == 'SANDBOX': - data.is_approved = True - data.is_member = True - data.save() - - # Add to user affiliations - affiliation = UserAffiliation.objects.prefetch_related('communities').get(user=request.user) - affiliation.communities.add(data) - affiliation.save() - return redirect('dashboard') - elif subscription_form.is_valid(): + if subscription_form.is_valid(): handle_community_creation(request, data, subscription_form, env) - return redirect('community-boundary') + if env == "SANDBOX": + return redirect('dashboard') + else: + return redirect('community-boundary') return render(request, 'communities/create-community.html', {'form': form, 'user_form': user_form}) diff --git a/helpers/utils.py b/helpers/utils.py index 3b7bae9f..219f2aef 100644 --- a/helpers/utils.py +++ b/helpers/utils.py @@ -779,19 +779,24 @@ def handle_confirmation_and_subscription(request, subscription_form, user, env): } if isinstance(user, Researcher): subscription_params['researcher'] = user + subscription_params['subscription_type'] = "founding_supporter" user.is_subscribed = True elif isinstance(user, Institution): subscription_params['institution'] = user + subscription_params['subscription_type'] = "founding_supporter" user.is_subscribed = True elif isinstance(user, ServiceProvider): subscription_params['service_provider'] = user + subscription_params['subscription_type'] = "founding_supporter" user.is_certified = True - + elif isinstance(user, Community): subscription_params['community'] = user + subscription_params['subscription_type'] = "founding_supporter" user.is_member=True + user.is_approved = True user.save() response = Subscription.objects.create(**subscription_params) diff --git a/institutions/utils.py b/institutions/utils.py index 486c811b..8be258d2 100644 --- a/institutions/utils.py +++ b/institutions/utils.py @@ -24,12 +24,13 @@ def handle_institution_creation(request, form, subscription_form, env): affiliation.institutions.add(data) affiliation.save() - HubActivity.objects.create( - action_user_id=request.user.id, - action_type="New Institution", - institution_id=data.id, - action_account_type="institution", - ) + if env != 'SANDBOX': + HubActivity.objects.create( + action_user_id=request.user.id, + action_type="New Institution", + institution_id=data.id, + action_account_type="institution", + ) except Exception as e: messages.add_message( request, diff --git a/researchers/utils.py b/researchers/utils.py index c864e402..f1dcf9e0 100644 --- a/researchers/utils.py +++ b/researchers/utils.py @@ -40,20 +40,21 @@ def handle_researcher_creation(request, subscription_form, form, orcid_id, orcid request.user.user_profile.is_researcher = True request.user.user_profile.save() - # sends one email to the account creator - # and one to either site admin or support - send_researcher_email(request) - send_hub_admins_account_creation_email(request, data) + if env != 'SANDBOX': + # sends one email to the account creator + # and one to either site admin or support + send_researcher_email(request) + send_hub_admins_account_creation_email(request, data) - # Add researcher to mailing list - if env == 'PROD': - manage_researcher_mailing_list(request.user.email, True) + # Add researcher to mailing list + if env == 'PROD': + manage_researcher_mailing_list(request.user.email, True) - # Adds activity to Hub Activity - HubActivity.objects.create( - action_user_id=request.user.id, - action_type="New Researcher" - ) + # Adds activity to Hub Activity + HubActivity.objects.create( + action_user_id=request.user.id, + action_type="New Researcher" + ) except Exception as e: messages.add_message( request, From 80f3f2c5a99e77028d1eaa961fe12d42ef11326e Mon Sep 17 00:00:00 2001 From: sab-LC Date: Fri, 18 Oct 2024 10:14:40 -0700 Subject: [PATCH 2/3] Removed unnecessary code --- communities/utils.py | 17 ++++++++--------- communities/views.py | 5 +---- helpers/utils.py | 8 ++++---- institutions/utils.py | 13 ++++++------- researchers/utils.py | 10 +++++----- 5 files changed, 24 insertions(+), 29 deletions(-) diff --git a/communities/utils.py b/communities/utils.py index f3abd3e4..e1520563 100644 --- a/communities/utils.py +++ b/communities/utils.py @@ -59,15 +59,14 @@ def handle_community_creation(request, data, subscription_form, env): affiliation.communities.add(data) affiliation.save() - if env != 'SANDBOX': - # Adds activity to Hub Activity - HubActivity.objects.create( - action_user_id=request.user.id, - action_type="New Community", - community_id=data.id, - action_account_type='community' - ) - request.session['new_community_id'] = data.id + # Adds activity to Hub Activity + HubActivity.objects.create( + action_user_id=request.user.id, + action_type="New Community", + community_id=data.id, + action_account_type='community' + ) + request.session['new_community_id'] = data.id except Exception as e: messages.add_message( diff --git a/communities/views.py b/communities/views.py index 230fe426..d0d173c0 100644 --- a/communities/views.py +++ b/communities/views.py @@ -142,10 +142,7 @@ def create_community(request): if subscription_form.is_valid(): handle_community_creation(request, data, subscription_form, env) - if env == "SANDBOX": - return redirect('dashboard') - else: - return redirect('community-boundary') + return redirect('community-boundary') return render(request, 'communities/create-community.html', {'form': form, 'user_form': user_form}) diff --git a/helpers/utils.py b/helpers/utils.py index 219f2aef..e97410e0 100644 --- a/helpers/utils.py +++ b/helpers/utils.py @@ -779,22 +779,22 @@ def handle_confirmation_and_subscription(request, subscription_form, user, env): } if isinstance(user, Researcher): subscription_params['researcher'] = user - subscription_params['subscription_type'] = "founding_supporter" + subscription_params['subscription_type'] = "individual" user.is_subscribed = True elif isinstance(user, Institution): subscription_params['institution'] = user - subscription_params['subscription_type'] = "founding_supporter" + subscription_params['subscription_type'] = "small" user.is_subscribed = True elif isinstance(user, ServiceProvider): subscription_params['service_provider'] = user - subscription_params['subscription_type'] = "founding_supporter" + subscription_params['subscription_type'] = "small" user.is_certified = True elif isinstance(user, Community): subscription_params['community'] = user - subscription_params['subscription_type'] = "founding_supporter" + subscription_params['subscription_type'] = "medium" user.is_member=True user.is_approved = True diff --git a/institutions/utils.py b/institutions/utils.py index 8be258d2..486c811b 100644 --- a/institutions/utils.py +++ b/institutions/utils.py @@ -24,13 +24,12 @@ def handle_institution_creation(request, form, subscription_form, env): affiliation.institutions.add(data) affiliation.save() - if env != 'SANDBOX': - HubActivity.objects.create( - action_user_id=request.user.id, - action_type="New Institution", - institution_id=data.id, - action_account_type="institution", - ) + HubActivity.objects.create( + action_user_id=request.user.id, + action_type="New Institution", + institution_id=data.id, + action_account_type="institution", + ) except Exception as e: messages.add_message( request, diff --git a/researchers/utils.py b/researchers/utils.py index f1dcf9e0..ec790a19 100644 --- a/researchers/utils.py +++ b/researchers/utils.py @@ -50,11 +50,11 @@ def handle_researcher_creation(request, subscription_form, form, orcid_id, orcid if env == 'PROD': manage_researcher_mailing_list(request.user.email, True) - # Adds activity to Hub Activity - HubActivity.objects.create( - action_user_id=request.user.id, - action_type="New Researcher" - ) + # Adds activity to Hub Activity + HubActivity.objects.create( + action_user_id=request.user.id, + action_type="New Researcher" + ) except Exception as e: messages.add_message( request, From 7aad8b8926a57c7c2fdc73d28aa690550c077528 Mon Sep 17 00:00:00 2001 From: Diana Lovette <41635757+birbjam@users.noreply.github.com> Date: Fri, 18 Oct 2024 11:56:18 -0700 Subject: [PATCH 3/3] update sub types --- helpers/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helpers/utils.py b/helpers/utils.py index e97410e0..1dd691d6 100644 --- a/helpers/utils.py +++ b/helpers/utils.py @@ -789,12 +789,12 @@ def handle_confirmation_and_subscription(request, subscription_form, user, env): elif isinstance(user, ServiceProvider): subscription_params['service_provider'] = user - subscription_params['subscription_type'] = "small" + subscription_params['subscription_type'] = "service_provide" user.is_certified = True elif isinstance(user, Community): subscription_params['community'] = user - subscription_params['subscription_type'] = "medium" + subscription_params['subscription_type'] = "member" user.is_member=True user.is_approved = True