Merge "Fix Create Image angularjs code"

This commit is contained in:
Jenkins 2016-02-09 04:12:01 +00:00 committed by Gerrit Code Review
commit 64001b67ae
3 changed files with 25 additions and 22 deletions

View File

@ -101,27 +101,29 @@ class CreateImageForm(forms.SelfHandlingForm):
widget=forms.Select(attrs={
'class': 'switchable',
'data-slug': 'source'}))
image_url_attrs = {
'class': 'switched',
'data-switch-on': 'source',
'data-source-url': _('Image Location'),
'ng-model': 'ctrl.copyFrom',
'ng-change': 'ctrl.selectImageFormat(ctrl.copyFrom)'
}
image_url = ImageURLField(label=_("Image Location"),
help_text=_("An external (HTTP/HTTPS) URL to "
"load the image from."),
widget=forms.TextInput(attrs={
'class': 'switched',
'data-switch-on': 'source',
'data-source-url': _('Image Location'),
'ng-model': 'copyFrom',
'ng-change':
'ctrl.selectImageFormat(copyFrom)'}),
widget=forms.TextInput(attrs=image_url_attrs),
required=False)
image_attrs = {
'class': 'switched',
'data-switch-on': 'source',
'data-source-file': _('Image File'),
'ng-model': 'ctrl.imageFile',
'ng-change': 'ctrl.selectImageFormat(ctrl.imageFile.name)',
'image-file-on-change': None
}
image_file = forms.FileField(label=_("Image File"),
help_text=_("A local image to upload."),
widget=forms.FileInput(attrs={
'class': 'switched',
'data-switch-on': 'source',
'data-source-file': _('Image File'),
'ng-model': 'imageFile',
'ng-change':
'ctrl.selectImageFormat(imageFile.name)',
'image-file-on-change': None}),
widget=forms.FileInput(attrs=image_attrs),
required=False)
kernel = forms.ChoiceField(
label=_('Kernel'),

View File

@ -21,8 +21,8 @@
function ImageFormController() {
var ctrl = this;
ctrl.copyFrom = angular.element('.image_url').val();
ctrl.diskFormat = angular.element('.disk_format').val();
ctrl.copyFrom = angular.element('#id_image_url').val();
ctrl.diskFormat = angular.element('#id_disk_format option:selected').val();
ctrl.selectImageFormat = function (path) {
if (!path) { return; }
var format = path.substr(path.lastIndexOf(".") + 1).toLowerCase().replace(/[^a-z0-9]+/gi, "");

View File

@ -19,7 +19,7 @@
describe('horizon.app.tech-debt.ImageFormController', function() {
var $document, controller;
var gzHtml = '<div id="id_disk_format"><input class="disk_format" value="gz"></input></div>';
var gzHtml = '<select id="id_disk_format"><option value="gz"></option></select>';
beforeEach(module('horizon.app.tech-debt'));
beforeEach(inject(function($injector) {
@ -32,19 +32,20 @@
}
it('should set copyFrom', function() {
$document.find('body').append('<input class="image_url" value="ImageUrl"></input>');
$document.find('body').append('<input id="id_image_url" value="ImageUrl"></input>');
var ctrl = createController();
expect(ctrl.copyFrom).toEqual('ImageUrl');
$document.find('.image_url').remove();
$document.find('#id_image_url').remove();
});
it('should set diskFormat', function() {
$document.find('body').append('<input class="disk_format" value="DiskFormat"></input>');
$document.find('body').append('<select id="id_disk_format"><option selected>' +
'DiskFormat</option></select>');
var ctrl = createController();
expect(ctrl.diskFormat).toEqual('DiskFormat');
$document.find('.disk_format').remove();
$document.find('#id_disk_format').remove();
});
it('should set image format to detected format', function() {