end of day commit
This commit is contained in:
@@ -36,6 +36,7 @@ group :assets do
|
|||||||
|
|
||||||
gem 'uglifier', '>= 1.0.3'
|
gem 'uglifier', '>= 1.0.3'
|
||||||
#gem "emblem-source", github: "machty/emblem.js"
|
#gem "emblem-source", github: "machty/emblem.js"
|
||||||
|
gem 'emblem-source', '0.3.18'
|
||||||
gem 'emblem-rails'
|
gem 'emblem-rails'
|
||||||
gem 'ember-validations-rails'
|
gem 'ember-validations-rails'
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -198,7 +198,7 @@ GEM
|
|||||||
emblem-rails (0.2.2)
|
emblem-rails (0.2.2)
|
||||||
barber-emblem (~> 0.1.1)
|
barber-emblem (~> 0.1.1)
|
||||||
ember-rails (>= 0.14.0)
|
ember-rails (>= 0.14.0)
|
||||||
emblem-source (0.4.0)
|
emblem-source (0.3.18)
|
||||||
erubis (2.7.0)
|
erubis (2.7.0)
|
||||||
eventmachine (1.0.7)
|
eventmachine (1.0.7)
|
||||||
execjs (2.3.0)
|
execjs (2.3.0)
|
||||||
@@ -470,6 +470,7 @@ DEPENDENCIES
|
|||||||
ember-validations-rails
|
ember-validations-rails
|
||||||
ember_script-rails!
|
ember_script-rails!
|
||||||
emblem-rails
|
emblem-rails
|
||||||
|
emblem-source (= 0.3.18)
|
||||||
factory_girl_rails
|
factory_girl_rails
|
||||||
faye
|
faye
|
||||||
font-awesome-rails
|
font-awesome-rails
|
||||||
|
|||||||
@@ -5,5 +5,8 @@
|
|||||||
#= require_directory .
|
#= require_directory .
|
||||||
#= require_self
|
#= require_self
|
||||||
$ ->
|
$ ->
|
||||||
|
# Responsive menu
|
||||||
$('.menu-secondary-toggle').click -> $('.nav.secondary').toggleClass('active')
|
$('.menu-secondary-toggle').click -> $('.nav.secondary').toggleClass('active')
|
||||||
|
|
||||||
|
# Foundation javascript support
|
||||||
$(document).foundation()
|
$(document).foundation()
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ App.Table = DS.Model.extend
|
|||||||
occupied: attr 'boolean'
|
occupied: attr 'boolean'
|
||||||
section: DS.belongsTo('section')
|
section: DS.belongsTo('section')
|
||||||
product_orders: DS.hasMany('product_order')
|
product_orders: DS.hasMany('product_order')
|
||||||
#active_list: DS.belongsTo('list')
|
active_list: DS.belongsTo('list')
|
||||||
#active_list: (->
|
#active_list: (->
|
||||||
#@get('list')
|
#@get('list')
|
||||||
#).property('list')
|
#).property('list')
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# http://emberjs.com/guides/models/defining-a-store/
|
# http://emberjs.com/guides/models/defining-a-store/
|
||||||
DS.RESTAdapter.reopen
|
#DS.RESTAdapter.reopen
|
||||||
namespace: 'waiter'
|
#namespace: 'waiter'
|
||||||
|
|
||||||
App.ApplicationSerializer = DS.ActiveModelSerializer
|
App.ApplicationSerializer = DS.ActiveModelSerializer
|
||||||
App.CustomAdapter = DS.RESTAdapter.extend
|
App.CustomAdapter = DS.RESTAdapter.extend
|
||||||
@@ -9,5 +9,8 @@ App.CustomAdapter = DS.RESTAdapter.extend
|
|||||||
pathForType: (type)->
|
pathForType: (type)->
|
||||||
decamelized = Ember.String.decamelize(type)
|
decamelized = Ember.String.decamelize(type)
|
||||||
Ember.String.pluralize(decamelized)
|
Ember.String.pluralize(decamelized)
|
||||||
App.Store = DS.Store.extend
|
#App.Store = DS.Store.extend
|
||||||
adapter: App.CustomAdapter
|
#adapter: App.CustomAdapter
|
||||||
|
App.ApplicationStore = DS.Store.extend
|
||||||
|
adapter: DS.ActiveModelAdapter.extend
|
||||||
|
namespace: 'waiter'
|
||||||
|
|||||||
@@ -5,5 +5,5 @@ each product_category in controller
|
|||||||
ul.product_category-products
|
ul.product_category-products
|
||||||
each product in product_category.products
|
each product in product_category.products
|
||||||
li
|
li
|
||||||
a{action addProduct product } href="#" = product.name
|
a{action "addProduct" product } href="#" = product.name
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,8 @@
|
|||||||
position: relative
|
position: relative
|
||||||
list-style: none
|
list-style: none
|
||||||
float: left
|
float: left
|
||||||
|
&.contact
|
||||||
|
float: right
|
||||||
a
|
a
|
||||||
border: 0
|
border: 0
|
||||||
color: white
|
color: white
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
class ContactFormsController < ApplicationController
|
||||||
|
def create
|
||||||
|
@contact_form = Cmtool::ContactForm.new(contact_form_params)
|
||||||
|
if @contact_form.save
|
||||||
|
redirect_to root_path, notice: t('contact_form.submitted')
|
||||||
|
else
|
||||||
|
redirect_to go_to_path('contact', locale: I18n.locale), alert: @contact_form.errors.full_messages.join(', ')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def contact_form_params
|
||||||
|
params.require(:contact_form).permit!
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
class Waiter::ApplicationController < Suppliers::ApplicationController
|
||||||
|
layout 'waiter'
|
||||||
|
end
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
class Waiter::DashboardController < Waiter::ApplicationController
|
||||||
|
skip_load_and_authorize_resource
|
||||||
|
def index
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -5,10 +5,10 @@ class WaiterController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def sections
|
def sections
|
||||||
json = '{"tables":[{"id":"0903d04a003991835f9f32d1821ee05c","number":102,"width":2.0,"height":2.0,"position_x":14.242294520547945,"position_y":3.1862955032119915,"section_id":"1a9d4cc551dac96f87a21c97ba1e710b","occupied":true,"active_list_id":"1cef487ec268169687f481cb828924c2"},{"id":"0903d04a003991835f9f32d1821efb50","number":100,"width":2.0,"height":2.0,"position_x":6.5,"position_y":6.5,"section_id":"1a9d4cc551dac96f87a21c97ba1e710b","occupied":false,"active_list_id":null},{"id":"1a9d4cc551dac96f87a21c97ba3d15fa","number":11,"width":2.0,"height":2.0,"position_x":6.5,"position_y":1.5,"section_id":"1a9d4cc551dac96f87a21c97ba1e710b","occupied":false,"active_list_id":null},{"id":"0903d04a003991835f9f32d1821ededd","number":103,"width":2.0,"height":2.0,"position_x":9.0,"position_y":6.5,"section_id":"222fcd43b55e397d11d92ccb601e70dc","occupied":false,"active_list_id":null},{"id":"0903d04a003991835f9f32d1821eee07","number":101,"width":2.0,"height":2.0,"position_x":2.3333333333333335,"position_y":6.5,"section_id":"222fcd43b55e397d11d92ccb601e70dc","occupied":false,"active_list_id":null},{"id":"1a9d4cc551dac96f87a21c97ba3d0dbd","number":12,"width":2.0,"height":2.0,"position_x":9.854452054794521,"position_y":2.7054794520547945,"section_id":"222fcd43b55e397d11d92ccb601e70dc","occupied":false,"active_list_id":null},{"id":"1a9d4cc551dac96f87a21c97ba3d2221","number":10,"width":2.0,"height":2.0,"position_x":6.4811643835616435,"position_y":2.0034246575342465,"section_id":"222fcd43b55e397d11d92ccb601e70dc","occupied":false,"active_list_id":null},{"id":"1a9d4cc551dac96f87a21c97ba3d2cf7","number":1,"width":2.0,"height":2.0,"position_x":2.3333333333333335,"position_y":1.5,"section_id":"222fcd43b55e397d11d92ccb601e70dc","occupied":false,"active_list_id":null}],"lists":[{"id":"1cef487ec268169687f481cb828924c2","state":"active","needs_help":true,"needs_payment":false,"is_paid":false,"price":46.8,"table_id":"0903d04a003991835f9f32d1821ee05c","table_number":102,"section_id":"1a9d4cc551dac96f87a21c97ba1e710b","has_active_orders":true,"user_ids":["8afe7cccf1c690e60aa2ace1bf1d8a71"]}],"sections":[{"id":"1a9d4cc551dac96f87a21c97ba1e710b","title":"Ruimte2","path":[[0.0,0.0],[30.0,12.0],[30.0,12.0],[0.0,12.0]],"width":30.0,"height":12.0,"table_ids":["0903d04a003991835f9f32d1821ee05c","0903d04a003991835f9f32d1821efb50","1a9d4cc551dac96f87a21c97ba3d15fa"]},{"id":"222fcd43b55e397d11d92ccb601e70dc","title":"Buiten","path":[[0.0,0.0],[20.0,20.0],[20.0,20.0],[0.0,20.0]],"width":20.0,"height":20.0,"table_ids":["0903d04a003991835f9f32d1821ededd","0903d04a003991835f9f32d1821eee07","1a9d4cc551dac96f87a21c97ba3d0dbd","1a9d4cc551dac96f87a21c97ba3d2221","1a9d4cc551dac96f87a21c97ba3d2cf7"]}]}'
|
sections = current_supplier.sections.include_relation(:tables)
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { redirect_to '/waiter'}
|
format.html { redirect_to '/waiter'}
|
||||||
format.json { render json: json }
|
format.json { render json: sections, each_serializer: Waiter::SectionSerializer }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
class Waiter::SectionSerializer < Qwaiter::Serializer
|
||||||
|
self.root = :section
|
||||||
|
attributes :title, :path, :width, :height
|
||||||
|
end
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
class Waiter::TableSerializer < Qwaiter::Serializer
|
||||||
|
attributes :number, :width, :height, :position_x, :position_y, :section_id, :needs_help
|
||||||
|
end
|
||||||
@@ -3,6 +3,6 @@ h2= t('devise.passwords.title')
|
|||||||
= devise_error_messages!
|
= devise_error_messages!
|
||||||
= f.row :email do
|
= f.row :email do
|
||||||
.form-label= f.label :email, class: 'control-label'
|
.form-label= f.label :email, class: 'control-label'
|
||||||
.form-field= f.email_field :email
|
.form-field= f.email_field :email, autofocus: true
|
||||||
.form-row.form-actions= f.submit t('devise.passwords.button'), class: 'button'
|
.form-row.form-actions= f.submit t('devise.passwords.button'), class: 'button'
|
||||||
= render "devise/links"
|
= render "devise/links"
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
h1.page-title= t 'devise.registrations.title'
|
||||||
.row
|
.row
|
||||||
.small-12.columns
|
.small-12.columns
|
||||||
ul
|
ul
|
||||||
@@ -10,28 +11,28 @@
|
|||||||
li Download the app on your phone to test as a user
|
li Download the app on your phone to test as a user
|
||||||
li Scan a qr-code from you restaurant screen with your phone, and you can test ordering products!!!
|
li Scan a qr-code from you restaurant screen with your phone, and you can test ordering products!!!
|
||||||
.row
|
.row
|
||||||
.large-7.large-offset-1.columns
|
.large-8.large-offset-1.columns
|
||||||
= form_for @new_supplier do |f|
|
= form_for @new_supplier do |f|
|
||||||
= f.row :supplier_name
|
= f.row :supplier_name
|
||||||
.large-4.columns= f.label :supplier_name
|
.large-4.columns= f.label :supplier_name
|
||||||
.large-4.columns= f.text_field :supplier_name
|
.large-6.columns= f.text_field :supplier_name, autofocus: true
|
||||||
.large-4.columns= f.error_message :supplier_name
|
.large-2.columns= f.error_message :supplier_name
|
||||||
= f.row :email
|
= f.row :email
|
||||||
.large-4.columns= f.label :email
|
.large-4.columns= f.label :email
|
||||||
.large-4.columns
|
.large-6.columns
|
||||||
- if @new_supplier.current_employee.present?
|
- if @new_supplier.current_employee.present?
|
||||||
= @new_supplier.current_employee.email
|
= @new_supplier.current_employee.email
|
||||||
- else
|
- else
|
||||||
= f.email_field :email
|
= f.email_field :email
|
||||||
.large-4.columns= f.error_message :email
|
.large-2.columns= f.error_message :email
|
||||||
- if not @new_supplier.current_employee.present?
|
- if not @new_supplier.current_employee.present?
|
||||||
= f.row :password
|
= f.row :password
|
||||||
.large-4.columns= f.label :password
|
.large-4.columns= f.label :password
|
||||||
.large-4.columns= f.text_field :password
|
.large-4.columns= f.password_field :password
|
||||||
.large-4.columns= f.error_message :password
|
.large-4.columns= f.error_message :password
|
||||||
= f.row :password_confirmation
|
= f.row :password_confirmation
|
||||||
.large-4.columns= f.label :password_confirmation
|
.large-4.columns= f.label :password_confirmation
|
||||||
.large-4.columns= f.text_field :password_confirmation
|
.large-4.columns= f.password_field :password_confirmation
|
||||||
.large-4.columns= f.error_message :password_confirmation
|
.large-4.columns= f.error_message :password_confirmation
|
||||||
|
|
||||||
.form-actions
|
.form-actions
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
.row
|
||||||
|
.large-9.columns
|
||||||
|
.row: .small-12.columns=raw @page.body
|
||||||
|
= form_for Cmtool::ContactForm.new, url: contact_forms_path, html: {class: 'contact'} do |f|
|
||||||
|
.row
|
||||||
|
.large-4.columns: label Uw naam:
|
||||||
|
.large-2.columns= f.select :gender, [['Dhr.', 'male'], ['Mevr.', 'female']]
|
||||||
|
.large-6.columns.end= f.text_field :name
|
||||||
|
.row
|
||||||
|
.small-12.columns.end
|
||||||
|
label Uw vraag of opmerking:*
|
||||||
|
br
|
||||||
|
= f.text_area :body, cols: 32, rows: 8
|
||||||
|
.row
|
||||||
|
.large-4.columns: label Uw e-mail adres:*
|
||||||
|
.large-8.columns.end= f.email_field :email
|
||||||
|
.row
|
||||||
|
.large-12.columns
|
||||||
|
= f.submit 'verstuur', class: 'button'
|
||||||
|
br
|
||||||
|
span * Verplicht veld
|
||||||
|
.large-3.columns== @page.sidebar
|
||||||
@@ -6,7 +6,7 @@ h2= t('devise.sign_in.title')
|
|||||||
.form-field= f.email_field :email
|
.form-field= f.email_field :email
|
||||||
= f.row :email do
|
= f.row :email do
|
||||||
.form-label= f.label :password
|
.form-label= f.label :password
|
||||||
.form-field= f.password_field :password
|
.form-field= f.password_field :password, autofocus: true
|
||||||
.form-row
|
.form-row
|
||||||
= f.label :remember_me do
|
= f.label :remember_me do
|
||||||
= f.check_box :remember_me
|
= f.check_box :remember_me
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
a.menu-secondary-toggle href="#"
|
a.menu-secondary-toggle href="#"
|
||||||
span
|
span
|
||||||
ul.nav
|
ul.nav
|
||||||
li[class=(current_page?(controller: '/pages', action: 'home') ? :active : nil)]= link_to find_page('home').try(:menu_text), locale_root_path
|
li[class=(current_page?(controller: '/pages', action: 'home') ? ['home', :active] : ['home'])]= link_to find_page('home').try(:menu_text), locale_root_path
|
||||||
li[class=(current_page?(controller: '/pages', action: 'show', name: 'about') ? :active : nil)]= link_to find_page('about').try(:menu_text), page_path('about')
|
li[class=(current_page?(controller: '/pages', action: 'show', name: 'about') ? ['about', :active] : ['about'])]= link_to find_page('about').try(:menu_text), page_path('about')
|
||||||
ul.nav.secondary
|
ul.nav.secondary
|
||||||
- Page.menu_roots.each do |page|
|
- Page.menu_roots.each do |page|
|
||||||
li[class=(current_page?(controller: '/pages', action: 'show', name: page.name) ? :active : nil)]= link_to page.menu_text, page_path(page.name)
|
li[class=(current_page?(controller: '/pages', action: 'show', name: page.name) ? [page.name, :active] : [page.name])]= link_to page.menu_text, page_path(page.name)
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ en:
|
|||||||
title: Change your password
|
title: Change your password
|
||||||
button: Change password
|
button: Change password
|
||||||
registrations:
|
registrations:
|
||||||
|
title: Sign up for mozo as a restaurant
|
||||||
link: Sign up
|
link: Sign up
|
||||||
links:
|
links:
|
||||||
prefix: 'OR:'
|
prefix: 'OR:'
|
||||||
|
|||||||
@@ -3,10 +3,17 @@ nl:
|
|||||||
sign_in:
|
sign_in:
|
||||||
title: Inloggen
|
title: Inloggen
|
||||||
remember_me: Mij onthouden
|
remember_me: Mij onthouden
|
||||||
|
link: Inloggen
|
||||||
button: Inloggen
|
button: Inloggen
|
||||||
recoverable:
|
passwords:
|
||||||
button: Wachtwoord vergeten
|
title: Wachtwoord vergeten
|
||||||
|
link: Wachtwoord vergeten
|
||||||
|
button: Stuur reset
|
||||||
|
edit:
|
||||||
|
title: Change your password
|
||||||
|
button: Change password
|
||||||
registrations:
|
registrations:
|
||||||
button: Aanmelden
|
title: Aanmelden als restaurant
|
||||||
|
link: Aanmelden
|
||||||
links:
|
links:
|
||||||
prefix: 'OF:'
|
prefix: 'OF:'
|
||||||
|
|||||||
@@ -68,6 +68,11 @@ en:
|
|||||||
postal_code: Postal code
|
postal_code: Postal code
|
||||||
city: City
|
city: City
|
||||||
country: Country
|
country: Country
|
||||||
|
new_supplier:
|
||||||
|
supplier_name: Restaurant name
|
||||||
|
email: E-mail
|
||||||
|
password: Password
|
||||||
|
password_confirmation: Password confirmation
|
||||||
table:
|
table:
|
||||||
number: Number
|
number: Number
|
||||||
from_number: From number
|
from_number: From number
|
||||||
|
|||||||
@@ -67,6 +67,11 @@ nl:
|
|||||||
postal_code: Postcode
|
postal_code: Postcode
|
||||||
city: Stad
|
city: Stad
|
||||||
country: Land
|
country: Land
|
||||||
|
new_supplier:
|
||||||
|
supplier_name: Restaurant name
|
||||||
|
email: E-mail
|
||||||
|
password: Wachtwoord
|
||||||
|
password_confirmation: Nogmaals wachtwoord
|
||||||
table:
|
table:
|
||||||
number: Nummer
|
number: Nummer
|
||||||
from_number: Vanaf nummer
|
from_number: Vanaf nummer
|
||||||
|
|||||||
+9
-3
@@ -32,17 +32,20 @@ Qwaiter::Application.routes.draw do
|
|||||||
root to: 'users#index'
|
root to: 'users#index'
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :new_suppliers
|
|
||||||
|
|
||||||
post '/user_app' => 'dashboard#user_app_log' #TODO: separate high speed app at log.mozo.bar
|
post '/user_app' => 'dashboard#user_app_log' #TODO: separate high speed app at log.mozo.bar
|
||||||
post '/user_feedback' => 'user#feedback'
|
post '/user_feedback' => 'user#feedback'
|
||||||
|
|
||||||
#WAITER
|
#WAITER
|
||||||
get '/waiter' => 'waiter#index' #, controller: 'waiter', action: 'index'
|
#get '/waiter' => 'waiter#index' #, controller: 'waiter', action: 'index'
|
||||||
get '/waiter/sections' => 'waiter#sections'
|
get '/waiter/sections' => 'waiter#sections'
|
||||||
get '/waiter/product_categories' => 'waiter#product_categories'
|
get '/waiter/product_categories' => 'waiter#product_categories'
|
||||||
get '/waiter/*rest' => redirect('/waiter') # Ember app refresh
|
get '/waiter/*rest' => redirect('/waiter') # Ember app refresh
|
||||||
post '/waiter/order_products' => 'waiter#order_products', as: :order_products_waiter
|
post '/waiter/order_products' => 'waiter#order_products', as: :order_products_waiter
|
||||||
|
namespace :waiter do
|
||||||
|
root to: 'dashboard#index'
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
# USER
|
# USER
|
||||||
@@ -172,12 +175,15 @@ Qwaiter::Application.routes.draw do
|
|||||||
|
|
||||||
mount Cmtool::Engine => '/cmtool'
|
mount Cmtool::Engine => '/cmtool'
|
||||||
|
|
||||||
#get '/:locale' => 'pages#home', constraints: {locale: ALLOWED_LOCALES}
|
# /nl is not matched to pages#home with locale => nl
|
||||||
|
get '/:locale' => 'pages#home', constraints: {locale: ALLOWED_LOCALES}
|
||||||
#devise_scope :supplier do
|
#devise_scope :supplier do
|
||||||
#get '/:locale/suppliers/sign_up' => 'registrations#new', constraints: {locale: ALLOWED_LOCALES}
|
#get '/:locale/suppliers/sign_up' => 'registrations#new', constraints: {locale: ALLOWED_LOCALES}
|
||||||
#end
|
#end
|
||||||
scope '(/:locale)', constraints: {locale: ALLOWED_LOCALES}, defaults: { locale: 'en' } do
|
scope '(/:locale)', constraints: {locale: ALLOWED_LOCALES}, defaults: { locale: 'en' } do
|
||||||
root to: 'pages#home'
|
root to: 'pages#home'
|
||||||
|
resources :contact_forms, only: [:create]
|
||||||
|
resources :new_suppliers
|
||||||
get "/:name" => "pages#show", constraints: {name: /.*/}, as: :go_to
|
get "/:name" => "pages#show", constraints: {name: /.*/}, as: :go_to
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
Feature: Submitting contact form
|
||||||
|
Scenario: Website visitor submits contact form
|
||||||
|
Given there are standard website pages
|
||||||
|
When I visit '/contact'
|
||||||
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
step "there are standard website pages" do
|
||||||
|
create_site_pages
|
||||||
|
end
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
FactoryGirl.define do
|
FactoryGirl.define do
|
||||||
factory :page do
|
factory :page do
|
||||||
|
locale 'en'
|
||||||
|
layout 'theme1'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -28,6 +28,12 @@ module Features
|
|||||||
submit_form
|
submit_form
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def create_site_pages
|
||||||
|
@home = create :page, name: 'home', layout: 'theme1-home', title: 'Home'
|
||||||
|
@about = create :page, name: 'about', title: 'About mozo'
|
||||||
|
@contact = create :page, name: 'contact', title: 'Contact'
|
||||||
|
end
|
||||||
|
|
||||||
def submit_form
|
def submit_form
|
||||||
find("[type=submit]").click
|
find("[type=submit]").click
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user