aboutsummaryrefslogtreecommitdiff
path: root/timepollhead.rb
diff options
context:
space:
mode:
authorBenjamin Kellermann <Benjamin.Kellermann@gmx.de>2009-11-18 00:57:12 +0100
committerBenjamin Kellermann <Benjamin.Kellermann@gmx.de>2009-11-18 00:57:12 +0100
commit28836b361a7f92137dec65a38fc5a21f5f0b2aa8 (patch)
treebbab5720a80dc0efaede7d1c26432244d2e2bc57 /timepollhead.rb
parent550af3cfe7177a881ce08431ef9789a352885cdf (diff)
implemented timepollhead as date-only
Diffstat (limited to 'timepollhead.rb')
-rw-r--r--timepollhead.rb55
1 files changed, 32 insertions, 23 deletions
diff --git a/timepollhead.rb b/timepollhead.rb
index c945824..305d3d5 100644
--- a/timepollhead.rb
+++ b/timepollhead.rb
@@ -3,7 +3,6 @@
# License: CC-by-sa 3.0 #
# see License #
################################
-require "digest/sha2"
class TimePollHead
def initialize
@@ -14,14 +13,11 @@ class TimePollHead
end
def get_id(columntitle)
- if @data.include?(columntitle)
- return Digest::SHA2.hexdigest("#{columntitle}#{@data[columntitle]}" + columntitle.to_s)
- else
- raise("no such column found: #{columntitle}")
- end
+ return columntitle.to_s if @data.include?(columntitle)
+ raise("no such column found: #{columntitle}")
end
def get_title(columnid)
- @data.each_key{|k| return k if get_id(k) == columnid}
+ return columnid if @data.include?(Date.parse(columnid))
raise("no such id found: #{columnid}")
end
def each_columntitle
@@ -47,15 +43,15 @@ class TimePollHead
# returns true if deletion sucessfull
def delete_column(columnid)
- raise("this should not be called currently")
+ @data.delete(cgi_to_id(columnid)) != nil
end
# columnid should be never used as changing title is not usefull here
# returns parsed title
def edit_column(columnid, newtitle, cgi)
- parsed_date = Date.parse("#{cgi["add_remove_column_month"]}-#{newtitle}")
+ parsed_date = Date.parse(newtitle)
if @data.include?(parsed_date)
- @data.delete(newtitle)
+ @data.delete(parsed_date)
else
@data[parsed_date] = ""
end
@@ -114,18 +110,24 @@ class TimePollHead
end
ret = <<END
<fieldset><legend>Add/Remove Column</legend>
-<form method='post' action=''>
<div style="float: left; margin-right: 20px">
<table><tr>
END
- def navi val
- "<th style='padding:0px'>" +
- "<input class='navigation' type='submit' name='add_remove_column_month' value='#{val}' />" +
- "</th>"
+ def navi val,curmonth
+ return <<END
+ <th style='padding:0px'>
+ <form method='post' action=''>
+ <div>
+ <input class='navigation' type='submit' name='add_remove_column_month' value='#{val}' />
+ <input type='hidden' name='add_remove_column_month' value='#{curmonth.strftime("%Y-%m")}' />
+ </div>
+ </form>
+ </th>
+END
end
- [YEARBACK,MONTHBACK].each{|val| ret += navi(val)}
- ret += "<th colspan='3'>#{Date::ABBR_MONTHNAMES[startdate.month]} #{startdate.year}</th>"
- [MONTHFORWARD, YEARFORWARD].each{|val| ret += navi(val)}
+ [YEARBACK,MONTHBACK].each{|val| ret += navi(val,startdate)}
+ ret += "<th colspan='3'>#{startdate.strftime("%b %Y")}</th>"
+ [MONTHFORWARD, YEARFORWARD].each{|val| ret += navi(val,startdate)}
ret += "</tr><tr>\n"
@@ -138,21 +140,28 @@ END
d = startdate
while (d.month == startdate.month) do
klasse = "notchoosen"
- type = "new_columnname"
+ varname = "new_columnname"
klasse = "disabled" if d < Date.today
if @data.include?(d)
klasse = "choosen"
- type = "deletecolumn"
+ varname = "deletecolumn"
end
- ret += "<td class='calendarday'><input class='#{klasse}' type='submit' name='#{type}' value='#{d.day}' /></td>\n"
+ ret += <<TD
+<td class='calendarday'>
+ <form method='post' action=''>
+ <div>
+ <input class='#{klasse}' type='submit' value='#{d.day}' />
+ <input type='hidden' name='#{varname}' value='#{startdate.strftime("%Y-%m")}-#{d.day}' />
+ </div>
+ </form>
+</td>
+TD
ret += "</tr><tr>\n" if d.wday == 0
d = d.next
end
ret += <<END
</tr></table>
-<input type='hidden' name='add_remove_column_month' value='#{startdate.strftime("%Y-%m")}' />
</div>
-</form>
</fieldset>
END
ret