Skip to content

Commit

Permalink
Merge pull request #228 from razee-io/subscription_owner
Browse files Browse the repository at this point in the history
add owner column to the subscriptions table
  • Loading branch information
rmgraham committed Feb 20, 2020
2 parents 4bec366 + e689799 commit 24ec089
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 7 deletions.
1 change: 1 addition & 0 deletions imports/api/deployables/subscriptions/methods.js
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ Meteor.methods({
'channel': resourceName,
'version': versionName,
'version_uuid': version,
'owner': Meteor.userId(),
'created': new Date()
});

Expand Down
5 changes: 5 additions & 0 deletions imports/api/deployables/subscriptions/server/publications.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,8 @@ Meteor.publish('subscriptions', function(orgId) {
requireOrgAccess(orgId);
return Subscriptions.find({ org_id: orgId });
});

Meteor.publish('users.byIds', function(userIds) {
check( userIds, Array);
return Meteor.users.find({ _id: {$in: userIds} }, { fields: { 'profile.name': true } });
});
20 changes: 17 additions & 3 deletions imports/ui/pages/deployables/subscriptions/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,13 @@ Template.Subscriptions.helpers({
},
subscriptions(){
const groups = Subscriptions.find({'org_id': Session.get('currentOrgId')}).fetch();

// get all subscription owner ids and subscribe.
const ownerIds = groups.map( (sub) => sub.owner )
.filter( (element, index, arr) => index === arr.indexOf(element)) // remove duplicates
.filter(Boolean); // remove undefined items from the array
Meteor.subscribe('users.byIds', ownerIds);

return groups;
},
editMode(name) {
Expand Down Expand Up @@ -99,7 +106,14 @@ Template.Subscriptions.helpers({
}
let versions = DeployableVersions.find({'org_id': Session.get('currentOrgId'), 'channel_name': channel}).fetch();
return versions;
}
},
owner(id) {
const user = Meteor.users.findOne({ _id: id });
if (!user) {
return '';
}
return user.profile.name;
},
});

Template.Subscriptions.events({
Expand All @@ -111,7 +125,7 @@ Template.Subscriptions.events({
'click .js-add-group'(e, instance) {
e.preventDefault();
const groupName = $(e.target).closest('.group-item-new').find('input[name="groupName"]').val();
const groupTags = $(e.target).closest('.group-item-new').find('input[name="groupTags"]').val().split(/[ ,]+/);
const groupTags = $(e.target).closest('.group-item-new').find('input[name="groupTags"]').val().split(/[ ,]+/).filter(String);
const resourceId = $(e.target).closest('.group-item-new').find('.resource-dropdown').val();
const resourceName = instance.selectedChannel.get();
const resourceVersion = $(e.target).closest('.group-item-new').find('.version-dropdown').val();
Expand Down Expand Up @@ -220,7 +234,7 @@ Template.Subscriptions.events({
e.preventDefault();
const groupId = $(e.target).closest('.group-item-edit').data('id');
const updatedName = $(e.target).closest('.group-item-edit').find('input[name="groupName"]').val();
const updatedTags = $(e.target).closest('.group-item-edit').find('input[name="groupTags"]').val().split(/[ ,]+/);
const updatedTags = $(e.target).closest('.group-item-edit').find('input[name="groupTags"]').val().split(/[ ,]+/).filter(String);
const resourceId = $(e.target).closest('.group-item-edit').find('.resource-dropdown').val();
const resourceName = $(e.target).closest('.group-item-edit').find('.resource-dropdown option:selected').text();
const resourceVersion = $(e.target).closest('.group-item-edit').find('.version-dropdown').val();
Expand Down
21 changes: 17 additions & 4 deletions imports/ui/pages/deployables/subscriptions/page.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ <h4 class="card-header text-muted">Subscriptions
<div class="d-none d-lg-block row-header">
<div class="row">
<div class="col-lg-2">Name</div>
<div class="col-lg-4">Tags</div>
<div class="col-lg-2">Owner</div>
<div class="col-lg-2">Tags</div>
<div class="col-lg-2">Channel</div>
<div class="col-lg-2">Version</div>
<div class="col-lg-2">Action</div>
Expand All @@ -34,7 +35,11 @@ <h4 class="card-header text-muted">Subscriptions
<input type="text" name="groupName" value="{{subscription.name}}" class="form-control" required autofocus/>
<div class="invalid-feedback"> Please enter a unique name </div>
</div>
<div class="col-lg-4">
<div class="col-lg-2">
<div class="d-block d-lg-none row-header-sm">Owner</div>
<input type="text" name="groupOwner" value="{{owner subscription.owner}}" class="form-control" disabled/>
</div>
<div class="col-lg-2">
<div class="d-block d-lg-none row-header-sm">Tags</div>
<input type="text" name="groupTags" value="{{subscription.tags}}" class="form-control" required autofocus/>
<div class="invalid-feedback"> Please enter a tag</div>
Expand Down Expand Up @@ -71,7 +76,11 @@ <h4 class="card-header text-muted">Subscriptions
<div class="d-block d-lg-none row-header-sm">Name</div>
<div class="group-edit">{{subscription.name}}</div>
</div>
<div class="col-lg-4">
<div class="col-lg-2">
<div class="d-block d-lg-none row-header-sm">Owner</div>
<div class="group-edit">{{owner subscription.owner}} </div>
</div>
<div class="col-lg-2">
<div class="d-block d-lg-none row-header-sm">Tags</div>
<div class="group-edit">
{{#each tag in tags subscription}}
Expand Down Expand Up @@ -120,7 +129,11 @@ <h5 class="modal-title">Remove "{{subscription.name}}"</h5>
<input type="text" name="groupName" class="form-control" required autofocus/>
<div class="invalid-feedback"> Please enter a unique name </div>
</div>
<div class="col-lg-4">
<div class="col-lg-2">
<div class="d-block d-lg-none row-header-sm">Owner</div>
<input type="text" name="groupOwner" value="{{owner currentUser._id}}" class="form-control" disabled/>
</div>
<div class="col-lg-2">
<div class="d-block d-lg-none row-header-sm">Tags</div>
<input type="text" name="groupTags" class="form-control" required autofocus placeholder="tag1, tag2, tag3"/>
<div class="invalid-feedback"> Please enter a tag</div>
Expand Down

0 comments on commit 24ec089

Please sign in to comment.