helpdesk 0.0.36 → 0.0.37
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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/helpdesk/faqs.js +1 -1
- data/app/assets/stylesheets/helpdesk/admin/faqs.css.sass +56 -0
- data/app/controllers/helpdesk/admin/faqs_controller.rb +4 -5
- data/app/controllers/helpdesk/subscribers_controller.rb +12 -24
- data/app/mailers/helpdesk/notifications_mailer.rb +6 -0
- data/app/models/helpdesk/subscriber.rb +16 -0
- data/app/views/helpdesk/admin/faqs/_faq.html.haml +10 -8
- data/app/views/helpdesk/admin/faqs/inactive.html.haml +27 -0
- data/app/views/helpdesk/admin/faqs/index.html.haml +1 -1
- data/app/views/helpdesk/admin/faqs/sorting.html.haml +6 -5
- data/app/views/helpdesk/faqs/_faq.html.haml +1 -1
- data/app/views/helpdesk/notifications_mailer/send_activate_subscription.html.haml +9 -0
- data/app/views/helpdesk/subscribers/_form.html.haml +18 -0
- data/app/views/helpdesk/subscribers/index.html.erb +0 -1
- data/config/locales/helpdesk.pl.yml +1 -0
- data/config/routes.rb +1 -0
- data/lib/helpdesk/version.rb +1 -1
- metadata +6 -3
- data/app/views/helpdesk/subscribers/_form.html.erb +0 -37
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 569873a1a07e6ecc3b329bf3cdd8760f813cd076
         | 
| 4 | 
            +
              data.tar.gz: 1ca1b0144912eff172811a5647e46bfcea34bb47
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: d3be697519d1aa4429baa018a88c8093d32eedcea8b8a3f845e5b338e3f16f1c42e8840eb6ff097d75b4d9e4a9443001b8c1cfccb07933273d7aaf280448a5ab
         | 
| 7 | 
            +
              data.tar.gz: 5f08eea31b519eda2f85437038b56cecc8a44845b0d9f38cf52f9605f27ec442afe187c2371ef9a37f1f4f26ddb26ba66c613e413687bf45477dc06b69a1bbf7
         | 
| @@ -0,0 +1,56 @@ | |
| 1 | 
            +
            $cTextLight: #a0a0a0
         | 
| 2 | 
            +
            @CHARSET "UTF-8"
         | 
| 3 | 
            +
            @mixin transition($var...)
         | 
| 4 | 
            +
              -webkit-transition: $var
         | 
| 5 | 
            +
              transition: $var
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            ul.faqs_list_main
         | 
| 8 | 
            +
              > li
         | 
| 9 | 
            +
                position: relative
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            ul.faqs_list
         | 
| 12 | 
            +
              > li
         | 
| 13 | 
            +
                // display: block
         | 
| 14 | 
            +
                margin: 10px 0px
         | 
| 15 | 
            +
                padding: 2px
         | 
| 16 | 
            +
                // width: 90%
         | 
| 17 | 
            +
                min-width: 100px
         | 
| 18 | 
            +
                border: 1px solid $cTextLight
         | 
| 19 | 
            +
                border-radius: 2px
         | 
| 20 | 
            +
                background-color: #ffffff
         | 
| 21 | 
            +
                // background-color: $colorBluePastelLight
         | 
| 22 | 
            +
                line-height: 30px
         | 
| 23 | 
            +
                vertical-align: middle
         | 
| 24 | 
            +
                box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.2)
         | 
| 25 | 
            +
                @include transition(opacity 0.2s ease-in-out)
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                >span.title
         | 
| 28 | 
            +
             | 
| 29 | 
            +
             | 
| 30 | 
            +
                >span.buttons
         | 
| 31 | 
            +
                  position: absolute
         | 
| 32 | 
            +
                  right: 40px
         | 
| 33 | 
            +
             | 
| 34 | 
            +
             | 
| 35 | 
            +
                ul, ol
         | 
| 36 | 
            +
                  margin: 10px auto 10px 10px
         | 
| 37 | 
            +
                  list-style: disc
         | 
| 38 | 
            +
             | 
| 39 | 
            +
                  li
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                &:hover
         | 
| 42 | 
            +
                  >span
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                    > a.icon
         | 
| 45 | 
            +
                      opacity: 1
         | 
| 46 | 
            +
             | 
| 47 | 
            +
             | 
| 48 | 
            +
             | 
| 49 | 
            +
             | 
| 50 | 
            +
                >span
         | 
| 51 | 
            +
                  a.icon
         | 
| 52 | 
            +
                    position: relative
         | 
| 53 | 
            +
                    opacity: 0
         | 
| 54 | 
            +
                    overflow: hidden
         | 
| 55 | 
            +
                    vertical-align: middle
         | 
| 56 | 
            +
                    @include transition(opacity 0.2s ease-in-out)
         | 
| @@ -22,14 +22,13 @@ class Helpdesk::Admin::FaqsController < Helpdesk::Admin::BaseController | |
| 22 22 | 
             
              def index
         | 
| 23 23 | 
             
                if params[:faqs] == 'active'
         | 
| 24 24 | 
             
                  @faqs = Helpdesk::Faq.roots.active
         | 
| 25 | 
            +
                  render action: 'index'
         | 
| 25 26 | 
             
                elsif params[:faqs] == 'inactive'
         | 
| 26 | 
            -
                  @faqs = Helpdesk::Faq. | 
| 27 | 
            +
                  @faqs = Helpdesk::Faq.inactive
         | 
| 28 | 
            +
                  render action: 'inactive'
         | 
| 27 29 | 
             
                else
         | 
| 28 30 | 
             
                  @faqs = Helpdesk::Faq.roots
         | 
| 29 | 
            -
             | 
| 30 | 
            -
                respond_to do |format|
         | 
| 31 | 
            -
                  format.html # index.html.erb
         | 
| 32 | 
            -
                  format.json { render json: @faqs }
         | 
| 31 | 
            +
                  render action: 'index'
         | 
| 33 32 | 
             
                end
         | 
| 34 33 | 
             
              end
         | 
| 35 34 |  | 
| @@ -1,42 +1,30 @@ | |
| 1 1 | 
             
            module Helpdesk
         | 
| 2 2 | 
             
              class SubscribersController < Helpdesk::ApplicationController
         | 
| 3 3 |  | 
| 4 | 
            -
             | 
| 5 4 | 
             
                def index
         | 
| 6 5 | 
             
                  @subscriber = Subscriber.new
         | 
| 7 6 | 
             
                  @subscriber.lang = locale
         | 
| 8 | 
            -
             | 
| 9 | 
            -
                  respond_to do |format|
         | 
| 10 | 
            -
                    format.html # new.html.erb
         | 
| 11 | 
            -
                    format.json { render json: @subscriber }
         | 
| 12 | 
            -
                  end
         | 
| 13 7 | 
             
                end
         | 
| 14 8 |  | 
| 15 9 | 
             
                def create
         | 
| 16 10 | 
             
                  @subscriber = Subscriber.new(subscriber_params)
         | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
                      format.json { render json: @subscriber, status: :created, location: @subscriber }
         | 
| 22 | 
            -
                    else
         | 
| 23 | 
            -
                      format.html { render action: "new" }
         | 
| 24 | 
            -
                      format.json { render json: @subscriber.errors, status: :unprocessable_entity }
         | 
| 25 | 
            -
                    end
         | 
| 11 | 
            +
                  if @subscriber.save
         | 
| 12 | 
            +
                    redirect_to root_path, notice: 'Subscriber was successfully created.'
         | 
| 13 | 
            +
                  else
         | 
| 14 | 
            +
                    render action: "index"
         | 
| 26 15 | 
             
                  end
         | 
| 27 16 | 
             
                end
         | 
| 28 17 |  | 
| 18 | 
            +
                def activation
         | 
| 19 | 
            +
                  @subscriber = Subscriber.where(hashcode:params[:hashcode],confirmed:false).first
         | 
| 20 | 
            +
                  @subscriber.update_attributes(hashcode:nil,confirmed:true) if @subscriber
         | 
| 21 | 
            +
                  redirect_to root_path,notice: 'Subscriber was successfully activated.'
         | 
| 22 | 
            +
                end
         | 
| 29 23 |  | 
| 30 | 
            -
                # DELETE /subscribers/1
         | 
| 31 | 
            -
                # DELETE /subscribers/1.json
         | 
| 32 24 | 
             
                def destroy
         | 
| 33 | 
            -
                  @subscriber = Subscriber. | 
| 34 | 
            -
                  @subscriber.destroy
         | 
| 35 | 
            -
             | 
| 36 | 
            -
                  respond_to do |format|
         | 
| 37 | 
            -
                    format.html { redirect_to subscribers_url }
         | 
| 38 | 
            -
                    format.json { head :no_content }
         | 
| 39 | 
            -
                  end
         | 
| 25 | 
            +
                  @subscriber = Subscriber.where(hashcode:params[:hashcode],confirmed:true).first
         | 
| 26 | 
            +
                  @subscriber.destroy if @subscriber
         | 
| 27 | 
            +
                  redirect_to root_path,notice: 'Subscriber was successfully deleted.'
         | 
| 40 28 | 
             
                end
         | 
| 41 29 |  | 
| 42 30 | 
             
                private
         | 
| @@ -39,4 +39,10 @@ class Helpdesk::NotificationsMailer < ActionMailer::Base | |
| 39 39 | 
             
                     :to => Helpdesk.email)
         | 
| 40 40 | 
             
              end
         | 
| 41 41 |  | 
| 42 | 
            +
              def send_activate_subscription(subscriber)
         | 
| 43 | 
            +
                @subscriber = subscriber
         | 
| 44 | 
            +
                mail(:subject=>"#{t('helpdesk.name')}: Please Confirm Subscription",
         | 
| 45 | 
            +
                     :to => @subscriber.email)
         | 
| 46 | 
            +
              end
         | 
| 47 | 
            +
             | 
| 42 48 | 
             
            end
         | 
| @@ -4,6 +4,22 @@ module Helpdesk | |
| 4 4 | 
             
                scope :unconfirmed, ->{ where('confirmed = ? ',false)}
         | 
| 5 5 |  | 
| 6 6 | 
             
                validates_presence_of :email
         | 
| 7 | 
            +
                validates_uniqueness_of :email
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                before_create :generate_token
         | 
| 10 | 
            +
                after_create :send_activate_subscription
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                def generate_token
         | 
| 13 | 
            +
                  self.hashcode = loop do
         | 
| 14 | 
            +
                    random_token = SecureRandom.urlsafe_base64(nil, false)
         | 
| 15 | 
            +
                    break random_token unless Helpdesk::Subscriber.where(hashcode: random_token).exists?
         | 
| 16 | 
            +
                  end
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                def send_activate_subscription
         | 
| 20 | 
            +
                  Helpdesk::NotificationsMailer.send_activate_subscription(self).deliver
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
             | 
| 7 23 |  | 
| 8 24 | 
             
              end
         | 
| 9 25 | 
             
            end
         | 
| @@ -1,11 +1,13 @@ | |
| 1 1 | 
             
            - faqs.each do |faq|
         | 
| 2 2 | 
             
              %li
         | 
| 3 | 
            -
                 | 
| 4 | 
            -
             | 
| 5 | 
            -
             | 
| 6 | 
            -
                  = link_to t('helpdesk. | 
| 7 | 
            -
                  = link_to t('helpdesk. | 
| 8 | 
            -
                  = link_to t('helpdesk. | 
| 3 | 
            +
                %span.title
         | 
| 4 | 
            +
                  = faq.title
         | 
| 5 | 
            +
                %span.buttons
         | 
| 6 | 
            +
                  = link_to t('helpdesk.show'), faqs_path(anchor:faq.to_param), class: 'icon btn btn-info btn-xs', target: :faq_preview
         | 
| 7 | 
            +
                  = link_to t('helpdesk.edit'), edit_admin_faq_path(faq),class: 'icon btn btn-primary btn-xs'
         | 
| 8 | 
            +
                  = link_to t('helpdesk.add'), new_admin_faq_path(faq:{parent_id:faq.id}),class: 'icon btn btn-success btn-xs'
         | 
| 9 | 
            +
                  = link_to t('helpdesk.destroy'), admin_faq_path(faq), method: :delete, data: { confirm: 'Are you sure?' },class: 'icon btn btn-danger btn-xs'
         | 
| 10 | 
            +
             | 
| 9 11 | 
             
                - if faq.children.present?
         | 
| 10 | 
            -
                  % | 
| 11 | 
            -
                    = render partial:'/helpdesk/admin/faqs/faq', locals:{ faqs:faq.children }
         | 
| 12 | 
            +
                  %ul.faqs_list
         | 
| 13 | 
            +
                    = render partial:'/helpdesk/admin/faqs/faq', locals:{ faqs:faq.children.active }
         | 
| @@ -0,0 +1,27 @@ | |
| 1 | 
            +
            = render 'menu'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            - content_for :title do
         | 
| 4 | 
            +
              -if params[:faqs] && params[:faqs] == 'active'
         | 
| 5 | 
            +
                = t('helpdesk.faqs.active')
         | 
| 6 | 
            +
              -elsif params[:faqs] && params[:faqs] == 'inactive'
         | 
| 7 | 
            +
                = t('helpdesk.faqs.inactive')
         | 
| 8 | 
            +
              -else
         | 
| 9 | 
            +
                = t('helpdesk.faqs.all')
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            %ul.faqs_list.faqs_list_main
         | 
| 12 | 
            +
              - @faqs.each do |faq|
         | 
| 13 | 
            +
                %li
         | 
| 14 | 
            +
                  %span.title
         | 
| 15 | 
            +
                    = faq.title
         | 
| 16 | 
            +
                  %span.buttons
         | 
| 17 | 
            +
                    = link_to t('helpdesk.show'), faqs_path(anchor:faq.to_param), class: 'icon btn btn-info btn-xs', target: :faq_preview
         | 
| 18 | 
            +
                    = link_to t('helpdesk.edit'), edit_admin_faq_path(faq),class: 'icon btn btn-primary btn-xs'
         | 
| 19 | 
            +
                    = link_to t('helpdesk.add'), new_admin_faq_path(faq:{parent_id:faq.id}),class: 'icon btn btn-success btn-xs'
         | 
| 20 | 
            +
                    = link_to t('helpdesk.destroy'), admin_faq_path(faq), method: :delete, data: { confirm: 'Are you sure?' },class: 'icon btn btn-danger btn-xs'
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                  - if faq.children.present?
         | 
| 23 | 
            +
                    %ul.faqs_list
         | 
| 24 | 
            +
                      = render partial:'/helpdesk/admin/faqs/faq', locals:{ faqs:faq.children }
         | 
| 25 | 
            +
             | 
| 26 | 
            +
             | 
| 27 | 
            +
             | 
| @@ -9,14 +9,15 @@ | |
| 9 9 | 
             
                = menu_li @faq.title, sorting_admin_faq_url(@faq)
         | 
| 10 10 |  | 
| 11 11 |  | 
| 12 | 
            -
            %ul. | 
| 12 | 
            +
            %ul.faqs_list#faqs
         | 
| 13 13 | 
             
              - @faqs.each do |faq|
         | 
| 14 | 
            -
                %li | 
| 15 | 
            -
                  % | 
| 14 | 
            +
                %li{id:"faqs_#{faq.id}",style:'padding:5px 0px;'}
         | 
| 15 | 
            +
                  %span.handle.span2{style:'cursor:move'}
         | 
| 16 16 | 
             
                    %span
         | 
| 17 17 | 
             
                      = ico('move')
         | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 18 | 
            +
                  %span.title
         | 
| 19 | 
            +
                    = faq.title
         | 
| 20 | 
            +
                  %span.buttons
         | 
| 20 21 | 
             
                    - if faq.children.present?
         | 
| 21 22 | 
             
                      = link_to t('helpdesk.sort_this_childs'), sorting_admin_faq_url(faq), class: 'btn btn-info btn-xs'
         | 
| 22 23 |  | 
| @@ -0,0 +1,9 @@ | |
| 1 | 
            +
            - content_for :title do
         | 
| 2 | 
            +
              Please Confirm Subscription
         | 
| 3 | 
            +
            %p
         | 
| 4 | 
            +
              = link_to 'Yes, subscribe me to this list.',subscribers_activation_url(locale:I18n.locale,hashcode: @subscriber.hashcode)
         | 
| 5 | 
            +
            %p
         | 
| 6 | 
            +
              If you received this email by mistake, simply delete it. You won't be subscribed if you don't click the confirmation link above.
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            %p
         | 
| 9 | 
            +
              = "For questions about this list, please contact: #{Helpdesk.email}"
         | 
| @@ -0,0 +1,18 @@ | |
| 1 | 
            +
            = simple_form_for @subscriber do |f|
         | 
| 2 | 
            +
              .form-inputs
         | 
| 3 | 
            +
                - if @subscriber.errors.any?
         | 
| 4 | 
            +
                  #error_explanation
         | 
| 5 | 
            +
                  %ul
         | 
| 6 | 
            +
                    - @subscriber.errors.full_messages.each do |msg|
         | 
| 7 | 
            +
                      %li= msg
         | 
| 8 | 
            +
                = f.input :name
         | 
| 9 | 
            +
                = f.input :email
         | 
| 10 | 
            +
                = f.input :lang, collections: I18n.available_locales
         | 
| 11 | 
            +
             | 
| 12 | 
            +
             | 
| 13 | 
            +
             | 
| 14 | 
            +
              .form-actions
         | 
| 15 | 
            +
                = f.submit 'Save', class:'btn btn-primary'
         | 
| 16 | 
            +
                = link_to 'Back', admin_faqs_path,class: 'btn btn-default'
         | 
| 17 | 
            +
             | 
| 18 | 
            +
             | 
    
        data/config/routes.rb
    CHANGED
    
    | @@ -17,6 +17,7 @@ Helpdesk::Engine.routes.draw do | |
| 17 17 | 
             
                  root :to => 'tickets#index'
         | 
| 18 18 | 
             
                end
         | 
| 19 19 |  | 
| 20 | 
            +
                get 'subscribers/a/:hashcode'=>'subscribers#activation',as:'subscribers_activation'
         | 
| 20 21 | 
             
                resources :subscribers, :only => [:index, :create, :destroy]
         | 
| 21 22 | 
             
                resources :faqs, :only => [ :index, :show ] do
         | 
| 22 23 | 
             
                  get :search, on: :collection
         | 
    
        data/lib/helpdesk/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: helpdesk
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.37
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - John Beynon Wacław Łuczak
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014-11- | 
| 11 | 
            +
            date: 2014-11-21 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: launchy
         | 
| @@ -392,6 +392,7 @@ files: | |
| 392 392 | 
             
            - app/assets/javascripts/helpdesk/subscribers.js
         | 
| 393 393 | 
             
            - app/assets/stylesheets/helpdesk/admin.css.scss
         | 
| 394 394 | 
             
            - app/assets/stylesheets/helpdesk/admin/bootstrap_overrides.css
         | 
| 395 | 
            +
            - app/assets/stylesheets/helpdesk/admin/faqs.css.sass
         | 
| 395 396 | 
             
            - app/assets/stylesheets/helpdesk/admin/tickets.css
         | 
| 396 397 | 
             
            - app/assets/stylesheets/helpdesk/application.css
         | 
| 397 398 | 
             
            - app/assets/stylesheets/helpdesk/custom.css
         | 
| @@ -427,6 +428,7 @@ files: | |
| 427 428 | 
             
            - app/views/helpdesk/admin/faqs/_form.html.haml
         | 
| 428 429 | 
             
            - app/views/helpdesk/admin/faqs/_menu.html.haml
         | 
| 429 430 | 
             
            - app/views/helpdesk/admin/faqs/edit.html.haml
         | 
| 431 | 
            +
            - app/views/helpdesk/admin/faqs/inactive.html.haml
         | 
| 430 432 | 
             
            - app/views/helpdesk/admin/faqs/index.html.haml
         | 
| 431 433 | 
             
            - app/views/helpdesk/admin/faqs/new.html.haml
         | 
| 432 434 | 
             
            - app/views/helpdesk/admin/faqs/show.html.haml
         | 
| @@ -460,9 +462,10 @@ files: | |
| 460 462 | 
             
            - app/views/helpdesk/notifications_mailer/comment_by_helpdesk_notification.html.haml
         | 
| 461 463 | 
             
            - app/views/helpdesk/notifications_mailer/comment_by_requester_confirmation.html.haml
         | 
| 462 464 | 
             
            - app/views/helpdesk/notifications_mailer/comment_by_requester_notification.html.haml
         | 
| 465 | 
            +
            - app/views/helpdesk/notifications_mailer/send_activate_subscription.html.haml
         | 
| 463 466 | 
             
            - app/views/helpdesk/notifications_mailer/ticket_created_confirmation.html.haml
         | 
| 464 467 | 
             
            - app/views/helpdesk/notifications_mailer/ticket_created_notification.html.haml
         | 
| 465 | 
            -
            - app/views/helpdesk/subscribers/_form.html. | 
| 468 | 
            +
            - app/views/helpdesk/subscribers/_form.html.haml
         | 
| 466 469 | 
             
            - app/views/helpdesk/subscribers/edit.html.erb
         | 
| 467 470 | 
             
            - app/views/helpdesk/subscribers/index.html.erb
         | 
| 468 471 | 
             
            - app/views/helpdesk/subscribers/show.html.erb
         | 
| @@ -1,37 +0,0 @@ | |
| 1 | 
            -
            <%= form_for(@subscriber) do |f| %>
         | 
| 2 | 
            -
              <% if @subscriber.errors.any? %>
         | 
| 3 | 
            -
                <div id="error_explanation">
         | 
| 4 | 
            -
                  <h2><%= pluralize(@subscriber.errors.count, "error") %> prohibited this subscriber from being saved:</h2>
         | 
| 5 | 
            -
             | 
| 6 | 
            -
                  <ul>
         | 
| 7 | 
            -
                  <% @subscriber.errors.full_messages.each do |msg| %>
         | 
| 8 | 
            -
                    <li><%= msg %></li>
         | 
| 9 | 
            -
                  <% end %>
         | 
| 10 | 
            -
                  </ul>
         | 
| 11 | 
            -
                </div>
         | 
| 12 | 
            -
              <% end %>
         | 
| 13 | 
            -
             | 
| 14 | 
            -
              <div class="field">
         | 
| 15 | 
            -
                <%= f.label :name %><br />
         | 
| 16 | 
            -
                <%= f.text_field :name %>
         | 
| 17 | 
            -
              </div>
         | 
| 18 | 
            -
              <div class="field">
         | 
| 19 | 
            -
                <%= f.label :email %><br />
         | 
| 20 | 
            -
                <%= f.text_field :email %>
         | 
| 21 | 
            -
              </div>
         | 
| 22 | 
            -
              <div class="field">
         | 
| 23 | 
            -
                <%= f.label :lang %><br />
         | 
| 24 | 
            -
                <%= f.text_field :lang %>
         | 
| 25 | 
            -
              </div>
         | 
| 26 | 
            -
              <div class="field">
         | 
| 27 | 
            -
                <%= f.label :hashcode %><br />
         | 
| 28 | 
            -
                <%= f.text_field :hashcode %>
         | 
| 29 | 
            -
              </div>
         | 
| 30 | 
            -
              <div class="field">
         | 
| 31 | 
            -
                <%= f.label :confirmed %><br />
         | 
| 32 | 
            -
                <%= f.text_field :confirmed %>
         | 
| 33 | 
            -
              </div>
         | 
| 34 | 
            -
              <div class="actions">
         | 
| 35 | 
            -
                <%= f.submit %>
         | 
| 36 | 
            -
              </div>
         | 
| 37 | 
            -
            <% end %>
         |