mirror of
https://github.com/pierre42100/ComunicWeb
synced 2024-11-22 04:09:20 +00:00
Can create conversations for groups
This commit is contained in:
parent
07fc609694
commit
ac2ba87f18
@ -119,6 +119,21 @@ const GroupsInterface = {
|
||||
ComunicWeb.common.api.makeAPIrequest(apiURI, settings, true, callback);
|
||||
},
|
||||
|
||||
/**
|
||||
* Create a new group conversation
|
||||
*
|
||||
* @param {Number} groupID The ID of the target group
|
||||
* @param {String} convName The name of the new conversation
|
||||
* @param {String} minMembershipLevel Minimal membership level
|
||||
*/
|
||||
createGroupConversation: async function(groupID, convName, minMembershipLevel) {
|
||||
await api("groups/create_conversation", {
|
||||
group_id: groupID,
|
||||
min_membership_level: minMembershipLevel,
|
||||
name: convName
|
||||
}, true)
|
||||
},
|
||||
|
||||
/**
|
||||
* Check the availability of a virtual directory for a group
|
||||
*
|
||||
|
@ -47,7 +47,7 @@ const GroupSettingsPage = {
|
||||
|
||||
//Create form container
|
||||
var formContainer = createElem2({
|
||||
appendTo: settingsBox,
|
||||
//TODO : remove comment appendTo: settingsBox,
|
||||
type: "div",
|
||||
class: "group-settings-form"
|
||||
});
|
||||
@ -339,6 +339,45 @@ const GroupSettingsPage = {
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* Group conversations
|
||||
*/
|
||||
const conversationsSettingsTPL = await Page.loadHTMLTemplate("pages/groups/sections/GroupConversationsSettings.html");
|
||||
const conversationsSettingsTarget = document.createElement("div")
|
||||
conversationsSettingsTarget.innerHTML = conversationsSettingsTPL
|
||||
settingsPage.appendChild(conversationsSettingsTarget)
|
||||
|
||||
Vue.createApp({
|
||||
data: () => {
|
||||
return {
|
||||
newConvName: "",
|
||||
newConvVisibility: "member"
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
createNewConv: async function() {
|
||||
try {
|
||||
const convName = this.newConvName;
|
||||
|
||||
if (convName.length == 0)
|
||||
return notify(tr("Please give a name to new group conversations!"), "danger")
|
||||
|
||||
await GroupsInterface.createGroupConversation(settings.id, convName, this.newConvVisibility)
|
||||
|
||||
notify("The conversation was successfully created!", "success")
|
||||
|
||||
Page.refresh_current_page();
|
||||
}
|
||||
|
||||
catch(e) {
|
||||
console.error(e)
|
||||
notify(tr("Failed to create group conversation!"), "danger")
|
||||
}
|
||||
}
|
||||
}
|
||||
}).mount(conversationsSettingsTarget);
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,37 @@
|
||||
<!-- Group conversations settings -->
|
||||
<div class="box box-primary">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">Group conversations</h3>
|
||||
</div>
|
||||
|
||||
<!-- /.box-body -->
|
||||
|
||||
<!-- Create a new conversation-->
|
||||
<div class="box-footer">
|
||||
<div class="row">
|
||||
<div class="col-xs-5">
|
||||
<div class="form-group">
|
||||
<label for="newConvName">tr("Name")</label>
|
||||
<input type="text" class="form-control" id="newConvName" placeholder="tr("Conversation name")" v-model="newConvName">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-4">
|
||||
<div class="form-group">
|
||||
<label>tr("Visibility")</label>
|
||||
<select class="form-control" v-model="newConvVisibility">
|
||||
<option value="member">tr("Members")</option>
|
||||
<option value="moderator">tr("Moderators")</option>
|
||||
<option value="administrator">tr("Administrators")</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-2">
|
||||
<label style="display: block;"> </label>
|
||||
<button type="button" class="btn btn-primary" @click="createNewConv">tr("Create")</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
Loading…
Reference in New Issue
Block a user