rad_users 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +1 -0
 - data/app/controllers/identities.rb +160 -0
 - data/app/controllers/profiles.rb +61 -0
 - data/app/controllers/sessions.rb +78 -0
 - data/app/controllers/user_mailer.rb +30 -0
 - data/app/controllers/user_management.rb +9 -0
 - data/app/controllers/users_app.rb +9 -0
 - data/app/helpers/users/authorization.rb +65 -0
 - data/app/helpers/users/general.rb +22 -0
 - data/app/models/avatar_file.rb +33 -0
 - data/app/models/user.rb +105 -0
 - data/app/models/user/email_verification_token.rb +20 -0
 - data/app/models/user/forgot_password_token.rb +12 -0
 - data/app/static/open_id.js +2 -0
 - data/app/static/openid-selector/css/openid.css +45 -0
 - data/app/static/openid-selector/demo.html +58 -0
 - data/app/static/openid-selector/demoOpenIDClient.html +69 -0
 - data/app/static/openid-selector/images/aol.gif +0 -0
 - data/app/static/openid-selector/images/blogger.ico +0 -0
 - data/app/static/openid-selector/images/claimid.ico +0 -0
 - data/app/static/openid-selector/images/facebook.gif +0 -0
 - data/app/static/openid-selector/images/flickr.ico +0 -0
 - data/app/static/openid-selector/images/google.gif +0 -0
 - data/app/static/openid-selector/images/livejournal.ico +0 -0
 - data/app/static/openid-selector/images/myopenid.ico +0 -0
 - data/app/static/openid-selector/images/openid-inputicon.gif +0 -0
 - data/app/static/openid-selector/images/openid.gif +0 -0
 - data/app/static/openid-selector/images/technorati.ico +0 -0
 - data/app/static/openid-selector/images/verisign.gif +0 -0
 - data/app/static/openid-selector/images/verisign.ico +0 -0
 - data/app/static/openid-selector/images/vidoop.ico +0 -0
 - data/app/static/openid-selector/images/wordpress.ico +0 -0
 - data/app/static/openid-selector/images/yahoo.gif +0 -0
 - data/app/static/openid-selector/js/jquery-1.2.6.min.js +32 -0
 - data/app/static/openid-selector/js/openid-client/jquery.query-2.1.3.js +220 -0
 - data/app/static/openid-selector/js/openid-client/openid-client-config.js +20 -0
 - data/app/static/openid-selector/js/openid-client/openid-client.js +63 -0
 - data/app/static/openid-selector/js/openid-jquery.js +240 -0
 - data/app/static/openid-selector/openid-client/checkid_immediate_response.html +3 -0
 - data/app/static/openid-selector/openid-client/checkid_setup_response.html +3 -0
 - data/app/static/themes/default/users.css +947 -0
 - data/app/static/themes/default/users.less +4 -0
 - data/app/views/controllers/identities/enter_email_form.html.haml +6 -0
 - data/app/views/controllers/identities/finish_email_registration_form.html.haml +23 -0
 - data/app/views/controllers/identities/finish_open_id_registration_form.html.haml +12 -0
 - data/app/views/controllers/identities/forgot_password_form.html.haml +6 -0
 - data/app/views/controllers/identities/reset_password_form.html.haml +9 -0
 - data/app/views/controllers/identities/update_password_form.html.haml +11 -0
 - data/app/views/controllers/profiles/_form.html.haml +15 -0
 - data/app/views/controllers/profiles/_roles.html.haml +6 -0
 - data/app/views/controllers/profiles/_user.html.haml +24 -0
 - data/app/views/controllers/profiles/actions.js.haml +12 -0
 - data/app/views/controllers/profiles/all.html.haml +3 -0
 - data/app/views/controllers/profiles/show.html.haml +1 -0
 - data/app/views/controllers/sessions/_open_id_form.html.haml +16 -0
 - data/app/views/controllers/sessions/_password_form.html.haml +13 -0
 - data/app/views/controllers/sessions/login.html.haml +8 -0
 - data/app/views/controllers/sessions/status.html.haml +1 -0
 - data/app/views/themes/default/user.html.haml +8 -0
 - data/app/views/users/_menu.html.haml +6 -0
 - data/app/views/users/layout.html.haml +10 -0
 - data/app/views/users/layout.js.haml +1 -0
 - data/config/locales/en.yml +103 -0
 - data/config/locales/ru.yml +105 -0
 - data/config/routes.rb +18 -0
 - metadata +71 -7
 
| 
         @@ -0,0 +1,23 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            = b.title t(:new_user_title)
         
     | 
| 
      
 2 
     | 
    
         
            +
            - b.narrow do
         
     | 
| 
      
 3 
     | 
    
         
            +
              - b.form_for :user, @user, action: finish_email_registration_identities_path do |f|
         
     | 
| 
      
 4 
     | 
    
         
            +
                = f.hidden_field_tag :token, @token.token
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                = f.text_field :name, required: true, description: t(:choose_name_description)
         
     | 
| 
      
 7 
     | 
    
         
            +
                = f.password_field :password, required: true
         
     | 
| 
      
 8 
     | 
    
         
            +
                = f.password_field :password_confirmation, required: true
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                = f.line
         
     | 
| 
      
 11 
     | 
    
         
            +
                = f.line f.submit(t(:ok)), link_to(t(:cancel), :back)
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                / - b.form_for @user, url: {action: (@user.new_record? ? 'create' : 'update')} do |f|
         
     | 
| 
      
 14 
     | 
    
         
            +
                /   = f.error_messages
         
     | 
| 
      
 15 
     | 
    
         
            +
                /
         
     | 
| 
      
 16 
     | 
    
         
            +
                /   = f.text_field :name, required: true, label: t(:username)
         
     | 
| 
      
 17 
     | 
    
         
            +
                /   = f.text_field :email, required: true
         
     | 
| 
      
 18 
     | 
    
         
            +
                /   = f.password_field :password, required: true
         
     | 
| 
      
 19 
     | 
    
         
            +
                /   = f.password_field :password_confirmation, required: true
         
     | 
| 
      
 20 
     | 
    
         
            +
                /
         
     | 
| 
      
 21 
     | 
    
         
            +
                /   = f.line
         
     | 
| 
      
 22 
     | 
    
         
            +
                /
         
     | 
| 
      
 23 
     | 
    
         
            +
                /   = f.line f.submit(t(:ok)), link_to(t(:cancel), :back)
         
     | 
| 
         @@ -0,0 +1,12 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            = b.title t(:choose_name)
         
     | 
| 
      
 2 
     | 
    
         
            +
            - b.narrow do
         
     | 
| 
      
 3 
     | 
    
         
            +
              / - p persist_params?
         
     | 
| 
      
 4 
     | 
    
         
            +
              / - p params
         
     | 
| 
      
 5 
     | 
    
         
            +
              - b.form_for :user, @user, action: finish_open_id_registration_identities_path do |f|
         
     | 
| 
      
 6 
     | 
    
         
            +
                = f.error_messages
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                = f.hidden_field_tag :token, @token.token
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                = f.text_field :name, required: true, description: t(:choose_name_description)
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                = f.line f.submit(t(:ok)), link_to(t(:cancel), :back)
         
     | 
| 
         @@ -0,0 +1,6 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            = b.title t(:forgot_password)
         
     | 
| 
      
 2 
     | 
    
         
            +
            - b.narrow do
         
     | 
| 
      
 3 
     | 
    
         
            +
              - b.form_tag action: forgot_password_identities_path do |f|
         
     | 
| 
      
 4 
     | 
    
         
            +
                = f.text_field_tag :email, @email, required: true, label: t(:email), description: t(:forgot_password_hint)
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                = f.line f.submit_tag(t(:ok)), link_to(t(:cancel), :back)
         
     | 
| 
         @@ -0,0 +1,9 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            = b.title t(:reset_password)
         
     | 
| 
      
 2 
     | 
    
         
            +
            - b.narrow do
         
     | 
| 
      
 3 
     | 
    
         
            +
              - b.form_for :user, @user, action: reset_password_identities_path do |f|
         
     | 
| 
      
 4 
     | 
    
         
            +
                = f.hidden_field_tag :token, @token.token
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                = f.password_field :password, required: true, label: t(:new_password)
         
     | 
| 
      
 7 
     | 
    
         
            +
                = f.password_field :password_confirmation, required: true #, label: t(:password_confirmation)
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                = f.line f.submit(t(:ok)), link_to(t(:cancel), :back)
         
     | 
| 
         @@ -0,0 +1,11 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            = b.title t(:edit_password_title)
         
     | 
| 
      
 2 
     | 
    
         
            +
            - b.narrow do
         
     | 
| 
      
 3 
     | 
    
         
            +
              - b.form_for :user, @user, action: update_password_identities_path do |f|
         
     | 
| 
      
 4 
     | 
    
         
            +
                = f.error_messages
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                = f.password_field_tag :old_password, '', label: t(:old_password), required: true
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                = f.password_field :password, required: true, label: t(:password)
         
     | 
| 
      
 9 
     | 
    
         
            +
                = f.password_field :password_confirmation, required: true, label: t(:password_confirmation)
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                = f.line f.submit(t(:ok)), link_to(t(:cancel), :back)
         
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            - b.form_for :user, @user, action: form_action, enctype: "multipart/form-data" do |f|
         
     | 
| 
      
 2 
     | 
    
         
            +
              = f.error_messages
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
              = f.text_field :first_name
         
     | 
| 
      
 5 
     | 
    
         
            +
              = f.text_field :last_name
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              - if @user.avatar.blank?
         
     | 
| 
      
 8 
     | 
    
         
            +
                = f.file_field :avatar
         
     | 
| 
      
 9 
     | 
    
         
            +
              - else
         
     | 
| 
      
 10 
     | 
    
         
            +
                - img = image_tag(Models::User.avatar_url(@user.name), style: 'max-width: 150px; max-height: 150px;')
         
     | 
| 
      
 11 
     | 
    
         
            +
                = f.file_field :avatar, label: "#{t(:avatar)}#{"<br/>" + img}"
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              = f.line
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              = f.line ok_button, cancel_button
         
     | 
| 
         @@ -0,0 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            - b.user id: @user.dom_id do |o|
         
     | 
| 
      
 2 
     | 
    
         
            +
              - o.title @user.name
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
              - o.controls do |a|
         
     | 
| 
      
 5 
     | 
    
         
            +
                - a.add link_to(t(:edit), edit_profile_path(@user, format: :js)) if can?(:update_profile, @user) or (@user.anonymous? and user.roles.admin?)
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              - o.avatar image_tag(Models::User.avatar_url(@user.name))
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              - o.properties do
         
     | 
| 
      
 10 
     | 
    
         
            +
                - b.basic_list do
         
     | 
| 
      
 11 
     | 
    
         
            +
                  = b.basic_list_item h("#{@user.first_name} #{@user.last_name}")
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                - b.text do
         
     | 
| 
      
 14 
     | 
    
         
            +
                  .todo= link_to(t(:update_password), update_password_form_identities_path) if owner? @user
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                .todo about
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                = render 'roles'
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
              - o.content do
         
     | 
| 
      
 21 
     | 
    
         
            +
                .todo
         
     | 
| 
      
 22 
     | 
    
         
            +
                  - b.basic_list do
         
     | 
| 
      
 23 
     | 
    
         
            +
                    = b.basic_list_item 'Latest Activity ...'
         
     | 
| 
      
 24 
     | 
    
         
            +
                    = b.basic_list_item 'Public Items ...'
         
     | 
| 
         @@ -0,0 +1,12 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            - case action_name
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            - when :edit
         
     | 
| 
      
 4 
     | 
    
         
            +
              - form = js render('form', locals: {form_action: update_profile_path(@user, format: :js)});
         
     | 
| 
      
 5 
     | 
    
         
            +
              rad.dialog().show('#{form}');
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            - when :update
         
     | 
| 
      
 8 
     | 
    
         
            +
              - html = js render('user');
         
     | 
| 
      
 9 
     | 
    
         
            +
              $('{@user.dom_id}').replaceWith("#{html}");
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            - else
         
     | 
| 
      
 12 
     | 
    
         
            +
              - must_be.never_called
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            = render 'user'
         
     | 
| 
         @@ -0,0 +1,16 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            - content_for :head do
         
     | 
| 
      
 2 
     | 
    
         
            +
              = stylesheet_link_tag *merged_stylesheets(:open_id)
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            - content_for :bottom do
         
     | 
| 
      
 5 
     | 
    
         
            +
              = javascript_include_tag *merged_javascripts(:open_id)
         
     | 
| 
      
 6 
     | 
    
         
            +
              - javascript_tag do
         
     | 
| 
      
 7 
     | 
    
         
            +
                $(function() {openid.init('openid_identifier')});
         
     | 
| 
      
 8 
     | 
    
         
            +
              / openid.setDemoMode(true);
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            - form_tag(action: login_path, id: "openid_form") do
         
     | 
| 
      
 11 
     | 
    
         
            +
              #openid_choice
         
     | 
| 
      
 12 
     | 
    
         
            +
                #openid_btns
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
              #openid_input_area
         
     | 
| 
      
 15 
     | 
    
         
            +
                %input{id: "openid_identifier", name: "openid_identifier", type: "text", value: "http://"}
         
     | 
| 
      
 16 
     | 
    
         
            +
                %input{id: "openid_submit", type: "submit", value: "Sign-In"}
         
     | 
| 
         @@ -0,0 +1,13 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            - b.form_tag action: login_path do |f|
         
     | 
| 
      
 2 
     | 
    
         
            +
              = f.error_messages @errors
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
              = f.text_field_tag :name, @name, required: true, label: t(:username)
         
     | 
| 
      
 5 
     | 
    
         
            +
              = f.password_field_tag :password, "", required: true, label: t(:password)
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              = f.line
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              = f.line ok_button, cancel_button
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              = f.line
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              = f.line link_to(t(:register_link), signup_path), link_to(t(:forgot_password_link), forgot_password_form_identities_path)
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            = "Hello, #{Models::User.current.name}."
         
     | 
| 
         @@ -0,0 +1,10 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            - content_for :nothing do
         
     | 
| 
      
 2 
     | 
    
         
            +
              - content_for :css do
         
     | 
| 
      
 3 
     | 
    
         
            +
                = stylesheet_link_tag '/themes/default/users.css'
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              - content_for :top_panel,    render('/kit/top_panel')
         
     | 
| 
      
 6 
     | 
    
         
            +
              - content_for :navigation,   render('/users/menu')
         
     | 
| 
      
 7 
     | 
    
         
            +
              - content_for :bottom_panel, render('/kit/bottom_panel')
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              - @build_layout = false
         
     | 
| 
      
 10 
     | 
    
         
            +
            = render '/kit/layout'
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            = render '/kit/layout'
         
     | 
| 
         @@ -0,0 +1,103 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            en:
         
     | 
| 
      
 2 
     | 
    
         
            +
              # General
         
     | 
| 
      
 3 
     | 
    
         
            +
              anonymous: "Welcome, Guest"
         
     | 
| 
      
 4 
     | 
    
         
            +
              are_you_shure: "Are you sure?"
         
     | 
| 
      
 5 
     | 
    
         
            +
              avatar: "Avatar"
         
     | 
| 
      
 6 
     | 
    
         
            +
              domains: "Domains"
         
     | 
| 
      
 7 
     | 
    
         
            +
              email: "eMail"
         
     | 
| 
      
 8 
     | 
    
         
            +
              home: "Home"
         
     | 
| 
      
 9 
     | 
    
         
            +
              login: "Login"
         
     | 
| 
      
 10 
     | 
    
         
            +
              login_not_required: "You are already logged in"
         
     | 
| 
      
 11 
     | 
    
         
            +
              login_required: "You need to be logged in"
         
     | 
| 
      
 12 
     | 
    
         
            +
              logout: "Logout"
         
     | 
| 
      
 13 
     | 
    
         
            +
              name: "Name"
         
     | 
| 
      
 14 
     | 
    
         
            +
              password: "Password"
         
     | 
| 
      
 15 
     | 
    
         
            +
              show_more: "..."
         
     | 
| 
      
 16 
     | 
    
         
            +
              signup: "Signup"
         
     | 
| 
      
 17 
     | 
    
         
            +
              state: "State"
         
     | 
| 
      
 18 
     | 
    
         
            +
              username: "Username"
         
     | 
| 
      
 19 
     | 
    
         
            +
              users: "Users"
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
              # User model
         
     | 
| 
      
 22 
     | 
    
         
            +
              bad_email_message: "Invalid email"
         
     | 
| 
      
 23 
     | 
    
         
            +
              bad_login_message: "Invalid login (use only 0-9, a-z, and .-_@ symbols)"
         
     | 
| 
      
 24 
     | 
    
         
            +
              first_name: "First Name"
         
     | 
| 
      
 25 
     | 
    
         
            +
              last_name: "Last Name"
         
     | 
| 
      
 26 
     | 
    
         
            +
              password_confirmation: "Password confirmation"
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
              # Space model
         
     | 
| 
      
 29 
     | 
    
         
            +
              forbiden_to_change_default_space: "Forbidden to change default Space"
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
              # Wigets
         
     | 
| 
      
 32 
     | 
    
         
            +
              callback_error: "Service Mix callback error!"
         
     | 
| 
      
 33 
     | 
    
         
            +
              callback_error_not_specified: "Callback error not defined!"
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
              # Authorization
         
     | 
| 
      
 36 
     | 
    
         
            +
              admin: "Admin"
         
     | 
| 
      
 37 
     | 
    
         
            +
              add_admin_role: "Add to Admins"
         
     | 
| 
      
 38 
     | 
    
         
            +
              add_custom_role: "Grant '%{role}' role"
         
     | 
| 
      
 39 
     | 
    
         
            +
              add_manager_role: "Add to Managers"
         
     | 
| 
      
 40 
     | 
    
         
            +
              add_member_role: "Add to Members"
         
     | 
| 
      
 41 
     | 
    
         
            +
              custom_role: "%{role}"
         
     | 
| 
      
 42 
     | 
    
         
            +
              manager: "Manager"
         
     | 
| 
      
 43 
     | 
    
         
            +
              member: "Member"
         
     | 
| 
      
 44 
     | 
    
         
            +
              remove_admin_role: "Remove from Admins"
         
     | 
| 
      
 45 
     | 
    
         
            +
              remove_custom_role: "Remove '%{role}' role"
         
     | 
| 
      
 46 
     | 
    
         
            +
              remove_manager_role: "Remove from Managers"
         
     | 
| 
      
 47 
     | 
    
         
            +
              remove_member_role: "Remove from Members"
         
     | 
| 
      
 48 
     | 
    
         
            +
              role_granted: "Role granted"
         
     | 
| 
      
 49 
     | 
    
         
            +
              role_removed: "Role removed"
         
     | 
| 
      
 50 
     | 
    
         
            +
              invalid_roles: "Invalid roles"
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
              # Authentication
         
     | 
| 
      
 53 
     | 
    
         
            +
              choose_name: "Choose username"
         
     | 
| 
      
 54 
     | 
    
         
            +
              choose_name_description: "Choose username (can't be changed in future)"
         
     | 
| 
      
 55 
     | 
    
         
            +
              edit_password_title: "Update password"
         
     | 
| 
      
 56 
     | 
    
         
            +
              email_verification_code_sent: "To complete registration please follow the link sent to Your email %{email}."
         
     | 
| 
      
 57 
     | 
    
         
            +
              failed_reset_password: "No user with such email %{email}!"
         
     | 
| 
      
 58 
     | 
    
         
            +
              forgot_password_hint: "Link for password restore will be send to Your email"
         
     | 
| 
      
 59 
     | 
    
         
            +
              forgot_password_link: "Forgot password?"
         
     | 
| 
      
 60 
     | 
    
         
            +
              forgot_password: "Restore password"
         
     | 
| 
      
 61 
     | 
    
         
            +
              invalid_email_verification_token: "Email confirmation code is invalid or expired"
         
     | 
| 
      
 62 
     | 
    
         
            +
              invalid_identity: "No user with such ID (%{identity_url})"
         
     | 
| 
      
 63 
     | 
    
         
            +
              invalid_login: "Invalid login or password"
         
     | 
| 
      
 64 
     | 
    
         
            +
              invalid_old_password: "Invalid old password"
         
     | 
| 
      
 65 
     | 
    
         
            +
              invalid_reset_password_token: "The code for password restoration is invalid or expired"
         
     | 
| 
      
 66 
     | 
    
         
            +
              login_title: "Login"
         
     | 
| 
      
 67 
     | 
    
         
            +
              login_using_open_id: "Login using OpenID"
         
     | 
| 
      
 68 
     | 
    
         
            +
              new_password: "New password"
         
     | 
| 
      
 69 
     | 
    
         
            +
              new_user_title: "Signup"
         
     | 
| 
      
 70 
     | 
    
         
            +
              not_unique_email: "User with such email already exists"
         
     | 
| 
      
 71 
     | 
    
         
            +
              old_password: "Old password"
         
     | 
| 
      
 72 
     | 
    
         
            +
              open_id: "OpenID"
         
     | 
| 
      
 73 
     | 
    
         
            +
              openid_identifier: "OpenID"
         
     | 
| 
      
 74 
     | 
    
         
            +
              password_restored: "Password updated"
         
     | 
| 
      
 75 
     | 
    
         
            +
              password_updated: "Pasword updated"
         
     | 
| 
      
 76 
     | 
    
         
            +
              register_link: "Signup"
         
     | 
| 
      
 77 
     | 
    
         
            +
              reset_password: "Reset password"
         
     | 
| 
      
 78 
     | 
    
         
            +
              should_not_be_blank: "should not be blank"
         
     | 
| 
      
 79 
     | 
    
         
            +
              signup_email_description: "To finish registration please follow the link that will be send to Your email"
         
     | 
| 
      
 80 
     | 
    
         
            +
              successfully_identified_by_open_id: "Identification is successfully finished"
         
     | 
| 
      
 81 
     | 
    
         
            +
              successfully_logged_in: "You are logged in"
         
     | 
| 
      
 82 
     | 
    
         
            +
              successfully_logged_out: "You are logged out"
         
     | 
| 
      
 83 
     | 
    
         
            +
              successfull_open_id_registration: "You are successfully registered and can log in"
         
     | 
| 
      
 84 
     | 
    
         
            +
              successfully_registered: "You are successfully registered and can login"
         
     | 
| 
      
 85 
     | 
    
         
            +
              sucessfully_reset_password: "Link for password restoration sent to Your email: %{email}"
         
     | 
| 
      
 86 
     | 
    
         
            +
              update_password: "Update password"
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
             
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
              #
         
     | 
| 
      
 91 
     | 
    
         
            +
              # EMail
         
     | 
| 
      
 92 
     | 
    
         
            +
              #
         
     | 
| 
      
 93 
     | 
    
         
            +
              email_verification_title: "Registration on site %{host}"
         
     | 
| 
      
 94 
     | 
    
         
            +
              email_verification_text: |
         
     | 
| 
      
 95 
     | 
    
         
            +
                To finish registration on site %{host} please follow this link:
         
     | 
| 
      
 96 
     | 
    
         
            +
                %{url}
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
              forgot_password_title: "Password reset for %{name} on the %{host} site"
         
     | 
| 
      
 99 
     | 
    
         
            +
              forgot_password_text: |
         
     | 
| 
      
 100 
     | 
    
         
            +
                You (or somebody else by entering Your email) requested password reset for Your account %{name} on the %{host} site.
         
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
      
 102 
     | 
    
         
            +
                To reset password please follow this link %{url}
         
     | 
| 
      
 103 
     | 
    
         
            +
                (or just delete this email and Your password will remain intact)
         
     | 
| 
         @@ -0,0 +1,105 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ru:
         
     | 
| 
      
 2 
     | 
    
         
            +
              anonymous: "Добро пожаловать, Гость"
         
     | 
| 
      
 3 
     | 
    
         
            +
              are_you_shure: "Уверены?"
         
     | 
| 
      
 4 
     | 
    
         
            +
              avatar: "Аватар"
         
     | 
| 
      
 5 
     | 
    
         
            +
              domains: "Домены"
         
     | 
| 
      
 6 
     | 
    
         
            +
              email: "Почта"
         
     | 
| 
      
 7 
     | 
    
         
            +
              home: "Главная"
         
     | 
| 
      
 8 
     | 
    
         
            +
              login: "Войти"
         
     | 
| 
      
 9 
     | 
    
         
            +
              login_not_required: "Вы уже вошли"
         
     | 
| 
      
 10 
     | 
    
         
            +
              login_required: "Для получения доступа необходимо войти в систему"
         
     | 
| 
      
 11 
     | 
    
         
            +
              logout: "Выйти"
         
     | 
| 
      
 12 
     | 
    
         
            +
              name: "Имя"
         
     | 
| 
      
 13 
     | 
    
         
            +
              password: "Пароль"
         
     | 
| 
      
 14 
     | 
    
         
            +
              show_more: "..."
         
     | 
| 
      
 15 
     | 
    
         
            +
              signup: "Регистрация"
         
     | 
| 
      
 16 
     | 
    
         
            +
              state: "Статус"
         
     | 
| 
      
 17 
     | 
    
         
            +
              username: "Логин"
         
     | 
| 
      
 18 
     | 
    
         
            +
              users: "Пользователи"
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
              # User model
         
     | 
| 
      
 21 
     | 
    
         
            +
              bad_email_message: "Должен быть правильным почтовым адресом"
         
     | 
| 
      
 22 
     | 
    
         
            +
              bad_login_message: "Используйте буквы, цифры и .-_@"
         
     | 
| 
      
 23 
     | 
    
         
            +
              first_name: "Имя"
         
     | 
| 
      
 24 
     | 
    
         
            +
              last_name: "Фамилия"
         
     | 
| 
      
 25 
     | 
    
         
            +
              password_confirmation: "Подтверждение пароля"
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
              # Space model
         
     | 
| 
      
 28 
     | 
    
         
            +
              forbiden_to_change_default_space: "Нельзя менять дефолтную область"
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
              # Wigets
         
     | 
| 
      
 31 
     | 
    
         
            +
              callback_error: "Ошибка калбека Service Mix!"
         
     | 
| 
      
 32 
     | 
    
         
            +
              callback_error_not_specified: "Ошибка калбека не определена!"
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
              # Authorization
         
     | 
| 
      
 35 
     | 
    
         
            +
              admin: "Админ"
         
     | 
| 
      
 36 
     | 
    
         
            +
              add_admin_role: "Сделать Админом"
         
     | 
| 
      
 37 
     | 
    
         
            +
              add_custom_role: "Сделать '%{role}'"
         
     | 
| 
      
 38 
     | 
    
         
            +
              add_manager_role: "Сделать Менеджером"
         
     | 
| 
      
 39 
     | 
    
         
            +
              add_member_role: "Принять в сообщество"
         
     | 
| 
      
 40 
     | 
    
         
            +
              custom_role: "%{role}"
         
     | 
| 
      
 41 
     | 
    
         
            +
              manager: "Менеджер"
         
     | 
| 
      
 42 
     | 
    
         
            +
              member: "Участник"
         
     | 
| 
      
 43 
     | 
    
         
            +
              remove_admin_role: "Убрать права Админа"
         
     | 
| 
      
 44 
     | 
    
         
            +
              remove_custom_role: "Убрать права '%{role}'"
         
     | 
| 
      
 45 
     | 
    
         
            +
              remove_manager_role: "Убрать права Менеджера"
         
     | 
| 
      
 46 
     | 
    
         
            +
              remove_member_role: "Удалить из сообщества"
         
     | 
| 
      
 47 
     | 
    
         
            +
              role_granted: "Права даны"
         
     | 
| 
      
 48 
     | 
    
         
            +
              role_removed: "Права убраны"
         
     | 
| 
      
 49 
     | 
    
         
            +
              invalid_roles: "Неверные роли"
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
              # Authentication
         
     | 
| 
      
 52 
     | 
    
         
            +
              choose_name: "Выберите имя пользователя"
         
     | 
| 
      
 53 
     | 
    
         
            +
              choose_name_description: "Выберите имя пользователя (в дальнейшем изменить нельзя)"
         
     | 
| 
      
 54 
     | 
    
         
            +
              edit_password_title: "Изменение пароля"
         
     | 
| 
      
 55 
     | 
    
         
            +
              email_verification_code_sent: "Чтобы завершить регистрацию перейдите пожалуйста по ссылке высланной вам на почту %{email}"
         
     | 
| 
      
 56 
     | 
    
         
            +
              failed_reset_password: "Пользвателя с почтой %{email} не существует!"
         
     | 
| 
      
 57 
     | 
    
         
            +
              forgot_password_hint: "Ссылка для восстановления пароля будет выслана вам на почту"
         
     | 
| 
      
 58 
     | 
    
         
            +
              forgot_password_link: "Забыли пароль?"
         
     | 
| 
      
 59 
     | 
    
         
            +
              forgot_password: "Восстановление пароля"
         
     | 
| 
      
 60 
     | 
    
         
            +
              invalid_email_verification_token: "Неверный код подтверждения почты, возможно у него истек срок действия"
         
     | 
| 
      
 61 
     | 
    
         
            +
              invalid_identity: "Пользователя с таким ID не существует (%{identity_url})"
         
     | 
| 
      
 62 
     | 
    
         
            +
              invalid_login: "Неверный логин или пароль"
         
     | 
| 
      
 63 
     | 
    
         
            +
              invalid_old_password: "Неверный старый пароль"
         
     | 
| 
      
 64 
     | 
    
         
            +
              invalid_reset_password_token: "Неверный код восстановления пароля, возможно у него истек срок действия"
         
     | 
| 
      
 65 
     | 
    
         
            +
              login_title: "Войти"
         
     | 
| 
      
 66 
     | 
    
         
            +
              login_using_open_id: "Войти используя OpenID"
         
     | 
| 
      
 67 
     | 
    
         
            +
              new_password: "Новый пароль"
         
     | 
| 
      
 68 
     | 
    
         
            +
              new_user_title: "Регистрация"
         
     | 
| 
      
 69 
     | 
    
         
            +
              not_unique_email: "Пользователь с таким адресом уже существует"
         
     | 
| 
      
 70 
     | 
    
         
            +
              old_password: "Старый пароль"
         
     | 
| 
      
 71 
     | 
    
         
            +
              open_id: "OpenID"
         
     | 
| 
      
 72 
     | 
    
         
            +
              openid_identifier: "OpenID"
         
     | 
| 
      
 73 
     | 
    
         
            +
              password_restored: "Пароль изменен"
         
     | 
| 
      
 74 
     | 
    
         
            +
              password_updated: "Пароль изменен"
         
     | 
| 
      
 75 
     | 
    
         
            +
              register_link: "Регистрация"
         
     | 
| 
      
 76 
     | 
    
         
            +
              reset_password: "Сброс пароля"
         
     | 
| 
      
 77 
     | 
    
         
            +
              should_not_be_blank: "не заполнен"
         
     | 
| 
      
 78 
     | 
    
         
            +
              signup_email_description: "Вам на почту будет выслана ссылка для завершения решистрации"
         
     | 
| 
      
 79 
     | 
    
         
            +
              successfully_identified_by_open_id: "Идентификация успешно завершена"
         
     | 
| 
      
 80 
     | 
    
         
            +
              successfully_logged_in: "Вы вошли"
         
     | 
| 
      
 81 
     | 
    
         
            +
              successfully_logged_out: "Вы вышли"
         
     | 
| 
      
 82 
     | 
    
         
            +
              successfull_open_id_registration: "Вы успешно зарегистрированы и можете войти"
         
     | 
| 
      
 83 
     | 
    
         
            +
              successfully_registered: "Вы успешно зарегистрировались и можете войти в систему"
         
     | 
| 
      
 84 
     | 
    
         
            +
              sucessfully_reset_password: "Ссылка для восстановления пароля выслана вам на почту: %{email}"
         
     | 
| 
      
 85 
     | 
    
         
            +
              update_password: "Изменить пароль"
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
              #
         
     | 
| 
      
 89 
     | 
    
         
            +
              # EMail
         
     | 
| 
      
 90 
     | 
    
         
            +
              #
         
     | 
| 
      
 91 
     | 
    
         
            +
              email_verification_title: "Регистрация аккаунта на %{host}"
         
     | 
| 
      
 92 
     | 
    
         
            +
              email_verification_text: |
         
     | 
| 
      
 93 
     | 
    
         
            +
                Чтобы завершить решистрацию на %{host} перейдите пожалуйста по ссылке:
         
     | 
| 
      
 94 
     | 
    
         
            +
                %{url}
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
              # email_activation_title: "%{name}, ваш аккаунт на %{host} активирован"
         
     | 
| 
      
 97 
     | 
    
         
            +
              # email_activation_text: |
         
     | 
| 
      
 98 
     | 
    
         
            +
              #   %{name} ваш аккаунт на %{host} активирован.
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
              forgot_password_title: "Сброс пароля пользователя %{name} на %{host}"
         
     | 
| 
      
 101 
     | 
    
         
            +
              forgot_password_text: |
         
     | 
| 
      
 102 
     | 
    
         
            +
                Вы (или кто-то другой введя вашу почту) запросили сброс пароля для вашего аккаунта %{name} на %{host}
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
                Чтобы сбросить пароль перейдите по ссылке %{url}
         
     | 
| 
      
 105 
     | 
    
         
            +
                (или просто удалите это письмо, ваш пароль останется как и раньше)
         
     | 
    
        data/config/routes.rb
    ADDED
    
    | 
         @@ -0,0 +1,18 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            url_root = rad.users.url_root
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            rad.router.configure do |c|
         
     | 
| 
      
 4 
     | 
    
         
            +
              c.persistent_params :l
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
              c.with_options url_root: url_root do |c|
         
     | 
| 
      
 7 
     | 
    
         
            +
                c.alias '/login', class_name: 'Controllers::Sessions', method: :login
         
     | 
| 
      
 8 
     | 
    
         
            +
                c.alias '/logout', class_name: 'Controllers::Sessions', method: :logout
         
     | 
| 
      
 9 
     | 
    
         
            +
                c.alias '/signup', class_name: 'Controllers::Identities', method: :enter_email_form
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                # c.resource :checks,     class_name: 'Users::Checks'
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                c.resource :identities, class_name: 'Controllers::Identities'
         
     | 
| 
      
 14 
     | 
    
         
            +
                c.resource :sessions,   class_name: 'Controllers::Sessions'
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                c.resource :profiles,   class_name: 'Controllers::Profiles'
         
     | 
| 
      
 17 
     | 
    
         
            +
              end
         
     | 
| 
      
 18 
     | 
    
         
            +
            end
         
     |