ref: refs/heads/master
commit 500fbd2dfbd14fe1674a6d4f43220f4fbb8826ad
Author: Josef Reidinger
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