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