mirror of
https://github.com/pierre42100/ComunicWeb
synced 2024-12-24 01:48:50 +00:00
Send a request to the server to cancel membership request.
This commit is contained in:
parent
561a3e9342
commit
89df9f0315
@ -6,128 +6,143 @@
|
||||
|
||||
ComunicWeb.components.groups.interface = {
|
||||
|
||||
/**
|
||||
* Create a group
|
||||
*
|
||||
* @param {String} name The name of the group to create
|
||||
* @param {Function} callback
|
||||
*/
|
||||
create: function(name, callback){
|
||||
/**
|
||||
* Create a group
|
||||
*
|
||||
* @param {String} name The name of the group to create
|
||||
* @param {Function} callback
|
||||
*/
|
||||
create: function(name, callback){
|
||||
|
||||
//Perform a request over the API
|
||||
var apiURI = "groups/create";
|
||||
var params = {
|
||||
name: name
|
||||
};
|
||||
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
|
||||
},
|
||||
//Perform a request over the API
|
||||
var apiURI = "groups/create";
|
||||
var params = {
|
||||
name: name
|
||||
};
|
||||
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
|
||||
},
|
||||
|
||||
/**
|
||||
* Get information about a group
|
||||
*
|
||||
* @param {Number} id The ID of the target group
|
||||
* @param {Function} callback Callback
|
||||
*/
|
||||
getInfo: function(id, callback){
|
||||
//Perform the request over the API
|
||||
var apiURI = "groups/get_info";
|
||||
var params = {
|
||||
id: id
|
||||
};
|
||||
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
|
||||
},
|
||||
/**
|
||||
* Get information about a group
|
||||
*
|
||||
* @param {Number} id The ID of the target group
|
||||
* @param {Function} callback Callback
|
||||
*/
|
||||
getInfo: function(id, callback){
|
||||
//Perform the request over the API
|
||||
var apiURI = "groups/get_info";
|
||||
var params = {
|
||||
id: id
|
||||
};
|
||||
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
|
||||
},
|
||||
|
||||
/**
|
||||
* Get advanced information about a group
|
||||
*
|
||||
* @param {Number} id The ID of the target group
|
||||
* @param {Function} callback Callback
|
||||
*/
|
||||
getAdvancedInfo: function(id, callback){
|
||||
//Perform the request over the API
|
||||
var apiURI = "groups/get_advanced_info";
|
||||
var params = {
|
||||
id: id
|
||||
};
|
||||
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
|
||||
},
|
||||
/**
|
||||
* Get advanced information about a group
|
||||
*
|
||||
* @param {Number} id The ID of the target group
|
||||
* @param {Function} callback Callback
|
||||
*/
|
||||
getAdvancedInfo: function(id, callback){
|
||||
//Perform the request over the API
|
||||
var apiURI = "groups/get_advanced_info";
|
||||
var params = {
|
||||
id: id
|
||||
};
|
||||
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
|
||||
},
|
||||
|
||||
/**
|
||||
* Get the settings of a group
|
||||
*
|
||||
* @param {Number} id The ID of the target group
|
||||
* @param {Function} callback
|
||||
*/
|
||||
getSettings: function(id, callback){
|
||||
//Perform the request over the API
|
||||
var apiURI = "groups/get_settings";
|
||||
var params = {
|
||||
id: id
|
||||
};
|
||||
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
|
||||
},
|
||||
/**
|
||||
* Get the settings of a group
|
||||
*
|
||||
* @param {Number} id The ID of the target group
|
||||
* @param {Function} callback
|
||||
*/
|
||||
getSettings: function(id, callback){
|
||||
//Perform the request over the API
|
||||
var apiURI = "groups/get_settings";
|
||||
var params = {
|
||||
id: id
|
||||
};
|
||||
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
|
||||
},
|
||||
|
||||
/**
|
||||
* Set (update) the settings of a group
|
||||
*
|
||||
* @param {Number} id The ID of the target group
|
||||
* @param {Object} settings The new settings to apply to
|
||||
* the group
|
||||
* @param {Function} callback
|
||||
*/
|
||||
setSettings: function(id, settings, callback){
|
||||
//Perform the request over the API
|
||||
var apiURI = "groups/set_settings";
|
||||
settings.id = id;
|
||||
ComunicWeb.common.api.makeAPIrequest(apiURI, settings, true, callback);
|
||||
},
|
||||
/**
|
||||
* Set (update) the settings of a group
|
||||
*
|
||||
* @param {Number} id The ID of the target group
|
||||
* @param {Object} settings The new settings to apply to
|
||||
* the group
|
||||
* @param {Function} callback
|
||||
*/
|
||||
setSettings: function(id, settings, callback){
|
||||
//Perform the request over the API
|
||||
var apiURI = "groups/set_settings";
|
||||
settings.id = id;
|
||||
ComunicWeb.common.api.makeAPIrequest(apiURI, settings, true, callback);
|
||||
},
|
||||
|
||||
/**
|
||||
* Upload a new group logo
|
||||
*
|
||||
* @param {Number} id The ID of the target group
|
||||
* @param {FormData} data The form data that contains the
|
||||
* new logo (parameter name : logo)
|
||||
* @param {Function} callback
|
||||
*/
|
||||
uploadLogo: function(id, data, callback){
|
||||
//Perform the request over the API
|
||||
var apiURI = "groups/upload_logo";
|
||||
data.append("id", id);
|
||||
ComunicWeb.common.api.makeFormDatarequest(apiURI, data, true, callback);
|
||||
},
|
||||
/**
|
||||
* Upload a new group logo
|
||||
*
|
||||
* @param {Number} id The ID of the target group
|
||||
* @param {FormData} data The form data that contains the
|
||||
* new logo (parameter name : logo)
|
||||
* @param {Function} callback
|
||||
*/
|
||||
uploadLogo: function(id, data, callback){
|
||||
//Perform the request over the API
|
||||
var apiURI = "groups/upload_logo";
|
||||
data.append("id", id);
|
||||
ComunicWeb.common.api.makeFormDatarequest(apiURI, data, true, callback);
|
||||
},
|
||||
|
||||
/**
|
||||
* Delete user logo
|
||||
*
|
||||
* @param {Number} id The ID of the target group
|
||||
* @param {Function} callback
|
||||
*/
|
||||
deleteLogo: function(id, callback){
|
||||
//Perform the request over the API
|
||||
var apiURI = "groups/delete_logo";
|
||||
var params = {
|
||||
id: id
|
||||
};
|
||||
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
|
||||
},
|
||||
/**
|
||||
* Delete user logo
|
||||
*
|
||||
* @param {Number} id The ID of the target group
|
||||
* @param {Function} callback
|
||||
*/
|
||||
deleteLogo: function(id, callback){
|
||||
//Perform the request over the API
|
||||
var apiURI = "groups/delete_logo";
|
||||
var params = {
|
||||
id: id
|
||||
};
|
||||
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
|
||||
},
|
||||
|
||||
/**
|
||||
* Respond to a group invitation
|
||||
*
|
||||
* @param {Number} id The ID of the target group
|
||||
* @param {Boolean} accept Specify whether the invitation was
|
||||
* accepted or not
|
||||
* @param {Function} callback
|
||||
*/
|
||||
respondInvitation: function(id, accept, callback) {
|
||||
//Perform the request over the API
|
||||
var apiURI = "groups/respond_invitation";
|
||||
var params = {
|
||||
id: id,
|
||||
accept: accept
|
||||
};
|
||||
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
|
||||
},
|
||||
/**
|
||||
* Respond to a group invitation
|
||||
*
|
||||
* @param {Number} id The ID of the target group
|
||||
* @param {Boolean} accept Specify whether the invitation was
|
||||
* accepted or not
|
||||
* @param {Function} callback
|
||||
*/
|
||||
respondInvitation: function(id, accept, callback) {
|
||||
//Perform the request over the API
|
||||
var apiURI = "groups/respond_invitation";
|
||||
var params = {
|
||||
id: id,
|
||||
accept: accept
|
||||
};
|
||||
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
|
||||
},
|
||||
|
||||
/**
|
||||
* Cancel a membership request
|
||||
*
|
||||
* @param {Number} id The ID of the target group
|
||||
* @param {Function} callback
|
||||
*/
|
||||
cancelRequest: function(id, callback){
|
||||
//Perform the request over the API
|
||||
var apiURI = "groups/cancel_request";
|
||||
var params = {
|
||||
id: id
|
||||
};
|
||||
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
|
||||
}
|
||||
|
||||
};
|
@ -20,6 +20,24 @@ ComunicWeb.pages.groups.sections.membershipBlock = {
|
||||
type: "div"
|
||||
});
|
||||
|
||||
/**
|
||||
* Refresh current component information
|
||||
*/
|
||||
refresh_component = function(){
|
||||
emptyElem(container);
|
||||
ComunicWeb.components.groups.interface.getInfo(info.id, function(result){
|
||||
|
||||
//Check for errors
|
||||
if(result.error)
|
||||
return notify("Could not refresh membership information!", "danger");
|
||||
|
||||
//Display the component again
|
||||
ComunicWeb.pages.groups.sections.membershipBlock.display(result, container);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
//Check if the user is an administrator / moderator / member
|
||||
if(info.membership == "administrator")
|
||||
return createElem2({
|
||||
@ -75,6 +93,10 @@ ComunicWeb.pages.groups.sections.membershipBlock = {
|
||||
*/
|
||||
var respondInvitation = function(accept){
|
||||
|
||||
//Hide the buttons
|
||||
acceptInvitation.style.visibility = "hidden";
|
||||
rejectInvitation.style.visibility = "hidden";
|
||||
|
||||
//Perform the request over the server
|
||||
ComunicWeb.components.groups.interface.respondInvitation(info.id, accept, function(result){
|
||||
|
||||
@ -83,18 +105,7 @@ ComunicWeb.pages.groups.sections.membershipBlock = {
|
||||
notify("An error occurred while trying to respond to the invitation!", "danger");
|
||||
|
||||
//Refresh the component
|
||||
emptyElem(container);
|
||||
ComunicWeb.components.groups.interface.getInfo(info.id, function(result){
|
||||
|
||||
//Check for errors
|
||||
if(result.error)
|
||||
return notify("Could not refresh membership information!", "danger");
|
||||
|
||||
//Display the component again
|
||||
ComunicWeb.pages.groups.sections.membershipBlock.display(result, container);
|
||||
|
||||
});
|
||||
|
||||
refresh_component();
|
||||
});
|
||||
|
||||
}
|
||||
@ -118,6 +129,40 @@ ComunicWeb.pages.groups.sections.membershipBlock = {
|
||||
});
|
||||
}
|
||||
|
||||
//Check if the user send a membership request
|
||||
if(info.membership == "pending"){
|
||||
|
||||
var requestedContainer = createElem2({
|
||||
appendTo: container,
|
||||
type: "span",
|
||||
innerHTML: "<i class='fa fa-clock-o'></i> Requested "
|
||||
});
|
||||
add_space(container);
|
||||
|
||||
//Add a link to cancel the request
|
||||
var cancelLink = createElem2({
|
||||
appendTo: requestedContainer,
|
||||
type: "span",
|
||||
class: "a",
|
||||
innerHTML: "Cancel"
|
||||
});
|
||||
|
||||
cancelLink.addEventListener("click", function(e){
|
||||
cancelLink.style.visibility = "hidden";
|
||||
|
||||
//Cancel the request
|
||||
ComunicWeb.components.groups.interface.cancelRequest(info.id, function(result){
|
||||
|
||||
if(result.error)
|
||||
notify("An error occurred while trying to cancel membership request!", "danger");
|
||||
|
||||
refresh_component();
|
||||
|
||||
});
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
};
|
Loading…
Reference in New Issue
Block a user