summaryrefslogtreecommitdiff
path: root/addons/website_livechat/static/src/js/website_livechat.editor.js
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/website_livechat/static/src/js/website_livechat.editor.js
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/website_livechat/static/src/js/website_livechat.editor.js')
-rw-r--r--addons/website_livechat/static/src/js/website_livechat.editor.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/addons/website_livechat/static/src/js/website_livechat.editor.js b/addons/website_livechat/static/src/js/website_livechat.editor.js
new file mode 100644
index 00000000..288f2af0
--- /dev/null
+++ b/addons/website_livechat/static/src/js/website_livechat.editor.js
@@ -0,0 +1,51 @@
+odoo.define('website_livechat.editor', function (require) {
+'use strict';
+
+var core = require('web.core');
+var wUtils = require('website.utils');
+var WebsiteNewMenu = require('website.newMenu');
+
+var _t = core._t;
+
+WebsiteNewMenu.include({
+ actions: _.extend({}, WebsiteNewMenu.prototype.actions || {}, {
+ new_channel: '_createNewChannel',
+ }),
+
+ //--------------------------------------------------------------------------
+ // Actions
+ //--------------------------------------------------------------------------
+
+ /**
+ * Asks the user information about a new channel to create, then creates it
+ * and redirects the user to this new channel.
+ *
+ * @private
+ * @returns {Promise} Unresolved if there is a redirection
+ */
+ _createNewChannel: function () {
+ var self = this;
+ return wUtils.prompt({
+ window_title: _t("New Channel"),
+ input: _t("Name"),
+ }).then(function (result) {
+ var name = result.val;
+ if (!name) {
+ return;
+ }
+ return self._rpc({
+ model: 'im_livechat.channel',
+ method: 'create_and_get_website_url',
+ args: [[]],
+ kwargs: {
+ name: name,
+ },
+ }).then(function (url) {
+ window.location.href = url;
+ return new Promise(function () {});
+ });
+ });
+ },
+});
+
+});