[PATCH conductor] Use names correctly on template upload

Tomas Sedovic tsedovic at redhat.com
Mon Dec 12 13:16:58 UTC 2011


On 12/09/2011 01:41 PM, tsedovic at redhat.com wrote:
> From: Tomas Sedovic<tomas at sedovic.cz>
>
> https://bugzilla.redhat.com/show_bug.cgi?id=761218
>
> When a template name wasn't specified in the UI but was in the uploaded
> template, we still weren't showing it on the Overview screen.
> ---
>   src/app/controllers/images_controller.rb |   24 +++++++-----------------
>   src/app/models/template_xml.rb           |    5 +++--
>   2 files changed, 10 insertions(+), 19 deletions(-)
>
> diff --git a/src/app/controllers/images_controller.rb b/src/app/controllers/images_controller.rb
> index a178596..66acd6d 100644
> --- a/src/app/controllers/images_controller.rb
> +++ b/src/app/controllers/images_controller.rb
> @@ -102,7 +102,7 @@ class ImagesController<  ApplicationController
>         url = params[:image_url]
>         begin
>           xml_source = RestClient.get(url, :accept =>  :xml)
> -      rescue RestClient::Exception, SocketError, URI::InvalidURIError
> +      rescue RestClient::Exception, SocketError, URI::InvalidURIError, Errno::ECONNREFUSED
>           flash.now[:error] = t('images.flash.error.invalid_url')
>           render :new and return
>         end
> @@ -116,7 +116,8 @@ class ImagesController<  ApplicationController
>       rescue Nokogiri::XML::SyntaxError
>         errors = [t('template_xml.errors.xml_parse_error')]
>       else
> -      doc.name = @name
> +      doc.name = @name unless @name.blank?
> +      @name = doc.name
>         @xml = doc.to_xml
>         errors = doc.validate
>       end
> @@ -134,10 +135,13 @@ class ImagesController<  ApplicationController
>       @name = params[:name]
>       @xml = params[:image_xml]
>
> -    errors = TemplateXML.validate(@xml)
> +    doc = TemplateXML.new(@xml)
> +    errors = doc.validate
>       if errors.any?
>         flash.now[:error] = errors
>         render :edit_xml and return
> +    else
> +      @name = doc.name
>       end
>     end
>
> @@ -205,20 +209,6 @@ class ImagesController<  ApplicationController
>     end
>
>     protected
> -  def add_template_name(doc, name)
> -    return unless doc
> -
> -    if doc.root.nil? || doc.root.name != 'template'
> -      doc.root = doc.create_element('template')
> -    end
> -
> -    if doc.xpath('/template/name').empty?
> -      doc.xpath('/template').first<<  doc.create_element('name')
> -    end
> -
> -    doc.xpath('/template/name').first.content = name unless name.blank?
> -  end
> -
>     def load_target_images(build)
>       @target_images_by_target = {}
>       return unless build
> diff --git a/src/app/models/template_xml.rb b/src/app/models/template_xml.rb
> index 149c9c5..323b4e0 100644
> --- a/src/app/models/template_xml.rb
> +++ b/src/app/models/template_xml.rb
> @@ -53,11 +53,12 @@ class TemplateXML
>         @xml.xpath('/template').first<<  @xml.create_element('name')
>       end
>
> -    @xml.xpath('/template/name').first.content = name unless name.blank?
> +    name ||= ""
> +    @xml.xpath('/template/name').first.content = name
>     end
>
>     def name
> -    doc.xpath('/template/name').text
> +    @xml.xpath('/template/name').text
>     end
>
>     def to_xml

Self-ack & pushed.



More information about the aeolus-devel mailing list