Built motion from commit 82438f7.|0.0.115
[motion.git] / server / models / user.js
index 14aae44..26be9e1 100644 (file)
@@ -16,7 +16,6 @@ module.exports = function(sequelize, DataTypes) {
         is: /^[A-Za-z0-9\.\_]+$/i
       },
       set: function(name) {
-        name = name.toLowerCase();
         this.setDataValue('name', name);
         this.setDataValue('defaultuser', name);
       }
@@ -144,6 +143,10 @@ module.exports = function(sequelize, DataTypes) {
       type: DataTypes.BOOLEAN,
       defaultValue: false
     },
+    openchannelPause: {
+      type: DataTypes.BOOLEAN,
+      defaultValue: false
+    },
     pauseType: {
       type: DataTypes.STRING,
       defaultValue: 'Default Pause'
@@ -167,6 +170,10 @@ module.exports = function(sequelize, DataTypes) {
       type: DataTypes.INTEGER,
       defaultValue: 0
     },
+    openchannelCapacity: {
+      type: DataTypes.INTEGER,
+      defaultValue: 0
+    },
     phoneBarAutoAnswer: {
       type: DataTypes.BOOLEAN,
       defaultValue: false
@@ -788,6 +795,9 @@ module.exports = function(sequelize, DataTypes) {
       User.belongsToMany(models.SmsRoom, {
         through: 'user_has_sms_rooms'
       });
+      User.belongsToMany(models.OpenchannelRoom, {
+        through: 'user_has_openchannel_rooms'
+      });
       User.belongsToMany(models.FaxRoom, {
         through: 'user_has_fax_rooms'
       });
@@ -814,7 +824,14 @@ module.exports = function(sequelize, DataTypes) {
         through: models.UserHasSmsQueuePermit,
         as: 'PSmsQueues'
       });
-
+      User.belongsToMany(models.OpenchannelQueue, {
+        through: models.UserHasOpenchannelQueue,
+        required: false
+      });
+      User.belongsToMany(models.OpenchannelQueue, {
+        through: models.UserHasOpenchannelQueuePermit,
+        as: 'POpenchannelQueues'
+      });
       User.belongsToMany(models.MailQueue, {
         through: models.UserHasMailQueuePermit,
         as: 'PMailQueues'
@@ -924,6 +941,7 @@ module.exports = function(sequelize, DataTypes) {
           'mailCapacity',
           'faxCapacity',
           'smsCapacity',
+          'openchannelCapacity',
           'online',
           'lastLoginAt',
           'phoneBarAutoAnswer',
@@ -944,6 +962,7 @@ module.exports = function(sequelize, DataTypes) {
           'faxPause',
           'chatPause',
           'smsPause',
+          'openchannelPause',
           'pauseType',
           'lastPauseAt',
           'status',
@@ -966,7 +985,7 @@ module.exports = function(sequelize, DataTypes) {
       });
       User.addScope('queues', {
         include: [models.VoiceQueue, models.ChatQueue, models.MailQueue,
-          models.FaxQueue, models.SmsQueue
+          models.FaxQueue, models.SmsQueue, models.OpenchannelQueue
         ]
       });
 
@@ -994,6 +1013,10 @@ module.exports = function(sequelize, DataTypes) {
           scope.where.smsPause = (query.smsPause === 'true') ?
             true : false;
           delete query.smsPause;
+        } else if (query.openchannelPause) {
+          scope.where.openchannelPause = (query.openchannelPause === 'true') ?
+            true : false;
+          delete query.openchannelPause;
         }
         return scope;
       });