set: function(password) {
this.salt = this.makeSalt();
this.setDataValue('password', this.encryptPassword(password));
- this.setDataValue('md5secret', this.md5Password(this.name +
- ':asterisk:' + password));
+ this.setDataValue('md5secret', this.md5Password(this.name + ':asterisk:' + password));
}
},
provider: {
this.setDataValue('voicePause', voicePause);
if (voicePause) {
this.setDataValue('queueStatus', 'paused');
- this.setDataValue('queueStatusAt', moment().format(
- "YYYY-MM-DD HH:mm:ss"));
+ this.setDataValue('queueStatusAt', moment().format("YYYY-MM-DD HH:mm:ss"));
} else {
this.setDataValue('queueStatus', 'complete');
- this.setDataValue('queueStatusAt', moment().format(
- "YYYY-MM-DD HH:mm:ss"));
+ this.setDataValue('queueStatusAt', moment().format("YYYY-MM-DD HH:mm:ss"));
}
}
},
type: DataTypes.BOOLEAN,
defaultValue: false
},
+ openchannelPause: {
+ type: DataTypes.BOOLEAN,
+ defaultValue: false
+ },
pauseType: {
type: DataTypes.STRING,
defaultValue: 'Default Pause'
type: DataTypes.INTEGER,
defaultValue: 0
},
+ openchannelCapacity: {
+ type: DataTypes.INTEGER,
+ defaultValue: 0
+ },
phoneBarAutoAnswer: {
type: DataTypes.BOOLEAN,
defaultValue: false
},
phoneBarExpires: {
type: DataTypes.INTEGER(5),
- defaultValue: 3600
+ defaultValue: 120
},
phoneBarNameServer: {
type: DataTypes.STRING,
type: DataTypes.STRING,
allowNull: true,
},
+ host: {
+ type: DataTypes.STRING,
+ allowNull: true,
+ defaultValue: 'dynamic'
+ },
ipaddr: { //REALTIME ASTERISK
type: DataTypes.STRING,
allowNull: true,
type: DataTypes.STRING,
allowNull: true
},
- allow: {
+ disallow: {
type: DataTypes.STRING,
allowNull: true,
- defaultValue: 'alaw;ulaw;gsm'
+ defaultValue: 'all'
},
- disallow: {
+ allow: {
type: DataTypes.STRING,
allowNull: true,
- defaultValue: null
+ defaultValue: 'alaw;ulaw;gsm'
},
autoframing: {
type: DataTypes.ENUM('yes', 'no'),
type: DataTypes.STRING,
allowNull: true,
},
- host: {
- type: DataTypes.STRING,
- allowNull: true,
- defaultValue: 'dynamic'
- },
qualify: {
type: DataTypes.ENUM('yes', 'no'),
allowNull: true,
call_limit: {
type: DataTypes.INTEGER(11),
allowNull: true,
- defaultValue: null
+ defaultValue: 10
},
registertrying: { //Send a 100 Trying when the device registers.
type: DataTypes.ENUM('yes', 'no'),
allowNull: true,
defaultValue: 'no'
},
+ loginInPause: {
+ type: DataTypes.BOOLEAN,
+ defaultValue: false
+ },
+ resetPasswordToken: {
+ type: DataTypes.STRING
+ },
+ resetPasswordExpires: {
+ type: DataTypes.DATE
+ },
+ phoneBarEnableRecording: {
+ type: DataTypes.BOOLEAN,
+ defaultValue: false
+ }
}, {
tableName: 'users',
instanceMethods: {
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'
});
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'
'fullcontact',
'port',
'lastms',
- 'description'
+ 'description',
]
});
User.addScope('agent', {
'mailCapacity',
'faxCapacity',
'smsCapacity',
+ 'openchannelCapacity',
'online',
'lastLoginAt',
'phoneBarAutoAnswer',
'phoneBarExpires',
'phoneBarRemoteControl',
'phoneBarRemoteControlPort',
+ 'phoneBarEnableRecording',
'chanspy',
'voicePause',
'mailPause',
'faxPause',
'chatPause',
'smsPause',
+ 'openchannelPause',
'pauseType',
'lastPauseAt',
'status',
'fullcontact',
'port',
'lastms',
- 'description'
+ 'description',
+ 'loginInPause'
]
});
User.addScope('telephone', {
});
User.addScope('queues', {
include: [models.VoiceQueue, models.ChatQueue, models.MailQueue,
- models.FaxQueue, models.SmsQueue
+ models.FaxQueue, models.SmsQueue, models.OpenchannelQueue
]
});
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;
});