old_contents: const _ = require('underscore');
  const Backbone = require('backbone');
  const UserModel = require('dashboard/data/user-model');
  const checkAndBuildOpts = require('builder/helpers/required-opts');
  
  const REQUIRED_OPTS = [
    'organization',
    'userModel'
  ];
  
  // helper to manage organization users
  module.exports = Backbone.Collection.extend({
    sync: require('dashboard/data/backbone/sync-abort'),
  
    model: UserModel,
  
    _DEFAULT_EXCLUDE_CURRENT_USER: true,
  
    url: function () {
      return `${this._userModel.get('base_url')}/api/v1/organization/${this._organization.id}/users`;
    },
  
    initialize: function (models, options) {
      checkAndBuildOpts(options, REQUIRED_OPTS, this);
  
      this.currentUserId = options.currentUserId;
      this._excludeCurrentUser = this._DEFAULT_EXCLUDE_CURRENT_USER;
    },
  
    comparator: function (mdl) {
      return mdl.get('username');
    },
  
    excludeCurrentUser: function (exclude) {
      exclude = !!exclude;
      this._excludeCurrentUser = exclude;
      if (exclude && !this.currentUserId) {
        console.error('set excludeCurrentUser to true, but there is no current user id set to exclude!');
      }
    },
  
    restoreExcludeCurrentUser: function () {
      this.excludeCurrentUser(this._DEFAULT_EXCLUDE_CURRENT_USER);
    },
  
    parse: function (r) {
      this.total_entries = r.total_entries;
      this.total_user_entries = r.total_user_entries;
  
      return _.reduce(r.users, function (memo, user) {
        if (this._excludeCurrentUser && user.id === this.currentUserId) {
          this.total_user_entries--;
          this.total_entries--;
        } else {
          memo.push(user);
        }
        return memo;
      }, [], this);
    },
  
    // @return {Number, undefined} may be undefined until a first fetch is done
    totalCount: function () {
      return this.total_user_entries;
    }
  });
  
new_contents: const _ = require('underscore');
  const Backbone = require('backbone');
  const UserModel = require('dashboard/data/user-model');
  const checkAndBuildOpts = require('builder/helpers/required-opts');
  
  const REQUIRED_OPTS = [
    'organization'
  ];
  
  // helper to manage organization users
  module.exports = Backbone.Collection.extend({
    model: UserModel,
  
    _DEFAULT_EXCLUDE_CURRENT_USER: true,
  
    url: function () {
      return '/api/v1/organization/' + this.organization.id + '/users';
    },
  
    initialize: function (models, options) {
      checkAndBuildOpts(options, REQUIRED_OPTS, this);
  
      this.organization = this._organization;
      this.currentUserId = options.currentUserId;
      this._excludeCurrentUser = this._DEFAULT_EXCLUDE_CURRENT_USER;
    },
  
    comparator: function (model) {
      return model.get('username');
    },
  
    excludeCurrentUser: function (exclude) {
      exclude = !!exclude;
      this._excludeCurrentUser = exclude;
      if (exclude && !this.currentUserId) {
        console.error('set excludeCurrentUser to true, but there is no current user id set to exclude!');
      }
    },
  
    restoreExcludeCurrentUser: function () {
      this.excludeCurrentUser(this._DEFAULT_EXCLUDE_CURRENT_USER);
    },
  
    parse: function (r) {
      this.total_entries = r.total_entries;
      this.total_user_entries = r.total_user_entries;
  
      return _.reduce(r.users, function (memo, user) {
        if (this._excludeCurrentUser && user.id === this.currentUserId) {
          this.total_user_entries--;
          this.total_entries--;
        } else {
          memo.push(user);
        }
        return memo;
      }, [], this);
    },
  
    // @return {Number, undefined} may be undefined until a first fetch is done
    totalCount: function () {
      return this.total_user_entries;
    }
  });
  
subject: Fix url in organization-users-collection