Browse Source

UI-3127: Device assignment in smart PBX (#72)

* Add assign to template

* Get users for the template

* Add translations

* Load in assignTo template

* Handle no owner case

* Fix translation reference

* Adhere to linter

* Clean up code

* Fix code style

* Update translation to be in devices.popupSettings

* Get user list in devicesGetEditData

* Fix templating

* Add default value to dropdown

* Remove error from listUsers call

* Rename usersData to users

* Ensure deviceData.users is not save to device

* Move users field to extra

* Move delete statements

* Move translations to popupsettings
4.3
Nathan Cairns 7 years ago
committed by Joris Tirado
parent
commit
de12b86213
3 changed files with 35 additions and 2 deletions
  1. +2
    -0
      i18n/en-US.json
  2. +22
    -2
      submodules/devices/devices.js
  3. +11
    -0
      submodules/devices/views/assign-to.html

+ 2
- 0
i18n/en-US.json View File

@ -160,10 +160,12 @@
"deleteDevice": "Delete Device",
"deletedDevice": "You successfully deleted the following device \"{{deviceName}}\".",
"popupSettings": {
"assignTo": "Assign To",
"advancedTitle": "Advanced",
"basicTitle": "Basic Settings",
"basicSectionTitle": "Basic Settings",
"dragAndDrop": "To select a codec, drag and drop from the available codecs box to selected codecs box",
"noOwner": "- No Owner -",
"options": {
"menuTitle": "Options"
},


+ 22
- 2
submodules/devices/devices.js View File

@ -335,7 +335,14 @@ define(function(require) {
}),
submodule: 'devices'
})),
deviceForm = templateDevice.find('#form_device');
deviceForm = templateDevice.find('#form_device'),
assignTemplate = $(self.getTemplate({
name: 'assign-to',
data: data,
submodule: 'devices'
}));
deviceForm.find('.tabs-section[data-section="basic"]').append(assignTemplate);
if (data.extra.hasOwnProperty('provision') && data.extra.provision.hasOwnProperty('keys')) {
_.each(data.extra.provision.keys, function(value) {
@ -777,6 +784,11 @@ define(function(require) {
}
}
//if there is no owner, do not add one.
if (mergedData.owner_id && mergedData.owner_id === 'none') {
delete mergedData.owner_id;
}
/* Migration clean-up */
delete mergedData.media.secure_rtp;
delete mergedData.extra;
@ -805,7 +817,8 @@ define(function(require) {
availableCodecs: {
audio: [],
video: []
}
},
users: data.users
},
call_restriction: {},
device_type: 'sip_device',
@ -1130,6 +1143,13 @@ define(function(require) {
callback(null, data.data);
}
});
},
users: function(callback) {
self.devicesListUsers({
success: function(users, status) {
callback(null, users);
}
});
}
}, function(error, results) {
var formattedData = self.devicesFormatData(results, dataDevice);


+ 11
- 0
submodules/devices/views/assign-to.html View File

@ -0,0 +1,11 @@
<div class="control-group">
<label class="control-label" for="owner_id">{{ i18n.devices.popupSettings.assignTo }}</label>
<div class="controls">
<select name="owner_id">
<option value="none">{{ i18n.devices.popupSettings.noOwner }}</option>
{{#each extra.users}}
<option {{#compare id '===' @root.owner_id}}selected{{/compare}} value="{{id}}">{{first_name}} {{last_name}}</option>
{{/each}}
</select>
</div>
</div>

Loading…
Cancel
Save