Commit 0d6e29f0 authored by JC Brand's avatar JC Brand

Add config option ``allow_contact_requests`` to toggle user adding

parent 6d026f01
...@@ -8,7 +8,8 @@ Changelog ...@@ -8,7 +8,8 @@ Changelog
* Hungarian translation [w3host] * Hungarian translation [w3host]
* Russian translation [bkocherov] * Russian translation [bkocherov]
* Update CSS to avoid clash with bootstrap [seocam] * Update CSS to avoid clash with bootstrap [seocam]
* Add config option ``allow_muc`` to enable/disable multi-user chat (MUC) [jcbrand] * Add config option ``allow_muc`` to toggle multi-user chat (MUC) [jcbrand]
* Add config option ``allow_contact_requests`` to toggle user adding [jcbrand]
0.6.4 (2013-09-15) 0.6.4 (2013-09-15)
------------------ ------------------
......
...@@ -41,8 +41,11 @@ ...@@ -41,8 +41,11 @@
}(this, function ($, _, console) { }(this, function ($, _, console) {
var converse = {}; var converse = {};
converse.initialize = function (settings, callback) { converse.initialize = function (settings, callback) {
// Default values
var converse = this; var converse = this;
// Default values
this.allow_contact_requests = true;
this.allow_muc = true;
this.allow_otr = true;
this.animate = true; this.animate = true;
this.auto_list_rooms = false; this.auto_list_rooms = false;
this.auto_subscribe = false; this.auto_subscribe = false;
...@@ -50,17 +53,19 @@ ...@@ -50,17 +53,19 @@
this.debug = false; this.debug = false;
this.hide_muc_server = false; this.hide_muc_server = false;
this.i18n = locales.en; this.i18n = locales.en;
this.allow_muc = true;
this.prebind = false; this.prebind = false;
this.show_controlbox_by_default = false; this.show_controlbox_by_default = false;
this.xhr_user_search = false;
this.xhr_custom_status = false;
this.testing = false; // Exposes sensitive data for testing. Never set to true in production systems! this.testing = false; // Exposes sensitive data for testing. Never set to true in production systems!
this.xhr_custom_status = false;
this.xhr_user_search = false;
this.callback = callback || function () {}; this.callback = callback || function () {};
// Allow only the whitelisted settings attributes to be overwritten, // Allow only the whitelisted settings attributes to be overwritten,
// nothing else. // nothing else.
whitelist = [ whitelist = [
'allow_contact_requests',
'allow_muc',
'animate', 'animate',
'auto_list_rooms', 'auto_list_rooms',
'auto_subscribe', 'auto_subscribe',
...@@ -687,7 +692,10 @@ ...@@ -687,7 +692,10 @@
'<option value="offline">'+__('Offline')+'</option>'+ '<option value="offline">'+__('Offline')+'</option>'+
'</select>'+ '</select>'+
'</span>'+ '</span>'+
'</form>'+ '</form>'
),
add_contact_dropdown_template: _.template(
'<dl class="add-converse-contact dropdown">' + '<dl class="add-converse-contact dropdown">' +
'<dt id="xmpp-contact-search" class="fancy-dropdown">' + '<dt id="xmpp-contact-search" class="fancy-dropdown">' +
'<a class="toggle-xmpp-contact-form" href="#"'+ '<a class="toggle-xmpp-contact-form" href="#"'+
...@@ -698,7 +706,7 @@ ...@@ -698,7 +706,7 @@
'</dl>' '</dl>'
), ),
add_contact_template: _.template( add_contact_form_template: _.template(
'<li>'+ '<li>'+
'<form class="add-xmpp-contact">' + '<form class="add-xmpp-contact">' +
'<input type="text" name="identifier" class="username" placeholder="'+__('Contact username')+'"/>' + '<input type="text" name="identifier" class="username" placeholder="'+__('Contact username')+'"/>' +
...@@ -723,13 +731,20 @@ ...@@ -723,13 +731,20 @@
render: function () { render: function () {
var markup; var markup;
var widgets = this.template();
this.$tabs.append(this.tab_template()); this.$tabs.append(this.tab_template());
if (converse.xhr_user_search) { if (converse.xhr_user_search) {
markup = this.search_contact_template(); markup = this.search_contact_template();
} else { } else {
markup = this.add_contact_template(); markup = this.add_contact_form_template();
}
if (converse.allow_contact_requests) {
widgets += this.add_contact_dropdown_template();
} }
this.$el.html(this.template()); this.$el.html(widgets);
this.$el.find('.search-xmpp ul').append(markup); this.$el.find('.search-xmpp ul').append(markup);
this.$el.append(converse.rosterview.$el); this.$el.append(converse.rosterview.$el);
return this; return this;
......
...@@ -192,7 +192,6 @@ ...@@ -192,7 +192,6 @@
<script> <script>
require(['converse'], function (converse) { require(['converse'], function (converse) {
converse.initialize({ converse.initialize({
allow_muc: true,
auto_list_rooms: false, auto_list_rooms: false,
auto_subscribe: false, auto_subscribe: false,
bosh_service_url: 'https://bind.opkode.im', // Please use this connection manager only for testing purposes bosh_service_url: 'https://bind.opkode.im', // Please use this connection manager only for testing purposes
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment