[yast-commit] <rest-service> master : parse datetime info on backend side

ref: refs/heads/master commit 500fbd2dfbd14fe1674a6d4f43220f4fbb8826ad Author: Josef Reidinger <jreidinger@suse.cz> Date: Fri Jul 17 13:55:51 2009 +0200 parse datetime info on backend side --- .../time/app/controllers/systemtimes_controller.rb | 3 +- plugins/time/app/models/systemtime.rb | 23 +++++++++++++------ .../test/functional/systemtimes_controller_test.rb | 3 +- plugins/time/test/unit/systemtime_test.rb | 12 +++++++--- 4 files changed, 28 insertions(+), 13 deletions(-) diff --git a/plugins/time/app/controllers/systemtimes_controller.rb b/plugins/time/app/controllers/systemtimes_controller.rb index 1f88961..0cedabe 100644 --- a/plugins/time/app/controllers/systemtimes_controller.rb +++ b/plugins/time/app/controllers/systemtimes_controller.rb @@ -22,7 +22,8 @@ class SystemtimesController < ApplicationController end @systemtime = Systemtime.new - @systemtime.datetime = root[:time] + @systemtime.time = root[:time] + @systemtime.date = root[:date] @systemtime.timezone = root[:timezone] @systemtime.utcstatus = root[:utcstatus] @systemtime.save diff --git a/plugins/time/app/models/systemtime.rb b/plugins/time/app/models/systemtime.rb index 79cafe3..adf826d 100644 --- a/plugins/time/app/models/systemtime.rb +++ b/plugins/time/app/models/systemtime.rb @@ -2,13 +2,18 @@ class Systemtime @@timezones = Array.new() - attr_accessor :datetime, + attr_accessor :date, + :time, :timezone, :utcstatus private def parse_response(response) - @datetime = response["time"] + timedate = response["time"] + @time = timedate[timedate.index(" - ")+3,8] + @date = timedate[0..timedate.index(" - ")-1] + #convert date to format for datepicker + @date.sub!(/^(\d+)-(\d+)-(\d+)/,'\3/\2/\1') @utcstatus= response["utcstatus"] @timezone = response["timezone"] if response["zones"] @@ -41,15 +46,18 @@ class Systemtime def save settings = {} - unless @timezone.nil? or @timezone.empty? + if @timezone and !@timezone.empty? settings["timezone"] = @timezone end - unless @utcstatus.nil? or @utcstatus.empty? + if @utcstatus and !@utcstatus.empty? settings["utcstatus"] = @utcstatus end need_rescue = false - unless @datetime.nil? or @datetime.empty? - settings["currenttime"] = @datetime + if (@date and !@date.empty?) and + (@time and !@time.empty?) + date = @date.split("/") + datetime = "#{date[2]}-#{date[0]}-#{date[1]} - "+@time + settings["currenttime"] = datetime need_rescue = true end begin @@ -68,7 +76,8 @@ class Systemtime xml.instruct! unless options[:skip_instruct] xml.systemtime do - xml.tag!(:time, @datetime ) + xml.tag!(:time, @time ) + xml.tag!(:date, @date ) xml.tag!(:timezone, @timezone ) xml.tag!(:utcstatus, @utcstatus ) xml.timezones({:type => "array"}) do diff --git a/plugins/time/test/functional/systemtimes_controller_test.rb b/plugins/time/test/functional/systemtimes_controller_test.rb index 8da320a..4aa3ba5 100644 --- a/plugins/time/test/functional/systemtimes_controller_test.rb +++ b/plugins/time/test/functional/systemtimes_controller_test.rb @@ -42,6 +42,7 @@ class SystemtimesControllerTest < ActionController::TestCase assert time assert_equal DATA[:time][:timezone], time.timezone assert_equal DATA[:time][:utcstatus], time.utcstatus - assert_nil time.datetime + assert_nil time.date + assert_nil time.time end end \ No newline at end of file diff --git a/plugins/time/test/unit/systemtime_test.rb b/plugins/time/test/unit/systemtime_test.rb index d2db794..f0fd501 100644 --- a/plugins/time/test/unit/systemtime_test.rb +++ b/plugins/time/test/unit/systemtime_test.rb @@ -57,7 +57,8 @@ class LanguageTest < ActiveSupport::TestCase YastService.stubs(:Call).with("YaPI::TIME::Read",read_arguments).returns(result) @model.find - assert_equal(result["time"], @model.datetime) + assert_equal("02/07/2009", @model.date) + assert_equal("12:18:00", @model.time) assert_equal("Europe/Prague", @model.timezone) assert_equal("true", @model.utcstatus) assert_equal(Test_timezones,@model.timezones) @@ -81,7 +82,8 @@ class LanguageTest < ActiveSupport::TestCase data = read_response @model.timezone = data["timezone"] @model.utcstatus = data["utcstatus"] - @model.datetime = data["currenttime"] + @model.date = "02/07/2009" + @model.time = "12:18:00" @model.timezones = Test_timezones response = Hash.from_xml(@model.to_xml) @@ -89,7 +91,8 @@ class LanguageTest < ActiveSupport::TestCase assert_equal(data["timezone"], response["timezone"]) assert_equal(data["utcstatus"], response["utcstatus"]) - assert_equal(data["currenttime"], response["time"]) + assert_equal("12:18:00", response["time"]) + assert_equal("02/07/2009", response["date"]) zone_response = Test_timezones zone_response.each { |zone| @@ -114,7 +117,8 @@ class LanguageTest < ActiveSupport::TestCase data = read_response @model.timezone = data["timezone"] @model.utcstatus = data["utcstatus"] - @model.datetime = data["currenttime"] + @model.date = "02/07/2009" + @model.time = "12:18:00" @model.timezones = Test_timezones assert_not_nil(@model.to_json) -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org
participants (1)
-
Josef Reidinger