1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-06-29 08:27:55 +00:00
seahub/media/scripts/app/views/add-group-repo.js

68 lines
2.0 KiB
JavaScript
Raw Normal View History

2015-01-22 09:15:17 +00:00
define([
'jquery',
'simplemodal',
2015-01-22 09:15:17 +00:00
'underscore',
'backbone',
'common',
'app/collections/group-repos',
'text!' + app.config._tmplRoot + 'create-repo.html',
], function($, simplemodal, _, Backbone, Common, GroupRepos, CreateRepoTemplate) {
2015-01-22 09:15:17 +00:00
'use strict';
var AddGroupRepoView = Backbone.View.extend({
tagName: 'div',
template: _.template(CreateRepoTemplate),
2015-01-22 09:15:17 +00:00
events: {
"submit": "addGroupRepo"
},
initialize: function(repos) {
this.repos = repos;
2015-01-22 09:15:17 +00:00
},
render: function() {
this.$el.html(this.template({}));
this.$el.modal();
2015-01-22 09:15:17 +00:00
},
// Generate the attributes for a new GroupRepo item.
newAttributes: function() {
return {
2015-01-27 09:32:31 +00:00
name: $('input[name=repo_name]', this.$el).val().trim(),
desc: $('textarea[name=repo_desc]', this.$el).val().trim(),
permission: $('select[name=permission]', this.$el).val(),
// TODO: encrypted repo
// encrypted: $('#encrypt-switch', this.$el).attr('checked'),
// passwd1: $('input[name=passwd]', this.$el).val(),
// passwd2: $('input[name=passwd_again]', this.$el).val()
2015-01-22 09:15:17 +00:00
};
},
addGroupRepo: function(e) {
e.preventDefault();
Common.feedback('Loading...', 'info', Common.INFO_TIMEOUT);
this.repos.create(this.newAttributes(), {
2015-01-22 09:15:17 +00:00
wait: true,
2015-01-27 09:32:31 +00:00
prepend: true, // show newly created repo at first line
2015-01-22 09:15:17 +00:00
success: function() {
2015-01-27 09:32:31 +00:00
Common.feedback('Success', 'success', Common.SUCCESS_TIMEOUT);
2015-01-22 09:15:17 +00:00
},
error: function() {
Common.feedback('Error', 'error', Common.ERROR_TIMEOUT);
},
complete: function() {
Common.closeModal();
}
});
}
});
return AddGroupRepoView;
});