Browse Source

UI-588: Added SIP URI as a device

4.3
Maxime Roux 11 years ago
parent
commit
d19c6a12f9
6 changed files with 122 additions and 8 deletions
  1. +11
    -1
      i18n/en-US.json
  2. +11
    -1
      i18n/fr-FR.json
  3. +11
    -1
      submodules/devices/devices.js
  4. +11
    -5
      submodules/myOffice/myOffice.js
  5. +1
    -0
      views/devices-layout.html
  6. +77
    -0
      views/devices-sip_uri.html

+ 11
- 1
i18n/en-US.json View File

@ -197,6 +197,15 @@
"new": "New SIP Device",
"deviceName": "Device Name"
},
"sip_uri": {
"addTitle": "Adding a SIP URI",
"deviceName": "Name",
"editTitle": "Editing SIP URI: {{name}}",
"new": "New SIP URI",
"uri": "SIP URI",
"uriPlaceholder": "sip:device@my.company.com",
"hideContactList": "Hide from Contact List"
},
"landline": {
"addTitle": "Adding a Landline",
"deviceName": "Device Name",
@ -282,7 +291,8 @@
"softphone": "Soft Phone",
"landline": "Landline",
"fax": "Fax",
"ata": "ATA"
"ata": "ATA",
"sip_uri": "SIP URI"
},
"unassignedDevice": "-"
},


+ 11
- 1
i18n/fr-FR.json View File

@ -175,6 +175,15 @@
"new": "Nouveau téléphone SIP",
"deviceName": "Nom du téléphone"
},
"sip_uri": {
"addTitle": "Ajouter une URI SIP",
"deviceName": "Nom",
"editTitle": "Modification d'une URI SIP: {{name}}",
"new": "Nouvelle URI SIP",
"uri": "URI SIP",
"uriPlaceholder": "sip:device@my.company.com",
"hideContactList": "Cacher de la liste de Contacts"
},
"landline": {
"addTitle": "Ajout d'une ligne fixe",
"deviceName": "Nom",
@ -260,7 +269,8 @@
"softphone": "Softphone",
"landline": "Ligne fixe",
"fax": "Fax",
"ata": "ATA"
"ata": "ATA",
"sip_uri": "URI SIP"
},
"unassignedDevice": "-"
},


+ 11
- 1
submodules/devices/devices.js View File

@ -374,7 +374,7 @@ define(function(require){
devicesMergeData: function(originalData, template) {
var self = this,
hasCodecs = $.inArray(originalData.device_type, ['sip_device', 'landline', 'fax', 'ata', 'softphone', 'smartphone', 'mobile']) > -1,
hasCodecs = $.inArray(originalData.device_type, ['sip_device', 'landline', 'fax', 'ata', 'softphone', 'smartphone', 'mobile', 'sip_uri']) > -1,
hasSIP = $.inArray(originalData.device_type, ['fax', 'ata', 'softphone', 'smartphone', 'mobile']) > -1,
hasCallForward = $.inArray(originalData.device_type, ['landline', 'cellphone', 'smartphone']) > -1,
hasRTP = $.inArray(originalData.device_type, ['sip_device', 'mobile', 'softphone']) > -1,
@ -578,6 +578,15 @@ define(function(require){
realm: monster.apps['auth'].currentAccount.realm,
username: 'user_' + monster.util.randomString(10)
}
},
sip_uri: {
sip: {
password: monster.util.randomString(12),
username: 'user_' + monster.util.randomString(10),
expire_seconds: 360,
invite_format: 'route',
method: 'password'
}
}
};
@ -664,6 +673,7 @@ define(function(require){
mobile: 'icon-telicon-sprint-phone',
softphone: 'icon-telicon-soft-phone',
sip_device: 'icon-telicon-voip-phone',
sip_uri: 'icon-telicon-voip-phone',
fax: 'icon-telicon-fax',
ata: 'icon-telicon-fax'
};


+ 11
- 5
submodules/myOffice/myOffice.js View File

@ -78,6 +78,7 @@ define(function(require){
"#698BF7", // Purple ~ Dark Blue
"#009AD6", // Blue
"#6CC5E9", // Light Blue
"#719B11", // Dark Green
"#BDE55F", // Light Green
"#F1E87C", // Pale Yellow
"#EF8F25", // Orange
@ -282,7 +283,7 @@ define(function(require){
"sip_device": {
label: self.i18n.active().devices.types.sip_device,
count: 0,
color: self.chartColors[4]
color: self.chartColors[5]
},
"cellphone": {
label: self.i18n.active().devices.types.cellphone,
@ -307,17 +308,22 @@ define(function(require){
"landline": {
label: self.i18n.active().devices.types.landline,
count: 0,
color: self.chartColors[5]
color: self.chartColors[6]
},
"fax": {
label: self.i18n.active().devices.types.fax,
count: 0,
color: self.chartColors[6]
color: self.chartColors[7]
},
"ata": {
label: self.i18n.active().devices.types.ata,
count: 0,
color: self.chartColors[7]
color: self.chartColors[8]
},
"sip_uri": {
label: self.i18n.active().devices.types.sip_uri,
count: 0,
color: self.chartColors[4]
},
totalCount: 0
},
@ -325,7 +331,7 @@ define(function(require){
"spare": {
label: self.i18n.active().myOffice.numberChartLegend.spare,
count: 0,
color: self.chartColors[7]
color: self.chartColors[8]
},
"assigned": {
label: self.i18n.active().myOffice.numberChartLegend.assigned,


+ 1
- 0
views/devices-layout.html View File

@ -15,6 +15,7 @@
<li><a class="create-device" data-type="landline"><i class="icon-telicon-home-phone"></i>{{ i18n.devices.types.landline }}</a></li>
<li><a class="create-device" data-type="fax"><i class="icon-telicon-fax"></i>{{ i18n.devices.types.fax }}</a></li>
<li><a class="create-device" data-type="ata"><i class="icon-telicon-fax"></i>{{ i18n.devices.types.ata }}</a></li>
<li><a class="create-device" data-type="sip_uri"><i class="icon-telicon-voip-phone"></i>{{ i18n.devices.types.sip_uri }}</a></li>
</ul>
</div>


+ 77
- 0
views/devices-sip_uri.html View File

@ -0,0 +1,77 @@
<div class="edit-device" data-id="{{id}}">
<div class="title-bar clearfix">
<div class="device-title pull-left">
<div class="device-icon">
<i class="icon-telicon-voip-phone"></i>
</div>
{{#if id}}
<div class="device-model">{{name}}</div>
{{else}}
<div class="device-model">{{i18n.devices.sip_uri.new}}</div>
{{/if}}
</div>
<ul class="nav nav-pills pull-right">
<li class="tabs-main-selector main-section active">
<a class="tabs-selector change-section" data-section="basic" href="javascript:void(0)">{{ i18n.devices.popupSettings.basicTitle }}</a>
</li>
<li class="tabs-main-selector main-section dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="javascript:void(0)">{{ i18n.devices.popupSettings.advancedTitle }}
<b class="caret"></b>
</a>
<ul class="dropdown-menu pull-right">
<li><a class="tabs-selector change-section" data-section="options" href="javascript:void(0)"><i class="icon-ambulance"></i>{{ i18n.devices.popupSettings.options.menuTitle }}</a></li>
</ul>
</li>
</ul>
</div>
<div class="content">
<form id="form_device" class="form-horizontal">
<div class="tabs-section active" data-section="basic">
<div class="control-group">
<label class="control-label" for="name">{{ i18n.devices.sip_uri.deviceName }}</label>
<div class="controls">
<input type="text" id="name" name="name" value="{{name}}">
</div>
</div>
<div class="control-group">
<label class="control-label" for="number">{{ i18n.devices.sip_uri.uri }}</label>
<div class="controls">
<input type="text" name="sip.route" placeholder="{{ i18n.devices.sip_uri.uriPlaceholder }}" value="{{sip.route}}">
</div>
</div>
</div>
<div class="tabs-section" data-section="options">
<div class="control-group">
<label class="control-label" for="hide_contact_list"></label>
<div class="controls">
<label>
<input id="hide_contact_list" type="checkbox" name="contact_list.exclude"{{#if contact_list.exclude}} checked="checked"{{/if}}></input>
{{ i18n.devices.sip_uri.hideContactList }}
</label>
</div>
</div>
</div>
</form>
</div>
<div class="actions clearfix">
{{#if id}}
<a id="delete_device" class="monster-link"><i class="icon-trash icon-red"></i>{{ i18n.devices.deleteDevice }}</a>
{{/if}}
<div class="pull-right">
<a class="cancel-link monster-link blue" href="javascript:void(0);">{{ i18n.cancel }}</a>
<button type="button" class="btn btn-success save">
{{#if id}}
{{ i18n.saveChanges }}
{{else}}
{{ i18n.devices.createDevice }}
{{/if}}
</button>
</div>
</div>
</div>

Loading…
Cancel
Save