realm-icon: Add realm icon feature.

- Add realm icon fields to realm model.
- Add migration for new realm model's field.
- Add views for icon uploading and deleting.
- Add routes for realm icons views.
- Add JS widget for realm icon upload setting.
- Add realm icon upload to administration
  organization setting.
- Add tests for realm icons.

Fixes #3660.
This commit is contained in:
K.Kanakhin
2017-02-21 08:41:20 +06:00
committed by Tim Abbott
parent 20b655016d
commit 257bb40698
20 changed files with 489 additions and 9 deletions

View File

@@ -323,6 +323,8 @@ function _setup_page() {
realm_default_language: page_params.realm_default_language,
realm_waiting_period_threshold: page_params.realm_waiting_period_threshold,
is_admin: page_params.is_admin,
realm_icon_source: page_params.realm_icon_source,
realm_icon: page_params.realm_icon,
};
var admin_tab = templates.render('admin_tab', options);
@@ -1050,6 +1052,31 @@ function _setup_page() {
});
});
function upload_realm_icon(file_input) {
var form_data = new FormData();
form_data.append('csrfmiddlewaretoken', csrf_token);
jQuery.each(file_input[0].files, function (i, file) {
form_data.append('file-'+i, file);
});
var spinner = $("#upload_icon_spinner").expectOne();
loading.make_indicator(spinner, {text: i18n.t("Uploading icon.")});
channel.put({
url: '/json/realm/icon',
data: form_data,
cache: false,
processData: false,
contentType: false,
success: function () {
loading.destroy_indicator($("#upload_icon_spinner"));
},
});
}
realm_icon.build_realm_icon_widget(upload_realm_icon);
}
exports.launch_page = function (tab) {