This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git

commit ca087faee978fe699800e6caee84d3af7fd9e606
Author: Marcus Christie <[email protected]>
AuthorDate: Mon Sep 17 12:33:02 2018 -0400

    AIRAVATA-2876 removing implicit update from ShareButton
---
 .../GroupComputeResourcePreference.vue             | 16 +++++++++--
 .../static/common/js/components/ShareButton.vue    | 33 ++--------------------
 2 files changed, 16 insertions(+), 33 deletions(-)

diff --git 
a/django_airavata/apps/admin/static/django_airavata_admin/src/components/admin/group_resource_preferences/GroupComputeResourcePreference.vue
 
b/django_airavata/apps/admin/static/django_airavata_admin/src/components/admin/group_resource_preferences/GroupComputeResourcePreference.vue
index 15d8a52..74a85ea 100644
--- 
a/django_airavata/apps/admin/static/django_airavata_admin/src/components/admin/group_resource_preferences/GroupComputeResourcePreference.vue
+++ 
b/django_airavata/apps/admin/static/django_airavata_admin/src/components/admin/group_resource_preferences/GroupComputeResourcePreference.vue
@@ -13,7 +13,7 @@
               <b-form-input id="profile-name" type="text" 
v-model="data.groupResourceProfileName" required placeholder="Name of this 
Group Resource Profile">
               </b-form-input>
             </b-form-group>
-            <share-button ref="shareButton" v-model="sharedEntity" />
+            <share-button ref="shareButton" v-model="sharedEntity" 
@save="saveSharedEntity" />
           </div>
         </div>
       </div>
@@ -152,15 +152,25 @@ export default {
         persist = this.service.update({ data: this.data, lookup: this.id });
       } else {
         persist = this.service.create({ data: this.data }).then(data => {
-          // Save sharing settings too
+          // Merge sharing settings with default sharing settings created when
+          // Group Resource Profile was created
           const groupResourceProfileId = data.groupResourceProfileId;
-          return this.$refs.shareButton.mergeAndSave(groupResourceProfileId);
+          return services.SharedEntityService.merge({
+            data: this.sharedEntity,
+            lookup: groupResourceProfileId
+          });
         });
       }
       persist.then(data => {
         this.$router.push("/group-resource-profiles");
       });
     },
+    saveSharedEntity: function(sharedEntity) {
+      return services.SharedEntityService.update({
+        data: sharedEntity,
+        lookup: sharedEntity.entityId
+      });
+    },
     getComputeResourceName: function(computeResourceId) {
       // TODO: load compute resources to get the real name
       return computeResourceId && computeResourceId.indexOf("_") > 0
diff --git a/django_airavata/static/common/js/components/ShareButton.vue 
b/django_airavata/static/common/js/components/ShareButton.vue
index 0cbdf4b..251a17b 100644
--- a/django_airavata/static/common/js/components/ShareButton.vue
+++ b/django_airavata/static/common/js/components/ShareButton.vue
@@ -5,9 +5,7 @@
       <b-badge>{{ totalCount }}</b-badge>
     </b-button>
     <b-modal id="modal-share-settings" title="Sharing Settings" 
ref="modalSharingSettings" ok-title="Save" @ok="saveSharedEntity"
-      @cancel="cancelEditSharedEntity" no-close-on-esc no-close-on-backdrop 
hide-header-close :ok-disabled="loading" :cancel-disabled="loading"
-      @show="showSharingSettingsModal">
-      <b-alert variant="danger" 
:show="!!errorMessage">{{errorMessage}}</b-alert>
+      @cancel="cancelEditSharedEntity" no-close-on-esc no-close-on-backdrop 
hide-header-close @show="showSharingSettingsModal">
       <b-form-group label="Search for users/groups" 
labelFor="user-groups-autocomplete">
         <autocomplete-text-input id="user-groups-autocomplete" 
:suggestions="usersAndGroupsSuggestions" @selected="suggestionSelected">
           <template slot="suggestion" slot-scope="slotProps">
@@ -88,8 +86,6 @@ export default {
       ],
       users: [],
       groups: [],
-      errorMessage: null,
-      loading: false,
       sharedEntityCopy: null
     };
   },
@@ -256,33 +252,10 @@ export default {
       );
     },
     saveSharedEntity: function(event) {
-      // If entity hasn't been persisted yet then just emitValueChanged.
-      // Sharing settings will need to be saved later (see mergeAndSave).
-      if (!this.sharedEntity.entityId) {
-        this.emitValueChanged();
-        return;
-      }
-      // Prevent hiding the modal, hide it programmatically
-      this.errorMessage = null;
-      this.loading = true;
-      event.preventDefault();
-      services.SharedEntityService.update({
-        data: this.sharedEntity,
-        lookup: this.sharedEntity.entityId
-      })
-        .then(sharedEntity => {
-          this.emitValueChanged();
-          this.$refs.modalSharingSettings.hide();
-        })
-        .catch(error => {
-          console.log("Error occurred while saving:", error);
-          this.errorMessage =
-            "Error occurred while saving: " + JSON.stringify(error);
-        })
-        .then(() => (this.loading = false), () => (this.loading = false));
+      this.emitValueChanged();
+      this.$emit("save", this.sharedEntity);
     },
     cancelEditSharedEntity: function(event) {
-      this.errorMessage = null;
       this.sharedEntity = this.sharedEntityCopy;
     },
     emitValueChanged: function() {

Reply via email to