X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/a12d4f62752f546f57421244e370e79965706ffb..f7aee769411a893c1059c529a220c0d25c72974f:/vendor/plugins/login_engine/app/helpers/user_helper.rb
diff --git a/vendor/plugins/login_engine/app/helpers/user_helper.rb b/vendor/plugins/login_engine/app/helpers/user_helper.rb
new file mode 100644
index 0000000..2dad7d8
--- /dev/null
+++ b/vendor/plugins/login_engine/app/helpers/user_helper.rb
@@ -0,0 +1,88 @@
+module UserHelper
+
+ # Abstraction to make views a little cleaner
+ def form_input(helper_method, prompt, field_name=nil, options = {}, form_name = nil)
+ form_name = "user" if form_name.nil?
+ case helper_method.to_s
+ when 'hidden_field'
+ self.hidden_field(form_name, field_name, options)
+ when /^.*button$/
+ #prompt = l(:"#{@controller.controller_name}_#{field_name}_button")
+ <<-EOL
+
+ #{self.send(helper_method, form_name, prompt, options)}
+ |
+ EOL
+ else
+ field = (
+ case helper_method
+ when :select
+ self.send(helper_method, form_name, field_name, options.delete('values'), options)
+ when :password_field
+ options[:value] = ""
+ self.send(helper_method, form_name, field_name, options)
+ else
+ self.send(helper_method, form_name, field_name, options)
+ end)
+# lname = "#{form_name}_#{field_name}_form"
+# prompt = l(:"#{lname}")
+ if LoginEngine.config(:two_column_input)
+<<-EOL
+
+ |
+ #{field} |
+
+ EOL
+ else
+<<-EOL
+ |
+ #{field} |
+ EOL
+ end
+ end
+ end
+
+# def button_helper(name, options = {})
+# label = l(:"#{@controller.controller_name}_#{name}_button")
+# "#{self.send(:submit_tag, label, options)}"
+# end
+
+# def link_helper(name, options = {})
+# raise ArgumentError if name.nil?
+# label = l(:"#{@controller.controller_name}_#{name}_link")
+# "#{self.send(:link_to, label, options)}"
+# end
+
+ def title_helper
+ "#{@controller.controller_class_name} #{@controller.action_name}"
+ end
+
+# def message_helper(name)
+# l(:"#{@controller.controller_name}_#{name}_message")
+# end
+
+ def start_form_tag_helper(options = {})
+ url = url_for(:action => "#{@controller.action_name}")
+ "#{self.send(:start_form_tag, url, options)}"
+ end
+
+ def attributes(hash)
+ hash.keys.inject("") { |attrs, key| attrs + %{#{key}="#{h(hash[key])}" } }
+ end
+
+ def read_only_field(form_name, field_name, html_options)
+ "#{instance_variable_get('@' + form_name)[field_name]}"
+ end
+
+ def submit_button(form_name, prompt, html_options)
+ %{}
+ end
+
+ def changeable(user, field)
+ if user.new_record? or LoginEngine.config(:changeable_fields).include?(field)
+ :text_field
+ else
+ :read_only_field
+ end
+ end
+end