import computed from 'ember-addons/ember-computed-decorators';
import { popupAjaxError } from 'discourse/lib/ajax-error';

export default Ember.Controller.extend({
  users: null,
  groupId: null,
  saving: false,

  @computed('saving', 'users', 'groupId')
  buttonDisabled(saving, users, groupId) {
    return saving || !groupId || !users || !users.length;
  },

  actions: {
    addToGroup() {
      if (this.get('saving')) { return; }

      const users = this.get('users').split("\n")
                                      .uniq()
                                      .reject(x => x.length === 0);

      this.set('saving', true);
      Discourse.ajax('/admin/groups/bulk', {
        data: { users, group_id: this.get('groupId') },
        method: 'PUT'
      }).then(() => {
        this.transitionToRoute('adminGroups.bulkComplete');
      }).catch(popupAjaxError).finally(() => {
        this.set('saving', false);
      });

    }
  }
});
