diff options
Diffstat (limited to 'core')
| -rw-r--r-- | core/app/assets/javascripts/leap.js | 7 | ||||
| -rw-r--r-- | core/app/helpers/core_helper.rb | 13 | ||||
| -rw-r--r-- | core/app/helpers/navigation_helper.rb | 82 | ||||
| -rw-r--r-- | core/app/views/common/_home_page_buttons.html.haml | 19 | ||||
| -rw-r--r-- | core/app/views/kaminari/_first_page.html.haml | 9 | ||||
| -rw-r--r-- | core/app/views/kaminari/_gap.html.haml | 8 | ||||
| -rw-r--r-- | core/app/views/kaminari/_last_page.html.haml | 9 | ||||
| -rw-r--r-- | core/app/views/kaminari/_next_page.html.haml | 12 | ||||
| -rw-r--r-- | core/app/views/kaminari/_page.html.haml | 14 | ||||
| -rw-r--r-- | core/app/views/kaminari/_paginator.html.haml | 19 | ||||
| -rw-r--r-- | core/app/views/kaminari/_prev_page.html.haml | 12 | ||||
| -rw-r--r-- | core/config/initializers/simple_form_bootstrap.rb | 12 | ||||
| -rw-r--r-- | core/config/locales/en.yml | 30 | 
13 files changed, 246 insertions, 0 deletions
| diff --git a/core/app/assets/javascripts/leap.js b/core/app/assets/javascripts/leap.js new file mode 100644 index 0000000..94e602d --- /dev/null +++ b/core/app/assets/javascripts/leap.js @@ -0,0 +1,7 @@ + +// +// add a bootstrap alert to the page via javascript. +// +function alert_message(msg) { +  $('#messages').append('<div class="alert alert-error"><a class="close" data-dismiss="alert">×</a><span>'+msg+'</span></div>'); +} diff --git a/core/app/helpers/core_helper.rb b/core/app/helpers/core_helper.rb new file mode 100644 index 0000000..a496144 --- /dev/null +++ b/core/app/helpers/core_helper.rb @@ -0,0 +1,13 @@ +# +# Misc. helpers needed throughout. +# +module CoreHelper + +  # +  # insert common buttons (download, login, etc) +  # +  def home_page_buttons +    render 'common/home_page_buttons' +  end + +end
\ No newline at end of file diff --git a/core/app/helpers/navigation_helper.rb b/core/app/helpers/navigation_helper.rb new file mode 100644 index 0000000..19cb934 --- /dev/null +++ b/core/app/helpers/navigation_helper.rb @@ -0,0 +1,82 @@ +module NavigationHelper + +  # +  # used to create a side navigation link. +  # +  # Signature is the same as link_to, except it accepts an :active value in the html_options +  # +  def link_to_navigation(*args) +    if args.last.is_a? Hash +      html_options = args.pop.dup +      active_class = html_options.delete(:active) ? 'active' : nil +      html_options[:class] = [html_options[:class], active_class].join(' ') +      args << html_options +    else +      active_class = nil +    end +    content_tag :li, :class => active_class do +      link_to(*args) +    end +  end + +  # +  # returns true if params[:action] matches one of the args. +  # +  def action?(*actions) +    actions.detect do |action| +      if action.is_a? String +        action == action_string +      elsif action.is_a? Symbol +        if action == :none +          action_string == nil +        else +          action == action_symbol +        end +      end +    end +  end + +  # +  # returns true if params[:controller] matches one of the args. +  # +  # for example: +  #   controller?(:me, :home) +  #   controller?('groups/')  <-- matches any controller in namespace 'groups' +  # +  def controller?(*controllers) +    controllers.each do |cntr| +      if cntr.is_a? String +        if cntr.ends_with?('/') +          return true if controller_string.starts_with?(cntr.chop) +        end +        return true if cntr == controller_string +      elsif cntr.is_a? Symbol +        return true if cntr == controller_symbol +      end +    end +    return false +  end + +  private + +  def controller_string +    @controller_string ||= params[:controller].to_s.gsub(/^\//, '') +  end + +  def controller_symbol +    @controller_symbol ||= params[:controller].gsub(/^\//,'').gsub('/','_').to_sym +  end + +  def action_string +    params[:action] +  end + +  def action_symbol +    @action_symbol ||= if params[:action].present? +      params[:action].to_sym +    else +      nil +    end +  end + +end diff --git a/core/app/views/common/_home_page_buttons.html.haml b/core/app/views/common/_home_page_buttons.html.haml new file mode 100644 index 0000000..82a5cc2 --- /dev/null +++ b/core/app/views/common/_home_page_buttons.html.haml @@ -0,0 +1,19 @@ +- icon_color = :black + +.home-buttons +  .row-fluid.first +    .span3 +    .download.span6 +      %span.link= link_to(big_icon('arrow-down', icon_color) + t(:download_client), "https://downloads.leap.se/client", :class => 'btn btn-large') +      %span.info= t(:download_client_info, :provider => content_tag(:b,APP_CONFIG[:domain])).html_safe +    .span3 +  .row-fluid.second +    .login.span4 +      %span.link= link_to(icon('ok-sign', icon_color) + t(:login), new_session_path, :class => 'btn') +      %span.info= t(:login_info) +    .signup.span4 +      %span.link= link_to(icon('user', icon_color) + t(:signup), new_user_path, :class => 'btn') +      %span.info= t(:signup_info) +    .help.span4 +      %span.link= link_to(icon('question-sign', icon_color) + t(:get_help), "/tickets/new", :class => 'btn') +      %span.info= t(:help_info) diff --git a/core/app/views/kaminari/_first_page.html.haml b/core/app/views/kaminari/_first_page.html.haml new file mode 100644 index 0000000..34436e3 --- /dev/null +++ b/core/app/views/kaminari/_first_page.html.haml @@ -0,0 +1,9 @@ +-#  Link to the "First" page +-#  available local variables +-#    url:           url to the first page +-#    current_page:  a page object for the currently displayed page +-#    num_pages:     total number of pages +-#    per_page:      number of items to fetch per page +-#    remote:        data-remote +%li +  = link_to_unless current_page.first?, raw(t 'views.pagination.first'), url, :remote => remote diff --git a/core/app/views/kaminari/_gap.html.haml b/core/app/views/kaminari/_gap.html.haml new file mode 100644 index 0000000..51de678 --- /dev/null +++ b/core/app/views/kaminari/_gap.html.haml @@ -0,0 +1,8 @@ +-#  Non-link tag that stands for skipped pages... +-#  available local variables +-#    current_page:  a page object for the currently displayed page +-#    num_pages:     total number of pages +-#    per_page:      number of items to fetch per page +-#    remote:        data-remote +%li.disabled +  = raw(t 'views.pagination.truncate') diff --git a/core/app/views/kaminari/_last_page.html.haml b/core/app/views/kaminari/_last_page.html.haml new file mode 100644 index 0000000..c90433c --- /dev/null +++ b/core/app/views/kaminari/_last_page.html.haml @@ -0,0 +1,9 @@ +-#  Link to the "Last" page +-#  available local variables +-#    url:           url to the last page +-#    current_page:  a page object for the currently displayed page +-#    num_pages:     total number of pages +-#    per_page:      number of items to fetch per page +-#    remote:        data-remote +%li +  = link_to_unless current_page.last?, raw(t 'views.pagination.last'), url, {:remote => remote} diff --git a/core/app/views/kaminari/_next_page.html.haml b/core/app/views/kaminari/_next_page.html.haml new file mode 100644 index 0000000..ea6cab2 --- /dev/null +++ b/core/app/views/kaminari/_next_page.html.haml @@ -0,0 +1,12 @@ +-#  Link to the "Next" page +-#  available local variables +-#    url:           url to the next page +-#    current_page:  a page object for the currently displayed page +-#    num_pages:     total number of pages +-#    per_page:      number of items to fetch per page +-#    remote:        data-remote +- if current_page.last? +  %li.disabled +    %span= raw(t 'views.pagination.next') +- else +  %li= link_to(raw(t 'views.pagination.next'), url, :rel => 'next', :remote => remote) diff --git a/core/app/views/kaminari/_page.html.haml b/core/app/views/kaminari/_page.html.haml new file mode 100644 index 0000000..2f2f142 --- /dev/null +++ b/core/app/views/kaminari/_page.html.haml @@ -0,0 +1,14 @@ +-#  Link showing page number +-#  available local variables +-#    page:          a page object for "this" page +-#    url:           url to this page +-#    current_page:  a page object for the currently displayed page +-#    num_pages:     total number of pages +-#    per_page:      number of items to fetch per page +-#    remote:        data-remote + +- if page.current? +  %li.active +    %span= page +- else +  %li= link_to(page, url, {:remote => remote, :rel => page.next? ? 'next' : page.prev? ? 'prev' : nil}) diff --git a/core/app/views/kaminari/_paginator.html.haml b/core/app/views/kaminari/_paginator.html.haml new file mode 100644 index 0000000..79c5b92 --- /dev/null +++ b/core/app/views/kaminari/_paginator.html.haml @@ -0,0 +1,19 @@ +-#  The container tag +-#  available local variables +-#    current_page:  a page object for the currently displayed page +-#    num_pages:     total number of pages +-#    per_page:      number of items to fetch per page +-#    remote:        data-remote +-#    paginator:     the paginator that renders the pagination tags inside += paginator.render do +  .pagination +    %ul +      -#= first_page_tag unless current_page.first? +      = prev_page_tag #unless current_page.first? +      - each_page do |page| +        - if page.left_outer? || page.right_outer? || page.inside_window? +          = page_tag page +        - elsif !page.was_truncated? +          = gap_tag +      = next_page_tag #unless current_page.last? +      -#= last_page_tag unless current_page.last? diff --git a/core/app/views/kaminari/_prev_page.html.haml b/core/app/views/kaminari/_prev_page.html.haml new file mode 100644 index 0000000..d274bf4 --- /dev/null +++ b/core/app/views/kaminari/_prev_page.html.haml @@ -0,0 +1,12 @@ +-#  Link to the "Previous" page +-#  available local variables +-#    url:           url to the previous page +-#    current_page:  a page object for the currently displayed page +-#    num_pages:     total number of pages +-#    per_page:      number of items to fetch per page +-#    remote:        data-remote +- if current_page.first? +  %li.disabled +    %span= raw(t 'views.pagination.previous') +- else +  %li= link_to(raw(t 'views.pagination.previous'), url, :rel => 'prev', :remote => remote) diff --git a/core/config/initializers/simple_form_bootstrap.rb b/core/config/initializers/simple_form_bootstrap.rb index 1a22967..c949f5e 100644 --- a/core/config/initializers/simple_form_bootstrap.rb +++ b/core/config/initializers/simple_form_bootstrap.rb @@ -37,6 +37,18 @@ SimpleForm.setup do |config|      end    end +  # +  # when you don't want any bootstrap "control-group" or "controls" wrappers. +  # +  config.wrappers :none, :tag => 'div', :error_class => 'error' do |b| +    b.use :html5 +    b.use :placeholder +    b.use :label +    b.use :input +    b.use :error, :wrap_with => { :tag => 'span', :class => 'help-inline' } +    b.use :hint,  :wrap_with => { :tag => 'p', :class => 'help-block' } +  end +    # Wrappers for forms and inputs using the Twitter Bootstrap toolkit.    # Check the Bootstrap docs (http://twitter.github.com/bootstrap)    # to learn about the different styles for forms and inputs, diff --git a/core/config/locales/en.yml b/core/config/locales/en.yml new file mode 100644 index 0000000..25b377a --- /dev/null +++ b/core/config/locales/en.yml @@ -0,0 +1,30 @@ +en: +  no_such_thing: "No such %{thing}." +  thing_was_successfully_created: "%{thing} was successfully created." +  create_thing: "Create %{thing}" + +  overview: "Overview" +  user_control_panel: "user control panel" + +  created: "Created" +  created_by_on: "Created by %{user} on %{time}" +  updated: "Updated" + +  none: "None" +  unknown: "Unknown" +  admin: "Admin" +  anonymous: "Anonymous" +  save: "Save" +  add: "Add" +  remove: "Remove" +  changes_saved: "Changes saved successfully." +  are_you_sure: "Are you sure? This change cannot be undone." + +  download_client: "Download Bitmask" +  download_client_info: "The Bitmask application allows you to use %{provider} services. It is available for Linux, Mac, Windows, and Android." +  login_info: "Log in to change your account settings, create support tickets, and manage payments." +  signup_info: "Sign up for a new user account via this website (it is better if you use the Bitmask application to sign up, but this website works too)." +  welcome: "Welcome to %{provider}." +  get_help: "Get Help" +  help_info: "Can't login? Create a new support ticket anonymously." +  example_email: 'user@domain.org' | 
