module Admin::SeminarsHelper def display_format_string(num, str_length) return format("%0#{str_length}d", num % (10^str_length)) end def page_for_seminar(seminar) ann_page = nil pages = Page.where(:module=>'seminar') pages.each do |page| if page.categories.count ==1 if page.categories.include?(seminar.category.id.to_s) ann_page = page end end break if !ann_page.nil? end if ann_page.nil? pages.each do |page| if page.categories.include?(seminar.category.id.to_s) ann_page = page end break if !ann_page.nil? end end ann_page = pages.first if ann_page.nil? request.protocol+(request.host_with_port+ann_page.url+'/'+seminar.to_param).gsub('//','/') rescue "/" end def can_see_seminar_signup(seminar) if can_edit_or_delete?(seminar) return true elsif (seminar.organizer_id == current_user.member_profile_id rescue false) return true else return seminar.reviewer_ids.to_a.include?(current_user.member_profile_id.to_s) end end def admin_for_seminar(seminar) return can_edit_or_delete?(seminar) || (seminar.organizer_id == current_user.member_profile_id rescue false) end def page_for_seminar_url page = Pag.where(:module => 'seminar').first return request.protocol+(request.host_with_port+"/#{I18n.locale}#{page.url}").gsub('//','/') rescue "/" # return "/#{I18n.locale}#{page.url}/#{seminar.to_param}" end module MultiLang extend self extend ActionView::Helpers::FormTagHelper extend ActionView::Helpers::FormOptionsHelper extend ActionView::Helpers::DateHelper extend ActionView::Helpers::TagHelper extend ActionView::Helpers::RenderingHelper extend ActionView::Context extend OrbitBasis::RenderAnywhere extend ActionView::Helpers::UrlHelper extend OrbitFormHelper extend Ckeditor::Helpers::FormHelper def get_input_name() 'seminar_main' end def create_lang_panel(field) tmp2 = content_tag(:div,:class => 'btn-group', :data=>{:toggle=>"buttons-radio"}) do I18n.available_locales.collect do |key| link_entry_ary = ["##{field}","_#{key}"] link_entry = link_entry_ary.join link_to(I18n.t(key),link_entry,:data=>{:toggle=>"tab"},:class=>"btn #{(key == I18n.locale ? "active" : nil)}",:for=>key) end.join.html_safe end end def multiple_lang_tag(index1,type_of_tag,field,value=nil,custom_options={},combine_element='',exteral_options={},panel_on_top=false) content_tag(:div,{:class => "tab-content"}.merge(exteral_options)) do if !index1.nil? all_field = (get_input_name + "[#{index1}][#{field}][parant]").gsub(/\[/,'_').gsub(/\]/,'') else all_field = (get_input_name + "[#{field}][parant]").gsub(/\[/,'_').gsub(/\]/,'') end tmp = I18n.available_locales.collect do |locale| active_flag = ((locale == I18n.locale) ? ' active in' : '') content_tag(:div,:class => "tab-pane fade#{active_flag}",:id=>"#{all_field}_#{locale}") do value_locale = value[locale.to_s] rescue nil if !index1.nil? self.__send__("#{type_of_tag}_tag","#{get_input_name}[#{index1}][#{field}][#{locale}]",value_locale,custom_options) else self.__send__("#{type_of_tag}_tag","#{get_input_name}[#{field}][#{locale}]",value_locale,custom_options) end end end.join if panel_on_top create_lang_panel(all_field).html_safe + tmp.html_safe + combine_element else (tmp + create_lang_panel(all_field)).html_safe + combine_element end end end end end