| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- const Mn = require('backbone.marionette');
- const App = require('../../main');
- const Tokens = require('../../tokens');
- const template = require('./item.ejs');
- module.exports = Mn.View.extend({
- template: template,
- tagName: 'tr',
- ui: {
- edit: 'a.edit-user',
- permissions: 'a.edit-permissions',
- password: 'a.set-password',
- login: 'a.login',
- delete: 'a.delete-user'
- },
- events: {
- 'click @ui.edit': function (e) {
- e.preventDefault();
- App.Controller.showUserForm(this.model);
- },
- 'click @ui.permissions': function (e) {
- e.preventDefault();
- App.Controller.showUserPermissions(this.model);
- },
- 'click @ui.password': function (e) {
- e.preventDefault();
- App.Controller.showUserPasswordForm(this.model);
- },
- 'click @ui.delete': function (e) {
- e.preventDefault();
- App.Controller.showUserDeleteConfirm(this.model);
- },
- 'click @ui.login': function (e) {
- e.preventDefault();
- if (App.Cache.User.get('id') !== this.model.get('id')) {
- this.ui.login.prop('disabled', true).addClass('btn-disabled');
- App.Api.Users.loginAs(this.model.get('id'))
- .then(res => {
- Tokens.addToken(res.token, res.user.nickname || res.user.name);
- window.location = '/';
- window.location.reload();
- })
- .catch(err => {
- alert(err.message);
- this.ui.login.prop('disabled', false).removeClass('btn-disabled');
- });
- }
- }
- },
- templateContext: {
- isSelf: function () {
- return App.Cache.User.get('id') === this.id;
- }
- },
- initialize: function () {
- this.listenTo(this.model, 'change', this.render);
- }
- });
|