diff --git a/web/app/assets/javascripts/createSession.js b/web/app/assets/javascripts/createSession.js
index b5c7808bf..4f8026dc0 100644
--- a/web/app/assets/javascripts/createSession.js
+++ b/web/app/assets/javascripts/createSession.js
@@ -277,7 +277,7 @@
function initialize(invitationDialogInstance, inviteMusiciansDialogInstance) {
invitationDialog = invitationDialogInstance;
inviteMusiciansDialog = inviteMusiciansDialogInstance;
- inviteMusiciansDialog.appendFriendSelector($('#create-session-invite-musicians'));
+ inviteMusiciansDialog.inviteSessionCreate('#create-session-invite-musicians');
events();
loadBands();
loadSessionSettings();
diff --git a/web/app/assets/javascripts/inviteMusicians.js b/web/app/assets/javascripts/inviteMusicians.js
index 10226ff6b..fa26c0429 100644
--- a/web/app/assets/javascripts/inviteMusicians.js
+++ b/web/app/assets/javascripts/inviteMusicians.js
@@ -13,6 +13,31 @@
var autoComplete = null;
var rest = context.JK.Rest();
var mySaveCallback;
+ var inviteAction = 'create'; // create/update
+
+ this.inviteSessionCreate = function(elemSelector) {
+ inviteAction = 'create';
+ _appendFriendSelector($(elemSelector));
+ };
+
+ this.inviteSessionUpdate = function(elemSelector, sessionId) {
+ inviteAction = 'update';
+ if (0 == $(elemSelector + ' .friendbox').length) {
+ _appendFriendSelector($(elemSelector));
+ }
+ this.clearSelections();
+ $.ajax({
+ ajax: false,
+ url: "/api/invitations",
+ data: { session_id: sessionId, sender: context.JK.currentUserId }
+ }).done(function(response) {
+ response.map(function(item) {
+ var dd = item['receiver']
+ selectedFriendIds[dd['id']] = true;
+ addInvitation(dd['name'], dd['id']);
+ });
+ }).fail(app.ajaxError);
+ }
this.clearSelections = function() {
userNames = [];
@@ -65,7 +90,11 @@
function addInvitation(value, data) {
if ($('.selected-friends div[user-id=' + data + ']').length === 0) {
var template = $('#template-added-invitation').html();
- var invitationHtml = context.JK.fillTemplate(template, {userId: data, userName: value});
+ var image_style = inviteAction == 'update' ? 'display:none' : '';
+ var invitationHtml = context.JK.fillTemplate(template,
+ {userId: data,
+ userName: value,
+ image_style: image_style});
$('.selected-friends').append(invitationHtml);
$('#friend-input').select();
selectedFriendIds[data] = true;
@@ -142,43 +171,22 @@
});
}
- function events() {
- //if ($('.btn-choose-friends').data('events') === undefined) {
- $('.selected-friends').on("click", ".invitation a", removeInvitation);
- $('.btn-choose-friends').click(function(){
- friendSelectorDialog.showDialog(selectedFriendIds);
- });
- //}
+ function _events() {
+ $('#selected-friends-'+inviteAction).on("click", ".invitation a", removeInvitation);
+ $('#btn-choose-friends-'+inviteAction).click(function(){
+ friendSelectorDialog.showDialog(selectedFriendIds);
+ });
}
- this.inviteJoinSession = function(sessionId) {
- if (0 == $('#join-session-invite-musicians .friendbox').length) {
- this.appendFriendSelector($('#join-session-invite-musicians'));
- }
- this.clearSelections();
- $.ajax({
- ajax: false,
- url: "/api/invitations",
- data: {
- session_id: sessionId,
- sender: context.JK.currentUserId
- }
- }).done(function(response) {
- response.map(function(item) {
- var dd = item['receiver']
- selectedFriendIds[dd['id']] = true;
- addInvitation(dd['name'], dd['id']);
- });
- }).fail(app.ajaxError);
+ function _friendSelectorHTML() {
+ return context.JK.fillTemplate($('#template-session-invite-musicians').html(),
+ {choose_friends_id: 'btn-choose-friends-'+inviteAction,
+ selected_friends_id: 'selected-friends-'+inviteAction});
}
- function friendSelectorHTML() {
- return context.JK.fillTemplate($('#template-session-invite-musicians').html(),{});
- }
-
- this.appendFriendSelector = function(elem) {
- elem.append(friendSelectorHTML());
- events();
+ function _appendFriendSelector(elemSelector) {
+ elemSelector.append(_friendSelectorHTML());
+ _events();
};
this.initialize = function(friendSelectorDialogInstance) {
diff --git a/web/app/assets/javascripts/session.js b/web/app/assets/javascripts/session.js
index 0b253d8bd..569b011f9 100644
--- a/web/app/assets/javascripts/session.js
+++ b/web/app/assets/javascripts/session.js
@@ -1305,7 +1305,7 @@
}
function inviteMusicians() {
- inviteMusiciansDialog.inviteJoinSession(sessionId);
+ inviteMusiciansDialog.inviteSessionUpdate('#update-session-invite-musicians', sessionId);
}
function events() {
diff --git a/web/app/views/clients/_createSession.html.erb b/web/app/views/clients/_createSession.html.erb
index 56e5304a4..7a0b3f565 100644
--- a/web/app/views/clients/_createSession.html.erb
+++ b/web/app/views/clients/_createSession.html.erb
@@ -156,13 +156,6 @@
-
-
-
+
+
+
diff --git a/web/app/views/clients/index.html.erb b/web/app/views/clients/index.html.erb
index 42586fd45..d19151888 100644
--- a/web/app/views/clients/index.html.erb
+++ b/web/app/views/clients/index.html.erb
@@ -35,7 +35,7 @@
<%= render "account_profile_avatar" %>
<%= render "account_audio_profile" %>
<%= render "invitationDialog" %>
-<%= render "inviteSessionMusicians" %>
+<%= render "inviteMusicians" %>
<%= render "whatsNextDialog" %>
<%= render "recordingFinishedDialog" %>
<%= render "localRecordingsDialog" %>