diff --git a/Gemfile b/Gemfile index b75e4073..3559aba3 100644 --- a/Gemfile +++ b/Gemfile @@ -15,6 +15,7 @@ group :assets do gem 'sass-rails', '~> 3.2.3' gem 'coffee-rails', '~> 3.2.1' gem 'twitter-bootstrap-rails' + gem 'bootstrap-sass' gem 'compass-rails' # See https://github.com/sstephenson/execjs#readme for more supported runtimes diff --git a/Gemfile.lock b/Gemfile.lock index 44dff7fe..d47fb3c6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -49,6 +49,8 @@ GEM addressable (2.3.2) arel (3.0.2) bcrypt-ruby (3.0.1) + bootstrap-sass (2.2.1.1) + sass (~> 3.2) builder (3.0.4) capybara (2.0.1) mime-types (>= 1.16) @@ -268,6 +270,7 @@ PLATFORMS ruby DEPENDENCIES + bootstrap-sass coffee-rails (~> 3.2.1) compass-rails couch_potato! diff --git a/Guardfile b/Guardfile index f5478504..453841ee 100644 --- a/Guardfile +++ b/Guardfile @@ -2,7 +2,7 @@ # More info at https://github.com/guard/guard#readme guard 'rspec' do - watch(%r{^spec/.+_spec\.rb$}) + watch(%r{^spec/(.+)_spec\.rb$}) { |m| "spec/#{m[1]}_spec.rb"} watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" } watch('spec/spec_helper.rb') { "spec" } diff --git a/app/assets/javascripts/supplier/application.js b/app/assets/javascripts/supplier/application.js index f7c7d0fc..a721ca72 100644 --- a/app/assets/javascripts/supplier/application.js +++ b/app/assets/javascripts/supplier/application.js @@ -16,6 +16,7 @@ //= require mustache //= require faye //= require supplier/base +//= require qwaiter //= require_directory . //= require_self var path_mapping = { diff --git a/app/assets/stylesheets/admin/application.css b/app/assets/stylesheets/admin/application.css new file mode 100644 index 00000000..e6c12c5d --- /dev/null +++ b/app/assets/stylesheets/admin/application.css @@ -0,0 +1,14 @@ +/* + * This is a manifest file that'll be compiled into application.css, which will include all the files + * listed below. + * + * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, + * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path. + * + * You're free to add application-wide styles to this file and they'll appear at the top of the + * compiled file, but it's generally better to create a new file per style scope. + * + *= require_directory . + * require 'bootstrap-devise-rails' + *= require_self + */ diff --git a/app/assets/stylesheets/admin/bootstrap_and_overrides.css.sass b/app/assets/stylesheets/admin/bootstrap_and_overrides.css.sass new file mode 100644 index 00000000..51fd9d19 --- /dev/null +++ b/app/assets/stylesheets/admin/bootstrap_and_overrides.css.sass @@ -0,0 +1,3 @@ +@import bootstrap +body + padding-top: 60px !important diff --git a/app/assets/stylesheets/twitter-bootstrap/bootstrap_and_overrides.css.less b/app/assets/stylesheets/twitter-bootstrap/bootstrap_and_overrides.css.less index 14bf301d..d9676476 100644 --- a/app/assets/stylesheets/twitter-bootstrap/bootstrap_and_overrides.css.less +++ b/app/assets/stylesheets/twitter-bootstrap/bootstrap_and_overrides.css.less @@ -12,13 +12,13 @@ body { // Set the Font Awesome (Font Awesome is default. You can disable by commenting below lines) // Note: If you use asset_path() here, your compiled boostrap_and_overrides.css will not // have the proper paths. So for now we use the absolute path. -@fontAwesomeEotPath: '/assets/fontawesome-webfont.eot'; -@fontAwesomeWoffPath: '/assets/fontawesome-webfont.woff'; -@fontAwesomeTtfPath: '/assets/fontawesome-webfont.ttf'; -@fontAwesomeSvgPath: '/assets/fontawesome-webfont.svg'; +//@fontAwesomeEotPath: '/assets/fontawesome-webfont.eot'; +//@fontAwesomeWoffPath: '/assets/fontawesome-webfont.woff'; +//@fontAwesomeTtfPath: '/assets/fontawesome-webfont.ttf'; +//@fontAwesomeSvgPath: '/assets/fontawesome-webfont.svg'; // Font Awesome -@import "fontawesome"; +//@import "fontawesome"; // Your custom LESS stylesheets goes here // diff --git a/app/controllers/admin/application_controller.rb b/app/controllers/admin/application_controller.rb new file mode 100644 index 00000000..bc7280df --- /dev/null +++ b/app/controllers/admin/application_controller.rb @@ -0,0 +1,6 @@ +module Admin + class ApplicationController < ::ApplicationController + before_filter :authenticate_administrator! + layout 'administrator' + end +end diff --git a/app/controllers/admin/lists_controller.rb b/app/controllers/admin/lists_controller.rb new file mode 100644 index 00000000..97a941bc --- /dev/null +++ b/app/controllers/admin/lists_controller.rb @@ -0,0 +1,94 @@ +# encoding: UTF-8 +module Admin + class ListsController < Admin::ApplicationController + before_filter :set_relation_options, only: [:new, :edit, :create, :update] + # GET /lists + # GET /lists.json + def index + @lists = List.all + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @lists } + end + end + + # GET /lists/1 + # GET /lists/1.json + def show + @list = List.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.json { render json: @list } + end + end + + # GET /lists/new + # GET /lists/new.json + def new + @list = List.new + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @list } + end + end + + # GET /lists/1/edit + def edit + @list = List.find(params[:id]) + end + + # POST /lists + # POST /lists.json + def create + @list = List.new(params[:list]) + + respond_to do |format| + if @list.save + format.html { redirect_to [:admin, @list], notice: t('action.create.successfull', model: List.model_name.human) } + format.json { render json: @list, status: :created, location: @list } + else + format.html { render action: "new" } + format.json { render json: @list.errors, status: :unprocessable_entity } + end + end + end + + # PUT /lists/1 + # PUT /lists/1.json + def update + @list = List.find(params[:id]) + + respond_to do |format| + if @list.update_attributes(params[:list]) + format.html { redirect_to [:admin, @list], notice: t('action.update.successfull', model: List.model_name.human) } + format.json { head :no_content } + else + format.html { render action: "edit" } + format.json { render json: @list.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /lists/1 + # DELETE /lists/1.json + def destroy + @list = List.find(params[:id]) + @list.destroy + + respond_to do |format| + format.html { redirect_to admin_lists_path, notice: t('action.destroy.successfull', model: List.model_name.human) } + format.json { head :no_content } + end + end + + private + + def set_relation_options + @tables = Table.all + @suppliers = Supplier.all + end + end +end diff --git a/app/controllers/admin/orders_controller.rb b/app/controllers/admin/orders_controller.rb new file mode 100644 index 00000000..5f034c99 --- /dev/null +++ b/app/controllers/admin/orders_controller.rb @@ -0,0 +1,94 @@ +# encoding: UTF-8 +module Admin + class OrdersController < Admin::ApplicationController + before_filter :set_relation_options, only: [:new, :edit, :create, :update] + # GET /orders + # GET /orders.json + def index + @orders = Order.all + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @orders } + end + end + + # GET /orders/1 + # GET /orders/1.json + def show + @order = Order.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.json { render json: @order } + end + end + + # GET /orders/new + # GET /orders/new.json + def new + @order = Order.new + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @order } + end + end + + # GET /orders/1/edit + def edit + @order = Order.find(params[:id]) + end + + # POST /orders + # POST /orders.json + def create + @order = Order.new(params[:order]) + + respond_to do |format| + if @order.save + format.html { redirect_to [:admin, @order], notice: t('action.create.successfull', model: Order.model_name.human) } + format.json { render json: @order, status: :created, location: @order } + else + format.html { render action: "new" } + format.json { render json: @order.errors, status: :unprocessable_entity } + end + end + end + + # PUT /orders/1 + # PUT /orders/1.json + def update + @order = Order.find(params[:id]) + + respond_to do |format| + if @order.update_attributes(params[:order]) + format.html { redirect_to [:admin, @order], notice: t('action.update.successfull', model: Order.model_name.human) } + format.json { head :no_content } + else + format.html { render action: "edit" } + format.json { render json: @order.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /orders/1 + # DELETE /orders/1.json + def destroy + @order = Order.find(params[:id]) + @order.destroy + + respond_to do |format| + format.html { redirect_to admin_orders_url, notice: t('action.destroy.successfull', model: Order.model_name.human) } + format.json { head :no_content } + end + end + + private + + def set_relation_options + @lists = List.all + @suppliers = Supplier.all + end + end +end diff --git a/app/controllers/admin/product_categories_controller.rb b/app/controllers/admin/product_categories_controller.rb new file mode 100644 index 00000000..728958ce --- /dev/null +++ b/app/controllers/admin/product_categories_controller.rb @@ -0,0 +1,105 @@ +# encoding: UTF-8 +module Admin + class ProductCategoriesController < Admin::ApplicationController + before_filter :set_relation_options, only: [:new, :edit, :create, :update] + # GET /product_categories + # GET /product_categories.json + def index + @product_categories = ProductCategory.all + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @product_categories } + end + end + + # GET /product_categories/1 + # GET /product_categories/1.json + def show + @product_category = ProductCategory.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.json { render json: @product_category } + end + end + + # GET /product_categories/new + # GET /product_categories/new.json + def new + @product_category = ProductCategory.new + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @product_category } + end + end + + # GET /product_categories/1/edit + def edit + @product_category = ProductCategory.find(params[:id]) + end + + # POST /product_categories + # POST /product_categories.json + def create + @product_category = ProductCategory.new(params[:product_category]) + + respond_to do |format| + if @product_category.save + format.html { redirect_to [:admin, @product_category], notice: t('action.create.successfull', model: ProductCategory.model_name.human) } + format.json { render json: @product_category, status: :created, location: @product_category } + else + format.html { render action: "new" } + format.json { render json: @product_category.errors, status: :unprocessable_entity } + end + end + end + + # PUT /product_categories/1 + # PUT /product_categories/1.json + def update + @product_category = ProductCategory.find(params[:id]) + + respond_to do |format| + if @product_category.update_attributes(params[:product_category]) + format.html { redirect_to [:admin, @product_category], notice: t('action.update.successfull', model: ProductCategory.model_name.human) } + format.json { head :no_content } + else + format.html { render action: "edit" } + format.json { render json: @product_category.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /product_categories/1 + # DELETE /product_categories/1.json + def destroy + @product_category = ProductCategory.find(params[:id]) + @product_category.destroy + + respond_to do |format| + format.html { redirect_to admin_product_categories_path, notice: t('action.destroy.successfull', model: ProductCategory.model_name.human) } + format.json { head :no_content } + end + end + + # GET /product_categories/qrcode + # GET /product_categories/qrcode.png + # GET /product_categories/qrcode.svg + def qrcode + respond_to do |format| + format.html + format.svg { render :qrcode => request.url, :level => :l, :unit => 10 } + format.png { render qrcode: request.url } + end + end + + private + + def set_relation_options + @suppliers = Supplier.all + @lists = List.all + end + end +end diff --git a/app/controllers/admin/products_controller.rb b/app/controllers/admin/products_controller.rb new file mode 100644 index 00000000..1a428ee0 --- /dev/null +++ b/app/controllers/admin/products_controller.rb @@ -0,0 +1,94 @@ +# encoding: UTF-8 +module Admin + class ProductsController < Admin::ApplicationController + before_filter :set_relation_options, only: [:new, :edit, :create, :update] + # GET /products + # GET /products.json + def index + @products = Product.all + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @products } + end + end + + # GET /products/1 + # GET /products/1.json + def show + @product = Product.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.json { render json: @product } + end + end + + # GET /products/new + # GET /products/new.json + def new + @product = Product.new + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @product } + end + end + + # GET /products/1/edit + def edit + @product = Product.find(params[:id]) + end + + # POST /products + # POST /products.json + def create + @product = Product.new(params[:product]) + + respond_to do |format| + if @product.save + format.html { redirect_to [:admin, @product], notice: t('action.create.successfull', model: Product.model_name.human) } + format.json { render json: @product, status: :created, location: @product } + else + format.html { render action: "new" } + format.json { render json: @product.errors, status: :unprocessable_entity } + end + end + end + + # PUT /products/1 + # PUT /products/1.json + def update + @product = Product.find(params[:id]) + + respond_to do |format| + if @product.update_attributes(params[:product]) + format.html { redirect_to [:admin, @product], notice: t('action.update.successfull', model: Product.model_name.human) } + format.json { head :no_content } + else + format.html { render action: "edit" } + format.json { render json: @product.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /products/1 + # DELETE /products/1.json + def destroy + @product = Product.find(params[:id]) + @product.destroy + + respond_to do |format| + format.html { redirect_to admin_products_path, notice: t('action.destroy.successfull', model: Product.model_name.human) } + format.json { head :no_content } + end + end + + private + + def set_relation_options + @suppliers = Supplier.all + @product_categories = ProductCategory.all + end + end +end diff --git a/app/controllers/admin/sections_controller.rb b/app/controllers/admin/sections_controller.rb new file mode 100644 index 00000000..c040d0ed --- /dev/null +++ b/app/controllers/admin/sections_controller.rb @@ -0,0 +1,93 @@ +# encoding: UTF-8 +module Admin + class SectionsController < Admin::ApplicationController + before_filter :set_relation_options, only: [:new, :edit, :create, :update] + # GET /sections + # GET /sections.json + def index + @sections = Section.all + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @sections } + end + end + + # GET /sections/1 + # GET /sections/1.json + def show + @section = Section.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.json { render json: @section } + end + end + + # GET /sections/new + # GET /sections/new.json + def new + @section = Section.new + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @section } + end + end + + # GET /sections/1/edit + def edit + @section = Section.find(params[:id]) + end + + # POST /sections + # POST /sections.json + def create + @section = Section.new(params[:section]) + + respond_to do |format| + if @section.save + format.html { redirect_to [:admin, @section], notice: t('action.create.successfull', model: Section.model_name.human) } + format.json { render json: @section, status: :created, location: @section } + else + format.html { render action: "new" } + format.json { render json: @section.errors, status: :unprocessable_entity } + end + end + end + + # PUT /sections/1 + # PUT /sections/1.json + def update + @section = Section.find(params[:id]) + + respond_to do |format| + if @section.update_attributes(params[:section]) + format.html { redirect_to [:admin, @section], notice: t('action.update.successfull', model: Section.model_name.human) } + format.json { head :no_content } + else + format.html { render action: "edit" } + format.json { render json: @section.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /sections/1 + # DELETE /sections/1.json + def destroy + @section = Section.find(params[:id]) + @section.destroy + + respond_to do |format| + format.html { redirect_to admin_sections_path, notice: t('action.destroy.successfull', model: Section.model_name.human) } + format.json { head :no_content } + end + end + + private + + def set_relation_options + @suppliers = Supplier.all + end + end +end diff --git a/app/controllers/admin/suppliers_controller.rb b/app/controllers/admin/suppliers_controller.rb new file mode 100644 index 00000000..657d6169 --- /dev/null +++ b/app/controllers/admin/suppliers_controller.rb @@ -0,0 +1,93 @@ +module Admin + class SuppliersController < Admin::ApplicationController + before_filter :set_relation_options, only: [:new, :edit, :create, :update] + # GET /suppliers + # GET /suppliers.json + def index + @suppliers = Supplier.all + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @suppliers } + end + end + + # GET /suppliers/1 + # GET /suppliers/1.json + def show + @supplier = Supplier.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.json { render json: @supplier } + end + end + + # GET /suppliers/new + # GET /suppliers/new.json + def new + @supplier = Supplier.new + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @supplier } + end + end + + # GET /suppliers/1/edit + def edit + @supplier = Supplier.find(params[:id]) + end + + # POST /suppliers + # POST /suppliers.json + def create + @supplier = Supplier.new(params[:supplier]) + + respond_to do |format| + if @supplier.save + format.html { redirect_to [:admin, @supplier], notice: t('action.create.successfull', model: Supplier.model_name.human) } + format.json { render json: @supplier, status: :created, location: @supplier } + else + format.html { render action: "new" } + format.json { render json: @supplier.errors, status: :unprocessable_entity } + end + end + end + + # PUT /suppliers/1 + # PUT /suppliers/1.json + def update + @supplier = Supplier.find(params[:id]) + + respond_to do |format| + if @supplier.update_attributes(params[:supplier]) + format.html { redirect_to [:admin, @supplier], notice: t('action.update.successfull', model: Supplier.model_name.human) } + format.json { head :no_content } + else + format.html { render action: "edit" } + format.json { render json: @supplier.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /suppliers/1 + # DELETE /suppliers/1.json + def destroy + @supplier = Supplier.find(params[:id]) + @supplier.destroy + + respond_to do |format| + format.html { redirect_to admin_suppliers_path, notice: t('action.destroy.successfull', model: Supplier.model_name.human) } + format.json { head :no_content } + end + end + + private + + def set_relation_options + @suppliers = Supplier.all + @lists = List.all + end + end +end diff --git a/app/controllers/admin/tables_controller.rb b/app/controllers/admin/tables_controller.rb new file mode 100644 index 00000000..0b15a202 --- /dev/null +++ b/app/controllers/admin/tables_controller.rb @@ -0,0 +1,94 @@ +# encoding: UTF-8 +module Admin + class TablesController < Admin::ApplicationController + before_filter :set_relation_options, only: [:new, :edit, :create, :update] + # GET /tables + # GET /tables.json + def index + @tables = Table.all + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @tables } + end + end + + # GET /tables/1 + # GET /tables/1.json + def show + @table = Table.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.json { render json: @table } + end + end + + # GET /tables/new + # GET /tables/new.json + def new + @table = Table.new + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @table } + end + end + + # GET /tables/1/edit + def edit + @table = Table.find(params[:id]) + end + + # POST /tables + # POST /tables.json + def create + @table = Table.new(params[:table]) + + respond_to do |format| + if @table.save + format.html { redirect_to [:admin, @table], notice: t('action.create.successfull', model: Table.model_name.human) } + format.json { render json: @table, status: :created, location: @table } + else + format.html { render action: "new" } + format.json { render json: @table.errors, status: :unprocessable_entity } + end + end + end + + # PUT /tables/1 + # PUT /tables/1.json + def update + @table = Table.find(params[:id]) + + respond_to do |format| + if @table.update_attributes(params[:table]) + format.html { redirect_to [:admin, @table], notice: t('action.update.successfull', model: Table.model_name.human) } + format.json { head :no_content } + else + format.html { render action: "edit" } + format.json { render json: @table.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /tables/1 + # DELETE /tables/1.json + def destroy + @table = Table.find(params[:id]) + @table.destroy + + respond_to do |format| + format.html { redirect_to admin_tables_url, notice: t('action.destroy.successfull', model: Table.model_name.human) } + format.json { head :no_content } + end + end + + private + + def set_relation_options + @suppliers = Supplier.all + @lists = List.all + end + end +end diff --git a/app/controllers/admin/users_controller.rb b/app/controllers/admin/users_controller.rb new file mode 100644 index 00000000..a37314e0 --- /dev/null +++ b/app/controllers/admin/users_controller.rb @@ -0,0 +1,85 @@ +module Admin + class UsersController < Admin::ApplicationController + # GET /users + # GET /users.json + def index + @users = User.all + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @users } + end + end + + # GET /users/1 + # GET /users/1.json + def show + @user = User.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.json { render json: @user } + end + end + + # GET /users/new + # GET /users/new.json + def new + @user = User.new + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @user } + end + end + + # GET /users/1/edit + def edit + @user = User.find(params[:id]) + end + + # POST /users + # POST /users.json + def create + @user = User.new(params[:user]) + + respond_to do |format| + if @user.save + format.html { redirect_to [:admin, @user], notice: t('action.create.successfull', model: User.model_name.human) } + format.json { render json: @user, status: :created, location: @user } + else + format.html { render action: "new" } + format.json { render json: @user.errors, status: :unprocessable_entity } + end + end + end + + # PUT /users/1 + # PUT /users/1.json + def update + @user = User.find(params[:id]) + + respond_to do |format| + if @user.update_attributes(params[:user]) + format.html { redirect_to [:admin, @user], notice: t('action.update.successfull', model: User.model_name.human) } + format.json { head :no_content } + else + format.html { render action: "edit" } + format.json { render json: @user.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /users/1 + # DELETE /users/1.json + def destroy + @user = User.find(params[:id]) + @user.destroy + + respond_to do |format| + format.html { redirect_to admin_users_url, notice: t('action.destroy.successfull', model: User.model_name.human) } + format.json { head :no_content } + end + end + end +end diff --git a/app/controllers/lists_controller.rb b/app/controllers/lists_controller.rb deleted file mode 100644 index 245660d3..00000000 --- a/app/controllers/lists_controller.rb +++ /dev/null @@ -1,91 +0,0 @@ -class ListsController < ApplicationController - before_filter :set_relation_options, only: [:new, :edit, :create, :update] - # GET /lists - # GET /lists.json - def index - @lists = List.all - - respond_to do |format| - format.html # index.html.erb - format.json { render json: @lists } - end - end - - # GET /lists/1 - # GET /lists/1.json - def show - @list = List.find(params[:id]) - - respond_to do |format| - format.html # show.html.erb - format.json { render json: @list } - end - end - - # GET /lists/new - # GET /lists/new.json - def new - @list = List.new - - respond_to do |format| - format.html # new.html.erb - format.json { render json: @list } - end - end - - # GET /lists/1/edit - def edit - @list = List.find(params[:id]) - end - - # POST /lists - # POST /lists.json - def create - @list = List.new(params[:list]) - - respond_to do |format| - if @list.save - format.html { redirect_to @list, notice: t('action.create.successfull', model: List.model_name.human) } - format.json { render json: @list, status: :created, location: @list } - else - format.html { render action: "new" } - format.json { render json: @list.errors, status: :unprocessable_entity } - end - end - end - - # PUT /lists/1 - # PUT /lists/1.json - def update - @list = List.find(params[:id]) - - respond_to do |format| - if @list.update_attributes(params[:list]) - format.html { redirect_to @list, notice: t('action.update.successfull', model: List.model_name.human) } - format.json { head :no_content } - else - format.html { render action: "edit" } - format.json { render json: @list.errors, status: :unprocessable_entity } - end - end - end - - # DELETE /lists/1 - # DELETE /lists/1.json - def destroy - @list = List.find(params[:id]) - @list.destroy - - respond_to do |format| - format.html { redirect_to lists_url, notice: t('action.destroy.successfull', model: List.model_name.human) } - format.json { head :no_content } - end - end - - private - - def set_relation_options - @tables = Table.all - @suppliers = Supplier.all - end -end diff --git a/app/controllers/orders_controller.rb b/app/controllers/orders_controller.rb deleted file mode 100644 index 18d82b5d..00000000 --- a/app/controllers/orders_controller.rb +++ /dev/null @@ -1,91 +0,0 @@ -class OrdersController < ApplicationController - before_filter :set_relation_options, only: [:new, :edit, :create, :update] - # GET /orders - # GET /orders.json - def index - @orders = Order.all - - respond_to do |format| - format.html # index.html.erb - format.json { render json: @orders } - end - end - - # GET /orders/1 - # GET /orders/1.json - def show - @order = Order.find(params[:id]) - - respond_to do |format| - format.html # show.html.erb - format.json { render json: @order } - end - end - - # GET /orders/new - # GET /orders/new.json - def new - @order = Order.new - - respond_to do |format| - format.html # new.html.erb - format.json { render json: @order } - end - end - - # GET /orders/1/edit - def edit - @order = Order.find(params[:id]) - end - - # POST /orders - # POST /orders.json - def create - @order = Order.new(params[:order]) - - respond_to do |format| - if @order.save - format.html { redirect_to @order, notice: t('action.create.successfull', model: Order.model_name.human) } - format.json { render json: @order, status: :created, location: @order } - else - format.html { render action: "new" } - format.json { render json: @order.errors, status: :unprocessable_entity } - end - end - end - - # PUT /orders/1 - # PUT /orders/1.json - def update - @order = Order.find(params[:id]) - - respond_to do |format| - if @order.update_attributes(params[:order]) - format.html { redirect_to @order, notice: t('action.update.successfull', model: Order.model_name.human) } - format.json { head :no_content } - else - format.html { render action: "edit" } - format.json { render json: @order.errors, status: :unprocessable_entity } - end - end - end - - # DELETE /orders/1 - # DELETE /orders/1.json - def destroy - @order = Order.find(params[:id]) - @order.destroy - - respond_to do |format| - format.html { redirect_to orders_url, notice: t('action.destroy.successfull', model: Order.model_name.human) } - format.json { head :no_content } - end - end - - private - - def set_relation_options - @lists = List.all - @suppliers = Supplier.all - end -end diff --git a/app/controllers/product_categories_controller.rb b/app/controllers/product_categories_controller.rb deleted file mode 100644 index cc7fb69b..00000000 --- a/app/controllers/product_categories_controller.rb +++ /dev/null @@ -1,102 +0,0 @@ -class ProductCategoriesController < ApplicationController - before_filter :set_relation_options, only: [:new, :edit, :create, :update] - # GET /product_categories - # GET /product_categories.json - def index - @product_categories = ProductCategory.all - - respond_to do |format| - format.html # index.html.erb - format.json { render json: @product_categories } - end - end - - # GET /product_categories/1 - # GET /product_categories/1.json - def show - @product_category = ProductCategory.find(params[:id]) - - respond_to do |format| - format.html # show.html.erb - format.json { render json: @product_category } - end - end - - # GET /product_categories/new - # GET /product_categories/new.json - def new - @product_category = ProductCategory.new - - respond_to do |format| - format.html # new.html.erb - format.json { render json: @product_category } - end - end - - # GET /product_categories/1/edit - def edit - @product_category = ProductCategory.find(params[:id]) - end - - # POST /product_categories - # POST /product_categories.json - def create - @product_category = ProductCategory.new(params[:product_category]) - - respond_to do |format| - if @product_category.save - format.html { redirect_to @product_category, notice: t('action.create.successfull', model: ProductCategory.model_name.human) } - format.json { render json: @product_category, status: :created, location: @product_category } - else - format.html { render action: "new" } - format.json { render json: @product_category.errors, status: :unprocessable_entity } - end - end - end - - # PUT /product_categories/1 - # PUT /product_categories/1.json - def update - @product_category = ProductCategory.find(params[:id]) - - respond_to do |format| - if @product_category.update_attributes(params[:product_category]) - format.html { redirect_to @product_category, notice: t('action.update.successfull', model: ProductCategory.model_name.human) } - format.json { head :no_content } - else - format.html { render action: "edit" } - format.json { render json: @product_category.errors, status: :unprocessable_entity } - end - end - end - - # DELETE /product_categories/1 - # DELETE /product_categories/1.json - def destroy - @product_category = ProductCategory.find(params[:id]) - @product_category.destroy - - respond_to do |format| - format.html { redirect_to product_categories_url, notice: t('action.destroy.successfull', model: ProductCategory.model_name.human) } - format.json { head :no_content } - end - end - - # GET /product_categories/qrcode - # GET /product_categories/qrcode.png - # GET /product_categories/qrcode.svg - def qrcode - respond_to do |format| - format.html - format.svg { render :qrcode => request.url, :level => :l, :unit => 10 } - format.png { render qrcode: request.url } - end - end - - private - - def set_relation_options - @suppliers = Supplier.all - @lists = List.all - end -end diff --git a/app/controllers/products_controller.rb b/app/controllers/products_controller.rb deleted file mode 100644 index 07a8febb..00000000 --- a/app/controllers/products_controller.rb +++ /dev/null @@ -1,91 +0,0 @@ -class ProductsController < ApplicationController - before_filter :set_relation_options, only: [:new, :edit, :create, :update] - # GET /products - # GET /products.json - def index - @products = Product.all - - respond_to do |format| - format.html # index.html.erb - format.json { render json: @products } - end - end - - # GET /products/1 - # GET /products/1.json - def show - @product = Product.find(params[:id]) - - respond_to do |format| - format.html # show.html.erb - format.json { render json: @product } - end - end - - # GET /products/new - # GET /products/new.json - def new - @product = Product.new - - respond_to do |format| - format.html # new.html.erb - format.json { render json: @product } - end - end - - # GET /products/1/edit - def edit - @product = Product.find(params[:id]) - end - - # POST /products - # POST /products.json - def create - @product = Product.new(params[:product]) - - respond_to do |format| - if @product.save - format.html { redirect_to @product, notice: t('action.create.successfull', model: Product.model_name.human) } - format.json { render json: @product, status: :created, location: @product } - else - format.html { render action: "new" } - format.json { render json: @product.errors, status: :unprocessable_entity } - end - end - end - - # PUT /products/1 - # PUT /products/1.json - def update - @product = Product.find(params[:id]) - - respond_to do |format| - if @product.update_attributes(params[:product]) - format.html { redirect_to @product, notice: t('action.update.successfull', model: Product.model_name.human) } - format.json { head :no_content } - else - format.html { render action: "edit" } - format.json { render json: @product.errors, status: :unprocessable_entity } - end - end - end - - # DELETE /products/1 - # DELETE /products/1.json - def destroy - @product = Product.find(params[:id]) - @product.destroy - - respond_to do |format| - format.html { redirect_to products_url, notice: t('action.destroy.successfull', model: Product.model_name.human) } - format.json { head :no_content } - end - end - - private - - def set_relation_options - @suppliers = Supplier.all - @product_categories = ProductCategory.all - end -end diff --git a/app/controllers/sections_controller.rb b/app/controllers/sections_controller.rb deleted file mode 100644 index 400a7e0e..00000000 --- a/app/controllers/sections_controller.rb +++ /dev/null @@ -1,90 +0,0 @@ -class SectionsController < ApplicationController - before_filter :set_relation_options, only: [:new, :edit, :create, :update] - # GET /sections - # GET /sections.json - def index - @sections = Section.all - - respond_to do |format| - format.html # index.html.erb - format.json { render json: @sections } - end - end - - # GET /sections/1 - # GET /sections/1.json - def show - @section = Section.find(params[:id]) - - respond_to do |format| - format.html # show.html.erb - format.json { render json: @section } - end - end - - # GET /sections/new - # GET /sections/new.json - def new - @section = Section.new - - respond_to do |format| - format.html # new.html.erb - format.json { render json: @section } - end - end - - # GET /sections/1/edit - def edit - @section = Section.find(params[:id]) - end - - # POST /sections - # POST /sections.json - def create - @section = Section.new(params[:section]) - - respond_to do |format| - if @section.save - format.html { redirect_to @section, notice: t('action.create.successfull', model: Section.model_name.human) } - format.json { render json: @section, status: :created, location: @section } - else - format.html { render action: "new" } - format.json { render json: @section.errors, status: :unprocessable_entity } - end - end - end - - # PUT /sections/1 - # PUT /sections/1.json - def update - @section = Section.find(params[:id]) - - respond_to do |format| - if @section.update_attributes(params[:section]) - format.html { redirect_to @section, notice: t('action.update.successfull', model: Section.model_name.human) } - format.json { head :no_content } - else - format.html { render action: "edit" } - format.json { render json: @section.errors, status: :unprocessable_entity } - end - end - end - - # DELETE /sections/1 - # DELETE /sections/1.json - def destroy - @section = Section.find(params[:id]) - @section.destroy - - respond_to do |format| - format.html { redirect_to sections_url, notice: t('action.destroy.successfull', model: Section.model_name.human) } - format.json { head :no_content } - end - end - - private - - def set_relation_options - @suppliers = Supplier.all - end -end diff --git a/app/controllers/suppliers_controller.rb b/app/controllers/suppliers_controller.rb deleted file mode 100644 index 6d590b3d..00000000 --- a/app/controllers/suppliers_controller.rb +++ /dev/null @@ -1,91 +0,0 @@ -class SuppliersController < ApplicationController - before_filter :set_relation_options, only: [:new, :edit, :create, :update] - # GET /suppliers - # GET /suppliers.json - def index - @suppliers = Supplier.all - - respond_to do |format| - format.html # index.html.erb - format.json { render json: @suppliers } - end - end - - # GET /suppliers/1 - # GET /suppliers/1.json - def show - @supplier = Supplier.find(params[:id]) - - respond_to do |format| - format.html # show.html.erb - format.json { render json: @supplier } - end - end - - # GET /suppliers/new - # GET /suppliers/new.json - def new - @supplier = Supplier.new - - respond_to do |format| - format.html # new.html.erb - format.json { render json: @supplier } - end - end - - # GET /suppliers/1/edit - def edit - @supplier = Supplier.find(params[:id]) - end - - # POST /suppliers - # POST /suppliers.json - def create - @supplier = Supplier.new(params[:supplier]) - - respond_to do |format| - if @supplier.save - format.html { redirect_to @supplier, notice: t('action.create.successfull', model: Supplier.model_name.human) } - format.json { render json: @supplier, status: :created, location: @supplier } - else - format.html { render action: "new" } - format.json { render json: @supplier.errors, status: :unprocessable_entity } - end - end - end - - # PUT /suppliers/1 - # PUT /suppliers/1.json - def update - @supplier = Supplier.find(params[:id]) - - respond_to do |format| - if @supplier.update_attributes(params[:supplier]) - format.html { redirect_to @supplier, notice: t('action.update.successfull', model: Supplier.model_name.human) } - format.json { head :no_content } - else - format.html { render action: "edit" } - format.json { render json: @supplier.errors, status: :unprocessable_entity } - end - end - end - - # DELETE /suppliers/1 - # DELETE /suppliers/1.json - def destroy - @supplier = Supplier.find(params[:id]) - @supplier.destroy - - respond_to do |format| - format.html { redirect_to suppliers_url, notice: t('action.destroy.successfull', model: Supplier.model_name.human) } - format.json { head :no_content } - end - end - - private - - def set_relation_options - @suppliers = Supplier.all - @lists = List.all - end -end diff --git a/app/controllers/tables_controller.rb b/app/controllers/tables_controller.rb deleted file mode 100644 index be3be830..00000000 --- a/app/controllers/tables_controller.rb +++ /dev/null @@ -1,91 +0,0 @@ -class TablesController < ApplicationController - before_filter :set_relation_options, only: [:new, :edit, :create, :update] - # GET /tables - # GET /tables.json - def index - @tables = Table.all - - respond_to do |format| - format.html # index.html.erb - format.json { render json: @tables } - end - end - - # GET /tables/1 - # GET /tables/1.json - def show - @table = Table.find(params[:id]) - - respond_to do |format| - format.html # show.html.erb - format.json { render json: @table } - end - end - - # GET /tables/new - # GET /tables/new.json - def new - @table = Table.new - - respond_to do |format| - format.html # new.html.erb - format.json { render json: @table } - end - end - - # GET /tables/1/edit - def edit - @table = Table.find(params[:id]) - end - - # POST /tables - # POST /tables.json - def create - @table = Table.new(params[:table]) - - respond_to do |format| - if @table.save - format.html { redirect_to @table, notice: t('action.create.successfull', model: Table.model_name.human) } - format.json { render json: @table, status: :created, location: @table } - else - format.html { render action: "new" } - format.json { render json: @table.errors, status: :unprocessable_entity } - end - end - end - - # PUT /tables/1 - # PUT /tables/1.json - def update - @table = Table.find(params[:id]) - - respond_to do |format| - if @table.update_attributes(params[:table]) - format.html { redirect_to @table, notice: t('action.update.successfull', model: Table.model_name.human) } - format.json { head :no_content } - else - format.html { render action: "edit" } - format.json { render json: @table.errors, status: :unprocessable_entity } - end - end - end - - # DELETE /tables/1 - # DELETE /tables/1.json - def destroy - @table = Table.find(params[:id]) - @table.destroy - - respond_to do |format| - format.html { redirect_to tables_url, notice: t('action.destroy.successfull', model: Table.model_name.human) } - format.json { head :no_content } - end - end - - private - - def set_relation_options - @suppliers = Supplier.all - @lists = List.all - end -end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb deleted file mode 100644 index 31c8b5c7..00000000 --- a/app/controllers/users_controller.rb +++ /dev/null @@ -1,83 +0,0 @@ -class UsersController < ApplicationController - # GET /users - # GET /users.json - def index - @users = User.all - - respond_to do |format| - format.html # index.html.erb - format.json { render json: @users } - end - end - - # GET /users/1 - # GET /users/1.json - def show - @user = User.find(params[:id]) - - respond_to do |format| - format.html # show.html.erb - format.json { render json: @user } - end - end - - # GET /users/new - # GET /users/new.json - def new - @user = User.new - - respond_to do |format| - format.html # new.html.erb - format.json { render json: @user } - end - end - - # GET /users/1/edit - def edit - @user = User.find(params[:id]) - end - - # POST /users - # POST /users.json - def create - @user = User.new(params[:user]) - - respond_to do |format| - if @user.save - format.html { redirect_to @user, notice: t('action.create.successfull', model: User.model_name.human) } - format.json { render json: @user, status: :created, location: @user } - else - format.html { render action: "new" } - format.json { render json: @user.errors, status: :unprocessable_entity } - end - end - end - - # PUT /users/1 - # PUT /users/1.json - def update - @user = User.find(params[:id]) - - respond_to do |format| - if @user.update_attributes(params[:user]) - format.html { redirect_to @user, notice: t('action.update.successfull', model: User.model_name.human) } - format.json { head :no_content } - else - format.html { render action: "edit" } - format.json { render json: @user.errors, status: :unprocessable_entity } - end - end - end - - # DELETE /users/1 - # DELETE /users/1.json - def destroy - @user = User.find(params[:id]) - @user.destroy - - respond_to do |format| - format.html { redirect_to users_url, notice: t('action.destroy.successfull', model: User.model_name.human) } - format.json { head :no_content } - end - end -end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 2047af6a..63895cdf 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -93,4 +93,8 @@ module ApplicationHelper script.present? ? (@onload_javascripts ||= []) << script : (@onload_javascripts || []).join(';') end + def mustache_template(template) + render(template, handlers: [:mustache]) + end + end diff --git a/app/models/order.rb b/app/models/order.rb index cb3c1222..02786f22 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -24,6 +24,7 @@ class Order } }], reduce_function: '_sum' view :by_supplier_id_and_id, key: [:supplier_id, :_id] + view :by_list_id, key: :list_id # Return all currently active orders for a given supplier def self.active_for_supplier(supplier_id) diff --git a/app/models/product.rb b/app/models/product.rb index 144d4423..5681b2c5 100644 --- a/app/models/product.rb +++ b/app/models/product.rb @@ -11,6 +11,8 @@ class Product has_many :product_orders validates :supplier_id, presence: true + validates :price, presence: true, numericality: true + after_save :persist_product_category_ids def product_category_ids=(ids) diff --git a/app/models/product_order.rb b/app/models/product_order.rb index 55645929..aa47b703 100644 --- a/app/models/product_order.rb +++ b/app/models/product_order.rb @@ -7,4 +7,6 @@ class ProductOrder belongs_to :product belongs_to :order + view :by_product_id, key: :product_id + end diff --git a/app/models/supplier.rb b/app/models/supplier.rb index 51777738..3bf5cd14 100644 --- a/app/models/supplier.rb +++ b/app/models/supplier.rb @@ -26,6 +26,8 @@ class Supplier after_create :add_section_on_create + view :by_email, key: :email + def location=(val) lat, lng = val.strip.split(/[ ,]+/).map(&:to_f) self.lat = lat @@ -45,7 +47,7 @@ class Supplier end def active_lists(options = {}) - return @active_lists if @active_lists.present? + return @active_lists if @active_lists.present? @active_lists = List.active_for_supplier(id) @active_lists.include_relations(table: :section, orders: {product_orders: :product}) @active_lists diff --git a/app/models/table.rb b/app/models/table.rb index 13eba074..727d1796 100644 --- a/app/models/table.rb +++ b/app/models/table.rb @@ -14,7 +14,9 @@ class Table validates :supplier_id, presence: true #validates :list_id, presence: true validates :number, numericality: {greater_than: 0} - validates_uniqueness_of :number + + #validates_uniqueness_of :number + #view :by_number, key: :number # For uniqueness validation def occupied? return @is_occupied if instance_variable_defined?(:'@is_occupied') diff --git a/app/models/user.rb b/app/models/user.rb index 3301dea2..9a1412f9 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -12,6 +12,7 @@ class User before_save :ensure_authentication_token view :by_authentication_token, key: :authentication_token + view :by_email, key: :email def list_is_closed! self.active_list_id = nil diff --git a/app/views/orders/_form.html.slim b/app/views/admin/orders/_form.html.slim similarity index 78% rename from app/views/orders/_form.html.slim rename to app/views/admin/orders/_form.html.slim index 0c32637d..ee09c35a 100644 --- a/app/views/orders/_form.html.slim +++ b/app/views/admin/orders/_form.html.slim @@ -1,4 +1,4 @@ -= form_for @order, html: {class: 'form-horizontal' } do |f| += simple_form_for [:admin, @order], html: {class: 'form-horizontal' } do |f| = render 'error_messages', target: @order .control-group class=(@order.errors[:state].any? ? 'error' : nil) = f.label :state, class: 'control-label' @@ -11,4 +11,4 @@ .form-actions = f.submit nil, class: 'btn btn-primary' ' - = link_to t("helpers.links.cancel"), orders_path, class: 'btn' + = link_to t("helpers.links.cancel"), admin_orders_path, class: 'btn' diff --git a/app/views/orders/edit.html.slim b/app/views/admin/orders/edit.html.slim similarity index 100% rename from app/views/orders/edit.html.slim rename to app/views/admin/orders/edit.html.slim diff --git a/app/views/orders/index.html.slim b/app/views/admin/orders/index.html.slim similarity index 56% rename from app/views/orders/index.html.slim rename to app/views/admin/orders/index.html.slim index af117872..edfc332e 100644 --- a/app/views/orders/index.html.slim +++ b/app/views/admin/orders/index.html.slim @@ -11,14 +11,14 @@ div.page-header= title :index, model_class tbody - @orders.each do |order| tr - td= link_to order.state, order - td= link_to_if order.supplier.present?, order.supplier.try(:name), order.supplier + td= link_to order.state, [:admin, order] + td= link_to_if order.supplier.present?, order.supplier.try(:name), [:admin, order.supplier] td=l order.created_at, format: :short td - = link_to t('helpers.links.edit'), [:edit, order], class: 'btn btn-mini' + = link_to t('helpers.links.edit'), [:edit, :admin, order], class: 'btn btn-mini' ' - = link_to t("helpers.links.destroy"), order, method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-mini btn-danger' + = link_to t("helpers.links.destroy"), [:admin, order], method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-mini btn-danger' - else = no_content_given model_class -= link_to t("helpers.links.new"), new_order_path, class: 'btn btn-primary' += link_to t("helpers.links.new"), new_admin_order_path, class: 'btn btn-primary' diff --git a/app/views/orders/new.html.slim b/app/views/admin/orders/new.html.slim similarity index 100% rename from app/views/orders/new.html.slim rename to app/views/admin/orders/new.html.slim diff --git a/app/views/admin/orders/show.html.slim b/app/views/admin/orders/show.html.slim new file mode 100644 index 00000000..70eb4b79 --- /dev/null +++ b/app/views/admin/orders/show.html.slim @@ -0,0 +1,16 @@ +- model_class = Order +.page-header= title :show, @order + +dl.dl-horizontal.show-list + dt= model_class.human_attribute_name(:state) + dd= @order.state + - if @order.supplier.present? + dt= Supplier.model_name.human + dd= link_to @order.supplier.name, [:admin, @order.supplier] + +.form-actions + = link_to t("helpers.links.back"), admin_orders_path, class: 'btn' + ' + = link_to t('helpers.links.edit'), [:edit, :admin, @order], class: 'btn' + ' + = link_to t("helpers.links.destroy"), [:admin, @order], method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-danger' diff --git a/app/views/admin/products/_form.html.slim b/app/views/admin/products/_form.html.slim new file mode 100644 index 00000000..83ddde31 --- /dev/null +++ b/app/views/admin/products/_form.html.slim @@ -0,0 +1,13 @@ += simple_form_for [:admin, @product], html: {class: 'form-horizontal' } do |f| + = render 'error_messages', target: @product + = f.input :name + = f.input :code + = f.input :price + .control-group class=(@product.errors[:supplier_id].any? ? 'error' : nil) + = f.label :supplier_id, Supplier.model_name.human, class: 'control-label' + .controls + = f.collection_select :supplier_id, @suppliers, :id, :name, include_blank: nil + .form-actions + = f.submit nil, class: 'btn btn-primary' + ' + = link_to t("helpers.links.cancel"), admin_products_path, class: 'btn' diff --git a/app/views/admin/products/edit.html.slim b/app/views/admin/products/edit.html.slim new file mode 100644 index 00000000..4a9214ec --- /dev/null +++ b/app/views/admin/products/edit.html.slim @@ -0,0 +1,3 @@ +- model_class = Product +.page-header= title :edit, model_class += render 'form' diff --git a/app/views/products/index.html.slim b/app/views/admin/products/index.html.slim similarity index 56% rename from app/views/products/index.html.slim rename to app/views/admin/products/index.html.slim index 4e3898c0..00fb17c0 100644 --- a/app/views/products/index.html.slim +++ b/app/views/admin/products/index.html.slim @@ -7,24 +7,22 @@ th= model_class.human_attribute_name(:name) th= model_class.human_attribute_name(:code) th= model_class.human_attribute_name(:price) - th= ProductCategory.model_name.human th= Supplier.model_name.human th.timestamp= model_class.human_attribute_name(:created_at) th.actions=t 'helpers.actions' tbody - @products.each do |product| tr - td.link= link_to product.name, product + td.link= link_to product.name, [:admin, product] td= product.code td= product.price - td.link= link_to_if product.product_category.present?, product.product_category.try(:name), product.product_category - td.link= link_to_if product.supplier.present?, product.supplier.try(:name), product.supplier + td.link= link_to_if product.supplier.present?, product.supplier.try(:name), [:admin, product.supplier] td.timestamp=l product.created_at, format: :short td.actions - = link_to t('helpers.links.edit'), [:edit, product], class: 'btn btn-mini' + = link_to t('helpers.links.edit'), [:edit, :admin, product], class: 'btn btn-mini' ' - = link_to t("helpers.links.destroy"), product, method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-mini btn-danger' + = link_to t("helpers.links.destroy"), [:admin, product], method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-mini btn-danger' - else = no_content_given model_class -= link_to t("helpers.links.new"), new_product_path, class: 'btn btn-primary' += link_to t("helpers.links.new"), new_admin_product_path, class: 'btn btn-primary' diff --git a/app/views/products/new.html.slim b/app/views/admin/products/new.html.slim similarity index 100% rename from app/views/products/new.html.slim rename to app/views/admin/products/new.html.slim diff --git a/app/views/admin/products/show.html.slim b/app/views/admin/products/show.html.slim new file mode 100644 index 00000000..964cfdb9 --- /dev/null +++ b/app/views/admin/products/show.html.slim @@ -0,0 +1,20 @@ +- model_class = Product +.page-header= title :show, @product + +dl.dl-horizontal.show-list + dt= model_class.human_attribute_name(:name) + dd= @product.name + dt= model_class.human_attribute_name(:code) + dd= @product.code + dt= model_class.human_attribute_name(:price) + dd= @product.price + - if @product.supplier.present? + dt= Supplier.model_name.human + dd= link_to @product.supplier.name, [:admin, @product.supplier] + +.form-actions + = link_to t("helpers.links.back"), admin_products_path, class: 'btn' + ' + = link_to t('helpers.links.edit'), [:edit, :admin, @product], class: 'btn' + ' + = link_to t("helpers.links.destroy"), [:admin, @product], method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-danger' diff --git a/app/views/suppliers/_form.html.slim b/app/views/admin/suppliers/_form.html.slim similarity index 100% rename from app/views/suppliers/_form.html.slim rename to app/views/admin/suppliers/_form.html.slim diff --git a/app/views/suppliers/edit.html.slim b/app/views/admin/suppliers/edit.html.slim similarity index 100% rename from app/views/suppliers/edit.html.slim rename to app/views/admin/suppliers/edit.html.slim diff --git a/app/views/admin/suppliers/index.html.slim b/app/views/admin/suppliers/index.html.slim new file mode 100644 index 00000000..2698b7ba --- /dev/null +++ b/app/views/admin/suppliers/index.html.slim @@ -0,0 +1,24 @@ +- model_class = Supplier +.page-header= title :index, model_class +- if @suppliers.any? + table.table.table-striped.table-hover + thead + tr + th= model_class.human_attribute_name(:email) + th= model_class.human_attribute_name(:name) + th= model_class.human_attribute_name(:created_at) + th=t 'helpers.actions' + tbody + - @suppliers.each do |supplier| + tr + td= link_to supplier.email, [:admin, supplier] + td= supplier.name + td=l supplier.created_at, format: :short + td + = link_to t('helpers.links.edit'), [:edit, :admin, supplier], class: 'btn btn-mini' + ' + = link_to t("helpers.links.destroy"), [:admin, supplier], method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-mini btn-danger' +- else + = no_content_given model_class += link_to t("helpers.links.new"), new_admin_supplier_path, class: 'btn btn-primary' + diff --git a/app/views/suppliers/new.html.slim b/app/views/admin/suppliers/new.html.slim similarity index 100% rename from app/views/suppliers/new.html.slim rename to app/views/admin/suppliers/new.html.slim diff --git a/app/views/suppliers/show.html.slim b/app/views/admin/suppliers/show.html.slim similarity index 79% rename from app/views/suppliers/show.html.slim rename to app/views/admin/suppliers/show.html.slim index 4e838b6c..3d5f84b7 100644 --- a/app/views/suppliers/show.html.slim +++ b/app/views/admin/suppliers/show.html.slim @@ -2,6 +2,8 @@ .page-header= title :show, @supplier dl.dl-horizontal.show-list + dt= model_class.human_attribute_name(:name) + dd= @supplier.name dt= model_class.human_attribute_name(:email) dd= @supplier.email dt= model_class.human_attribute_name(:encrypted_password) @@ -22,12 +24,10 @@ dl.dl-horizontal.show-list dd= @supplier.current_sign_in_ip dt= model_class.human_attribute_name(:last_sign_in_ip) dd= @supplier.last_sign_in_ip - dt= model_class.human_attribute_name(:name) - dd= @supplier.name .form-actions - = link_to t("helpers.links.back"), suppliers_path, class: 'btn' + = link_to t("helpers.links.back"), admin_suppliers_path, class: 'btn' ' - = link_to t('helpers.links.edit'), [:edit, @supplier], class: 'btn' + = link_to t('helpers.links.edit'), [:edit, :admin, @supplier], class: 'btn' ' - = link_to t("helpers.links.destroy"), @supplier, method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-danger' + = link_to t("helpers.links.destroy"), [:admin, @supplier], method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-danger' diff --git a/app/views/tables/_form.html.slim b/app/views/admin/tables/_form.html.slim similarity index 55% rename from app/views/tables/_form.html.slim rename to app/views/admin/tables/_form.html.slim index c3d0176e..18b8e245 100644 --- a/app/views/tables/_form.html.slim +++ b/app/views/admin/tables/_form.html.slim @@ -1,9 +1,6 @@ -= form_for @table, html: {class: 'form-horizontal' } do |f| += simple_form_for [:admin, @table], html: {class: 'form-horizontal' } do |f| = render 'error_messages', target: @table - .control-group class=(@table.errors[:number].any? ? 'error' : nil) - = f.label :number, class: 'control-label' - .controls - = f.text_field :number, class: 'text_field' + = f.input :number .control-group class=(@table.errors[:supplier_id].any? ? 'error' : nil) = f.label :supplier_id, Supplier.model_name.human, class: 'control-label' .controls @@ -11,4 +8,4 @@ .form-actions = f.submit nil, class: 'btn btn-primary' ' - = link_to t("helpers.links.cancel"), tables_path, class: 'btn' + = link_to t("helpers.links.cancel"), admin_tables_path, class: 'btn' diff --git a/app/views/admin/tables/edit.html.slim b/app/views/admin/tables/edit.html.slim new file mode 100644 index 00000000..2388f891 --- /dev/null +++ b/app/views/admin/tables/edit.html.slim @@ -0,0 +1,3 @@ +- model_class = Table +.page-header= title :edit, model_class += render 'form' diff --git a/app/views/tables/index.html.slim b/app/views/admin/tables/index.html.slim similarity index 51% rename from app/views/tables/index.html.slim rename to app/views/admin/tables/index.html.slim index b383a60f..c6e844a3 100644 --- a/app/views/tables/index.html.slim +++ b/app/views/admin/tables/index.html.slim @@ -11,14 +11,14 @@ div.page-header= title :index, model_class tbody - @tables.each do |table| tr - td= link_to table.number, table - td= link_to table.supplier.name, table.supplier + td= link_to table.number, [:admin, table] + td= link_to table.supplier.name, [:admin, table.supplier] td=l table.created_at, format: :short td - = link_to t('helpers.links.edit'), [:edit, table], class: 'btn btn-mini' + = link_to t('helpers.links.edit'), [:edit, :admin, table], class: 'btn btn-mini' ' - = link_to t("helpers.links.destroy"), table, method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-mini btn-danger' + = link_to t("helpers.links.destroy"), [:admin, table], method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-mini btn-danger' - else = no_content_given model_class -= link_to t("helpers.links.new"), new_table_path, class: 'btn btn-primary' += link_to t("helpers.links.new"), new_admin_table_path, class: 'btn btn-primary' diff --git a/app/views/tables/new.html.slim b/app/views/admin/tables/new.html.slim similarity index 100% rename from app/views/tables/new.html.slim rename to app/views/admin/tables/new.html.slim diff --git a/app/views/admin/tables/show.html.slim b/app/views/admin/tables/show.html.slim new file mode 100644 index 00000000..d9abac0e --- /dev/null +++ b/app/views/admin/tables/show.html.slim @@ -0,0 +1,16 @@ +- model_class = Table +.page-header= title :show, @table + +dl.dl-horizontal.show-list + dt= model_class.human_attribute_name(:number) + dd= @table.number + - if @table.supplier.present? + dt= Supplier.model_name.human + dd= link_to @table.supplier.name, [:admin, @table.supplier] + +.form-actions + = link_to t("helpers.links.back"), admin_tables_path, class: 'btn' + ' + = link_to t('helpers.links.edit'), [:edit, :admin, @table], class: 'btn' + ' + = link_to t("helpers.links.destroy"), [:admin, @table], method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-danger' diff --git a/app/views/admin/users/_form.html.slim b/app/views/admin/users/_form.html.slim new file mode 100644 index 00000000..21fe15f2 --- /dev/null +++ b/app/views/admin/users/_form.html.slim @@ -0,0 +1,7 @@ += simple_form_for [:admin, @user], html: {class: 'form-horizontal' } do |f| + = render 'error_messages', target: @user + = f.input :email + .form-actions + = f.submit nil, class: 'btn btn-primary' + ' + = link_to t("helpers.links.cancel"), admin_users_path, class: 'btn' diff --git a/app/views/admin/users/edit.html.slim b/app/views/admin/users/edit.html.slim new file mode 100644 index 00000000..63b03792 --- /dev/null +++ b/app/views/admin/users/edit.html.slim @@ -0,0 +1,3 @@ +- model_class = User +.page-header= title :edit, model_class += render 'form' diff --git a/app/views/users/index.html.slim b/app/views/admin/users/index.html.slim similarity index 53% rename from app/views/users/index.html.slim rename to app/views/admin/users/index.html.slim index 686c150f..d5734dc6 100644 --- a/app/views/users/index.html.slim +++ b/app/views/admin/users/index.html.slim @@ -10,13 +10,13 @@ tbody - @users.each do |user| tr - td= link_to user.email, user + td= link_to user.email, [:admin, user] td=l user.created_at, format: :short td - = link_to t('helpers.links.edit'), [:edit, user], class: 'btn btn-mini' + = link_to t('helpers.links.edit'), [:edit, :admin, user], class: 'btn btn-mini' ' - = link_to t("helpers.links.destroy"), user, method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-mini btn-danger' + = link_to t("helpers.links.destroy"), [:admin, user], method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-mini btn-danger' - else = no_content_given model_class -= link_to t("helpers.links.new"), new_user_path, class: 'btn btn-primary' += link_to t("helpers.links.new"), new_admin_user_path, class: 'btn btn-primary' diff --git a/app/views/users/new.html.slim b/app/views/admin/users/new.html.slim similarity index 100% rename from app/views/users/new.html.slim rename to app/views/admin/users/new.html.slim diff --git a/app/views/users/show.html.slim b/app/views/admin/users/show.html.slim similarity index 78% rename from app/views/users/show.html.slim rename to app/views/admin/users/show.html.slim index b98fc8ee..5c878830 100644 --- a/app/views/users/show.html.slim +++ b/app/views/admin/users/show.html.slim @@ -24,8 +24,8 @@ dl.dl-horizontal.show-list dd= @user.last_sign_in_ip .form-actions - = link_to t("helpers.links.back"), users_path, class: 'btn' + = link_to t("helpers.links.back"), admin_users_path, class: 'btn' ' - = link_to t('helpers.links.edit'), [:edit, @user], class: 'btn' + = link_to t('helpers.links.edit'), [:edit, :admin, @user], class: 'btn' ' - = link_to t("helpers.links.destroy"), @user, method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-danger' + = link_to t("helpers.links.destroy"), [:admin, @user], method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-danger' diff --git a/app/views/layouts/administrator.html.slim b/app/views/layouts/administrator.html.slim index 00b96415..99aadde8 100644 --- a/app/views/layouts/administrator.html.slim +++ b/app/views/layouts/administrator.html.slim @@ -10,7 +10,7 @@ html lang="en" /! Le HTML5 shim, for IE6-8 support of HTML elements /[if lt IE 9] = javascript_include_tag "http://html5shim.googlecode.com/svn/trunk/html5.js" - = stylesheet_link_tag "application", :media => "all" + = stylesheet_link_tag "admin/application", :media => "all" link href="images/apple-touch-icon-144x144.png" rel="apple-touch-icon-precomposed" sizes="144x144" link href="images/apple-touch-icon-114x114.png" rel="apple-touch-icon-precomposed" sizes="114x114" link href="images/apple-touch-icon-72x72.png" rel="apple-touch-icon-precomposed" sizes="72x72" @@ -25,16 +25,29 @@ html lang="en" span.icon-bar span.icon-bar span.icon-bar - a.brand href=root_path = application_title + a.brand href=admin_root_path = application_title .container.nav-collapse ul.nav - li= link_to User.model_name.human_plural, users_path - li= link_to Supplier.model_name.human_plural, suppliers_path - li= link_to Table.model_name.human_plural, tables_path - li= link_to Product.model_name.human_plural, products_path - li= link_to List.model_name.human_plural, lists_path - li= link_to Order.model_name.human_plural, orders_path - li= link_to ProductCategory.model_name.human_plural, product_categories_path + li= link_to User.model_name.human_plural, admin_users_path + li.dropdown + a.dropdown-toggle href="#" data-toggle="dropdown" + span = Supplier.model_name.human_plural + b.caret + ul.child-menu.dropdown-menu + li= link_to Supplier.model_name.human_plural, admin_suppliers_path + li= link_to Table.model_name.human_plural, admin_tables_path + li= link_to Product.model_name.human_plural, admin_products_path + li= link_to List.model_name.human_plural, admin_lists_path + li= link_to Order.model_name.human_plural, admin_orders_path + li= link_to ProductCategory.model_name.human_plural, admin_product_categories_path + - if administrator_signed_in? + .btn-group.pull-right + a.btn.dropdown-toggle[data-toggle="dropdown" href="#"] + i.icon-user + = current_administrator.email + span.caret + ul.dropdown-menu + li.log-out= link_to t('helpers.links.logout'), destroy_administrator_session_path .container @@ -55,7 +68,7 @@ html lang="en" h3= application_title ul.nav.nav-list li.nav-header Links - li= link_to "Home", root_path + li= link_to "Qwaiter website", root_path li= link_to "Companytools", 'http://www.companytools.nl/' = yield :sidebar diff --git a/app/views/orders/show.html.slim b/app/views/orders/show.html.slim deleted file mode 100644 index a268b3ad..00000000 --- a/app/views/orders/show.html.slim +++ /dev/null @@ -1,16 +0,0 @@ -- model_class = Order -.page-header= title :show, @order - -dl.dl-horizontal.show-list - dt= model_class.human_attribute_name(:state) - dd= @order.state - - if @order.supplier.present? - dt= Supplier.model_name.human - dd= link_to @order.supplier.name, @order.supplier - -.form-actions - = link_to t("helpers.links.back"), orders_path, class: 'btn' - ' - = link_to t('helpers.links.edit'), [:edit, @order], class: 'btn' - ' - = link_to t("helpers.links.destroy"), @order, method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-danger' diff --git a/app/views/products/_form.html.slim b/app/views/products/_form.html.slim deleted file mode 100644 index c3191179..00000000 --- a/app/views/products/_form.html.slim +++ /dev/null @@ -1,26 +0,0 @@ -= form_for @product, html: {class: 'form-horizontal' } do |f| - = render 'error_messages', target: @product - .control-group class=(@product.errors[:name].any? ? 'error' : nil) - = f.label :name, class: 'control-label' - .controls - = f.text_field :name, class: 'text_field' - .control-group class=(@product.errors[:code].any? ? 'error' : nil) - = f.label :code, class: 'control-label' - .controls - = f.text_field :code, class: 'text_field' - .control-group class=(@product.errors[:price].any? ? 'error' : nil) - = f.label :price, class: 'control-label' - .controls - = f.text_field :price, class: 'text_field' - /.control-group class=(@product.errors[:product_category_id].any? ? 'error' : nil) - = f.label :product_category_id, ProductCategory.model_name.human, class: 'control-label' - .controls - = f.collection_select :product_category_id, @product_categories, :id, :name, include_blank: '' - .control-group class=(@product.errors[:supplier_id].any? ? 'error' : nil) - = f.label :supplier_id, Supplier.model_name.human, class: 'control-label' - .controls - = f.collection_select :supplier_id, @suppliers, :id, :name, include_blank: nil - .form-actions - = f.submit nil, class: 'btn btn-primary' - ' - = link_to t("helpers.links.cancel"), products_path, class: 'btn' diff --git a/app/views/products/edit.html.slim b/app/views/products/edit.html.slim deleted file mode 100644 index 509b074f..00000000 --- a/app/views/products/edit.html.slim +++ /dev/null @@ -1,4 +0,0 @@ -- model_class = Product -.page-header - = title :edit, model_class -= render 'form' diff --git a/app/views/products/show.html.slim b/app/views/products/show.html.slim deleted file mode 100644 index f6e9cdc0..00000000 --- a/app/views/products/show.html.slim +++ /dev/null @@ -1,23 +0,0 @@ -- model_class = Product -.page-header= title :show, @product - -dl.dl-horizontal.show-list - dt= model_class.human_attribute_name(:name) - dd= @product.name - dt= model_class.human_attribute_name(:code) - dd= @product.code - dt= model_class.human_attribute_name(:price) - dd= @product.price - - if @product.product_category.present? - dt= ProductCategory.model_name.human - dd= link_to @product.product_category.name, @product.product_category - - if @product.supplier.present? - dt= Supplier.model_name.human - dd= link_to @product.supplier.name, @product.supplier - -.form-actions - = link_to t("helpers.links.back"), products_path, class: 'btn' - ' - = link_to t('helpers.links.edit'), [:edit, @product], class: 'btn' - ' - = link_to t("helpers.links.destroy"), @product, method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-danger' diff --git a/app/views/supplier/active_lists.html.slim b/app/views/supplier/active_lists.html.slim index bd492c8b..2690a168 100644 --- a/app/views/supplier/active_lists.html.slim +++ b/app/views/supplier/active_lists.html.slim @@ -10,5 +10,4 @@ th.currency= t('supplier.active_lists.price') th.actions tbody -script#active-list-template[type="text/html"]= render 'active_list.mustache' - +script#active-list-template[type="text/html"]= mustache_template 'active_list' diff --git a/app/views/supplier/active_orders.html.slim b/app/views/supplier/active_orders.html.slim index ee38727a..61fc839e 100644 --- a/app/views/supplier/active_orders.html.slim +++ b/app/views/supplier/active_orders.html.slim @@ -10,4 +10,4 @@ th.currency= t('supplier.active_orders.price') th.actions tbody -script#active-order-template[type="text/html"]= render 'active_order.mustache' +script#active-order-template[type="text/html"]= mustache_template 'active_order' diff --git a/app/views/suppliers/index.html.slim b/app/views/suppliers/index.html.slim deleted file mode 100644 index 215755ab..00000000 --- a/app/views/suppliers/index.html.slim +++ /dev/null @@ -1,42 +0,0 @@ -- model_class = Supplier -div.page-header= title :index, model_class -- if @suppliers.any? - table.table.table-striped - thead - tr - th= model_class.human_attribute_name(:email) - th= model_class.human_attribute_name(:encrypted_password) - th= model_class.human_attribute_name(:remember_created_at) - th= model_class.human_attribute_name(:reset_password_token) - th= model_class.human_attribute_name(:reset_password_sent_at) - th= model_class.human_attribute_name(:sign_in_count) - th= model_class.human_attribute_name(:current_sign_in_at) - th= model_class.human_attribute_name(:last_sign_in_at) - th= model_class.human_attribute_name(:current_sign_in_ip) - th= model_class.human_attribute_name(:last_sign_in_ip) - th= model_class.human_attribute_name(:name) - th= model_class.human_attribute_name(:created_at) - th=t 'helpers.actions' - tbody - - @suppliers.each do |supplier| - tr - td= link_to supplier.email, supplier - td= supplier.encrypted_password - td= supplier.remember_created_at - td= supplier.reset_password_token - td= supplier.reset_password_sent_at - td= supplier.sign_in_count - td= supplier.current_sign_in_at - td= supplier.last_sign_in_at - td= supplier.current_sign_in_ip - td= supplier.last_sign_in_ip - td= supplier.name - td=l supplier.created_at, format: :short - td - = link_to t('helpers.links.edit'), [:edit, supplier], class: 'btn btn-mini' - ' - = link_to t("helpers.links.destroy"), supplier, method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-mini btn-danger' -- else - = no_content_given model_class -= link_to t("helpers.links.new"), new_supplier_path, class: 'btn btn-primary' - diff --git a/app/views/tables/edit.html.slim b/app/views/tables/edit.html.slim deleted file mode 100644 index 0f403e2a..00000000 --- a/app/views/tables/edit.html.slim +++ /dev/null @@ -1,4 +0,0 @@ -- model_class = Table -.page-header - = title :edit, model_class -= render 'form' diff --git a/app/views/tables/show.html.slim b/app/views/tables/show.html.slim deleted file mode 100644 index 67a65ee5..00000000 --- a/app/views/tables/show.html.slim +++ /dev/null @@ -1,16 +0,0 @@ -- model_class = Table -.page-header= title :show, @table - -dl.dl-horizontal.show-list - dt= model_class.human_attribute_name(:number) - dd= @table.number - - if @table.supplier.present? - dt= Supplier.model_name.human - dd= link_to @table.supplier.name, @table.supplier - -.form-actions - = link_to t("helpers.links.back"), tables_path, class: 'btn' - ' - = link_to t('helpers.links.edit'), [:edit, @table], class: 'btn' - ' - = link_to t("helpers.links.destroy"), @table, method: :delete, data: {confirm: are_you_sure? }, class: 'btn btn-danger' diff --git a/app/views/users/_form.html.slim b/app/views/users/_form.html.slim deleted file mode 100644 index 721afdf2..00000000 --- a/app/views/users/_form.html.slim +++ /dev/null @@ -1,46 +0,0 @@ -= form_for @user, html: {class: 'form-horizontal' } do |f| - = render 'error_messages', target: @user - .control-group class=(@user.errors[:email].any? ? 'error' : nil) - = f.label :email, class: 'control-label' - .controls - = f.text_field :email, class: 'text_field' - .control-group class=(@user.errors[:encrypted_password].any? ? 'error' : nil) - = f.label :encrypted_password, class: 'control-label' - .controls - = f.text_field :encrypted_password, class: 'text_field' - .control-group class=(@user.errors[:remember_created_at].any? ? 'error' : nil) - = f.label :remember_created_at, class: 'control-label' - .controls - = f.text_field :remember_created_at, class: 'text_field' - .control-group class=(@user.errors[:reset_password_token].any? ? 'error' : nil) - = f.label :reset_password_token, class: 'control-label' - .controls - = f.text_field :reset_password_token, class: 'text_field' - .control-group class=(@user.errors[:reset_password_sent_at].any? ? 'error' : nil) - = f.label :reset_password_sent_at, class: 'control-label' - .controls - = f.text_field :reset_password_sent_at, class: 'text_field' - .control-group class=(@user.errors[:sign_in_count].any? ? 'error' : nil) - = f.label :sign_in_count, class: 'control-label' - .controls - = f.text_field :sign_in_count, class: 'text_field' - .control-group class=(@user.errors[:current_sign_in_at].any? ? 'error' : nil) - = f.label :current_sign_in_at, class: 'control-label' - .controls - = f.text_field :current_sign_in_at, class: 'text_field' - .control-group class=(@user.errors[:last_sign_in_at].any? ? 'error' : nil) - = f.label :last_sign_in_at, class: 'control-label' - .controls - = f.text_field :last_sign_in_at, class: 'text_field' - .control-group class=(@user.errors[:current_sign_in_ip].any? ? 'error' : nil) - = f.label :current_sign_in_ip, class: 'control-label' - .controls - = f.text_field :current_sign_in_ip, class: 'text_field' - .control-group class=(@user.errors[:last_sign_in_ip].any? ? 'error' : nil) - = f.label :last_sign_in_ip, class: 'control-label' - .controls - = f.text_field :last_sign_in_ip, class: 'text_field' - .form-actions - = f.submit nil, class: 'btn btn-primary' - ' - = link_to t("helpers.links.cancel"), users_path, class: 'btn' diff --git a/app/views/users/edit.html.slim b/app/views/users/edit.html.slim deleted file mode 100644 index 9c1d090e..00000000 --- a/app/views/users/edit.html.slim +++ /dev/null @@ -1,4 +0,0 @@ -- model_class = User -.page-header - = title :edit, model_class -= render 'form' diff --git a/config/routes.rb b/config/routes.rb index 4b5f7dee..a0f656e5 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -2,20 +2,16 @@ Qwaiter::Application.routes.draw do devise_for :users devise_for :suppliers devise_for :administrators - - authenticate :administrator do + namespace :admin do resources :users - resources :tables - resources :orders do - member do - post :is_being_processed - post :is_delivered - end - end resources :suppliers + resources :tables + resources :orders + resources :lists resources :products resources :product_categories + root to: 'users#index' end # SUPPLIER @@ -39,16 +35,16 @@ Qwaiter::Application.routes.draw do # USER #default_url_options format: 'html' get '/user/home' => 'user#home', as: :user_root - match '/user' => 'user#home' + get '/user' => 'user#home' get '/user/active_list(.:format)' => 'user#active_list', as: :user_active_list - match '/user/list_info' => 'user#list_info', as: :user_list_info, via: [:get, :options] + get '/user/list_info' => 'user#list_info', as: :user_list_info, via: [:get, :options] post '/user/needs_help' => 'user#needs_help', as: :user_needs_help post '/user/list_needs_payment' => 'user#list_needs_payment', as: :user_list_needs_payment - match '/user/create_list' => 'user#create_list', as: :user_create_list + post '/user/create_list' => 'user#create_list', as: :user_create_list get '/user/list_products' => 'user#list_products', as: :user_list_products get '/user/list_products_for_table' => 'user#list_products_for_table', as: :user_list_products_for_table - match '/user/list_history' => 'user#list_history', as: :user_list_history - match '/user/history_list' => 'user#history_list', as: :user_history_list + get '/user/list_history' => 'user#list_history', as: :user_list_history + get '/user/history_list' => 'user#history_list', as: :user_history_list post '/user/order_selected_products' => 'user#order_selected_products', as: :user_order_selected_products post '/user/move_table' => 'user#move_table', as: :user_move_table get '/user/table_info' => 'user#table_info', as: :user_table_info diff --git a/lib/generators/bj_controller/spec/spec_generator.rb b/lib/generators/bj_controller/spec/spec_generator.rb new file mode 100644 index 00000000..feec651e --- /dev/null +++ b/lib/generators/bj_controller/spec/spec_generator.rb @@ -0,0 +1,36 @@ +require 'rails/generators' +require 'rails/generators/generated_attribute' +module BjController + module Generators + class SpecGenerator < ::Rails::Generators::Base + source_root File.expand_path('../templates', __FILE__) + argument :controller_name, :type => :string, :required => true + + def copy_views + generate_views + end + protected + def generate_views + template 'controller_spec.rb', File.join('spec/controllers', controller_namespace_path, "#{controller_base_name}_controller_spec.rb") + end + def controller_namespace_path + controller_name.sub(/[^\/]+\Z/, '') + end + + def model_plural_name + controller_base_name + end + def model_name + model_plural_name.singularize + end + + def controller_base_name + controller_name.split('/').last.pluralize + end + + def controller_class_name + "#{controller_name.classify.pluralize}Controller" + end + end + end +end diff --git a/lib/generators/bj_controller/spec/templates/controller_spec.rb b/lib/generators/bj_controller/spec/templates/controller_spec.rb new file mode 100644 index 00000000..a837cc8e --- /dev/null +++ b/lib/generators/bj_controller/spec/templates/controller_spec.rb @@ -0,0 +1,108 @@ +# encoding: UTF-8 +require 'spec_helper' + +describe <%= controller_class_name %> do + before :each do + @administrator = Administrator.find_by_email('administrator@qwaiter.com') || Administrator.create(email: 'administrator@qwaiter.com', password: 'secret') + sign_in @administrator + end + + describe "GET #index" do + it "populates an array of <%= model_plural_name %>" do + <%= model_name %> = create :<%= model_name %> + get :index + assigns(:<%= model_plural_name %>).should eq([<%= model_name %>]) + end + + it "should render without errors when no objects are present" do + get :index + expect{ render_template :index }.not_to raise_error + end + + it "renders the :index view" do + get :index + response.should render_template :index + end + end + + describe "GET #show" do + it "assigns the requested <%= model_name %> to @<%= model_name %>" do + <%= model_name %> = create :<%= model_name %> + get :show, id: <%= model_name %> + assigns(:<%= model_name %>).should eq(<%= model_name %>) + end + + it "renders the #show view" do + <%= model_name %> = create :<%= model_name %> + get :show, id: <%= model_name %> + response.should render_template :show + end + end + + describe "GET #new" do + it "assigns a new <%= model_name %> to @<%= model_name %>" do + get :new + assigns(:<%= model_name %>).should be_a <%= model_name.classify %> + end + + it "renders the #show view" do + get :new + response.should render_template :new + end + end + + describe "POST #create" do + context "with valid attributes" do + it "creates a new <%= model_name %>" do + expect{ + post :create, <%= model_name %>: attributes_for(:<%= model_name %>) + }.to change(<%= model_name.classify %>, :count).by(1) + end + + it "redirects to the new <%= model_name %>" do + post :create, <%= model_name %>: attributes_for(:<%= model_name %>) + response.should redirect_to <%= controller_namespace_path.present? ? "[#{controller_namespace_path.split('/').map{|n| ":#{n}"}.join(', ')}, #{model_name.classify}.last]" : "#{model_name.classify}.last" %> + end + end + + context "with invalid attributes" do + it "does not save the new <%= model_name %>" do + expect{ + post :create, <%= model_name %>: {} + }.to_not change(<%= model_name.classify %>, :count) + end + + it "re-renders the new method" do + post :create, <%= model_name %>: {} + response.should render_template :new + end + end + end + + describe 'PUT update' do + before :each do + @<%= model_name %> = create :<%= model_name %> + end + + context "valid attributes" do + it "located the requested <%= model_name %>" do + put :update, id: @<%= model_name %>, <%= model_name %>: attributes_for(:<%= model_name %>) + assigns(:<%= model_name %>).should eq(@<%= model_name %>) + end + + it "changes @<%= model_name %>'s attributes" do + attributes = attributes_for(:<%= model_name %>) + attribute_to_change = attributes.keys.find{|k| k !~ /_id$/} + attributes[attribute_to_change] = "ChangedByTest" + put :update, id: @<%= model_name %>, <%= model_name %>: attributes + @<%= model_name %>.reload + @<%= model_name %>.send(attribute_to_change).should eq("ChangedByTest") + end + + it "redirects to the updated <%= model_name %>" do + put :update, id: @<%= model_name %>, <%= model_name %>: attributes_for(:<%= model_name %>) + response.should redirect_to <%= controller_namespace_path.present? ? "[#{controller_namespace_path.split('/').map{|n| ":#{n}"}.join(', ')}, @#{model_name}]" : "@#{model_name}" %> + end + end + end +end diff --git a/spec/acceptance/supplier_main_board_spec.rb_spec.rb b/spec/acceptance/supplier_main_board_spec.rb_spec.rb deleted file mode 100644 index f5f4b4c4..00000000 --- a/spec/acceptance/supplier_main_board_spec.rb_spec.rb +++ /dev/null @@ -1,21 +0,0 @@ -require 'acceptance/acceptance_helper' - -feature 'Supplier main board spec.rb', %q{ - In order to manage active orders - As a supplier - I want to have control -} do - background do - create_supplier 'supplier@qwaiter.com' - create_user 'user@qwaiter.com' - end - def create_active_list(options = {}) - - end - - scenario 'loaded orders should have a list_id present for handling actions' do - create_active_list - login_supplier_as 'supplier@qwaiter.com' - end - -end diff --git a/spec/acceptance/suppliers/supplier_main_board_spec.rb_spec.rb b/spec/acceptance/suppliers/supplier_main_board_spec.rb_spec.rb new file mode 100644 index 00000000..3ec100a3 --- /dev/null +++ b/spec/acceptance/suppliers/supplier_main_board_spec.rb_spec.rb @@ -0,0 +1,46 @@ +require 'acceptance/acceptance_helper' + +@javascript +feature 'Supplier main board spec.rb', %q{ + In order to manage active orders + As a supplier + I want to have control +} do + background do + CouchPotato.couchrest_database.recreate! + create_supplier 'supplier@qwaiter.com' + create_user 'user@qwaiter.com' + end + def create_active_list(options = {}) + @table = create :table, supplier: @supplier + @list = create :list, supplier: @supplier, table: @table, user_ids: [@user.id] + + end + context "using javascript", js: true do + scenario 'the active list should be present and contained in row having its id' do + create_active_list + login_supplier_as 'supplier@qwaiter.com' + visit '/supplier' + page.should have_selector "#list-row-#{@list.id}" + end + + scenario 'order is added to the list before visiting the page' do + create_active_list + login_supplier_as 'supplier@qwaiter.com' + product = create :product, supplier: @supplier + sleep 0.1 + @list.place_order @user, {product.id => 369} + visit '/supplier' + page.should have_selector ".of-list-#{@list.id}" + end + + scenario 'order is added to the list after visiting the page' do + create_active_list + login_supplier_as 'supplier@qwaiter.com' + product = create :product, supplier: @supplier + visit '/supplier' + @list.place_order @user, {product.id => 369} + page.should have_selector ".of-list-#{@list.id}" + end + end +end diff --git a/spec/controllers/admin/products_controller_spec.rb b/spec/controllers/admin/products_controller_spec.rb new file mode 100644 index 00000000..6fd31e74 --- /dev/null +++ b/spec/controllers/admin/products_controller_spec.rb @@ -0,0 +1,108 @@ +# encoding: UTF-8 +require 'spec_helper' + +describe Admin::ProductsController do + before :each do + @administrator = Administrator.find_by_email('administrator@qwaiter.com') || Administrator.create(email: 'administrator@qwaiter.com', password: 'secret') + sign_in @administrator + end + + describe "GET #index" do + it "populates an array of products" do + product = create :product + get :index + assigns(:products).should eq([product]) + end + + it "should render without errors when no objects are present" do + get :index + expect{ render_template :index }.not_to raise_error + end + + it "renders the :index view" do + get :index + response.should render_template :index + end + end + + describe "GET #show" do + it "assigns the requested product to @product" do + product = create :product + get :show, id: product + assigns(:product).should eq(product) + end + + it "renders the #show view" do + product = create :product + get :show, id: product + response.should render_template :show + end + end + + describe "GET #new" do + it "assigns a new product to @product" do + get :new + assigns(:product).should be_a Product + end + + it "renders the #show view" do + get :new + response.should render_template :new + end + end + + describe "POST #create" do + context "with valid attributes" do + it "creates a new product" do + expect{ + post :create, product: attributes_for(:product) + }.to change(Product, :count).by(1) + end + + it "redirects to the new product" do + post :create, product: attributes_for(:product) + response.should redirect_to [:admin, Product.last] + end + end + + context "with invalid attributes" do + it "does not save the new product" do + expect{ + post :create, product: {} + }.to_not change(Product, :count) + end + + it "re-renders the new method" do + post :create, product: {} + response.should render_template :new + end + end + end + + describe 'PUT update' do + before :each do + @product = create :product + end + + context "valid attributes" do + it "located the requested product" do + put :update, id: @product, product: attributes_for(:product) + assigns(:product).should eq(@product) + end + + it "changes @product's attributes" do + attributes = attributes_for(:product) + attribute_to_change = attributes.keys.find{|k| k !~ /_id$/} + attributes[attribute_to_change] = "ChangedByTest" + put :update, id: @product, product: attributes + @product.reload + @product.send(attribute_to_change).should eq("ChangedByTest") + end + + it "redirects to the updated product" do + put :update, id: @product, product: attributes_for(:product) + response.should redirect_to [:admin, @product] + end + end + end +end diff --git a/spec/controllers/users_controller_spec.rb b/spec/controllers/users_controller_spec.rb deleted file mode 100644 index 52ff0eb2..00000000 --- a/spec/controllers/users_controller_spec.rb +++ /dev/null @@ -1,164 +0,0 @@ -require 'spec_helper' - -# This spec was generated by rspec-rails when you ran the scaffold generator. -# It demonstrates how one might use RSpec to specify the controller code that -# was generated by Rails when you ran the scaffold generator. -# -# It assumes that the implementation code is generated by the rails scaffold -# generator. If you are using any extension libraries to generate different -# controller code, this generated spec may or may not pass. -# -# It only uses APIs available in rails and/or rspec-rails. There are a number -# of tools you can use to make these specs even more expressive, but we're -# sticking to rails and rspec-rails APIs to keep things simple and stable. -# -# Compared to earlier versions of this generator, there is very limited use of -# stubs and message expectations in this spec. Stubs are only used when there -# is no simpler way to get a handle on the object needed for the example. -# Message expectations are only used when there is no simpler way to specify -# that an instance is receiving a specific message. - -describe UsersController do - - # This should return the minimal set of attributes required to create a valid - # User. As you add validations to User, be sure to - # update the return value of this method accordingly. - def valid_attributes - {} - end - - # This should return the minimal set of values that should be in the session - # in order to pass any filters (e.g. authentication) defined in - # UsersController. Be sure to keep this updated too. - def valid_session - {} - end - - describe "GET index" do - it "assigns all users as @users" do - user = User.create! valid_attributes - get :index, {}, valid_session - assigns(:users).should eq([user]) - end - end - - describe "GET show" do - it "assigns the requested user as @user" do - user = User.create! valid_attributes - get :show, {:id => user.to_param}, valid_session - assigns(:user).should eq(user) - end - end - - describe "GET new" do - it "assigns a new user as @user" do - get :new, {}, valid_session - assigns(:user).should be_a_new(User) - end - end - - describe "GET edit" do - it "assigns the requested user as @user" do - user = User.create! valid_attributes - get :edit, {:id => user.to_param}, valid_session - assigns(:user).should eq(user) - end - end - - describe "POST create" do - describe "with valid params" do - it "creates a new User" do - expect { - post :create, {:user => valid_attributes}, valid_session - }.to change(User, :count).by(1) - end - - it "assigns a newly created user as @user" do - post :create, {:user => valid_attributes}, valid_session - assigns(:user).should be_a(User) - assigns(:user).should be_persisted - end - - it "redirects to the created user" do - post :create, {:user => valid_attributes}, valid_session - response.should redirect_to(User.last) - end - end - - describe "with invalid params" do - it "assigns a newly created but unsaved user as @user" do - # Trigger the behavior that occurs when invalid params are submitted - User.any_instance.stub(:save).and_return(false) - post :create, {:user => {}}, valid_session - assigns(:user).should be_a_new(User) - end - - it "re-renders the 'new' template" do - # Trigger the behavior that occurs when invalid params are submitted - User.any_instance.stub(:save).and_return(false) - post :create, {:user => {}}, valid_session - response.should render_template("new") - end - end - end - - describe "PUT update" do - describe "with valid params" do - it "updates the requested user" do - user = User.create! valid_attributes - # Assuming there are no other users in the database, this - # specifies that the User created on the previous line - # receives the :update_attributes message with whatever params are - # submitted in the request. - User.any_instance.should_receive(:update_attributes).with({'these' => 'params'}) - put :update, {:id => user.to_param, :user => {'these' => 'params'}}, valid_session - end - - it "assigns the requested user as @user" do - user = User.create! valid_attributes - put :update, {:id => user.to_param, :user => valid_attributes}, valid_session - assigns(:user).should eq(user) - end - - it "redirects to the user" do - user = User.create! valid_attributes - put :update, {:id => user.to_param, :user => valid_attributes}, valid_session - response.should redirect_to(user) - end - end - - describe "with invalid params" do - it "assigns the user as @user" do - user = User.create! valid_attributes - # Trigger the behavior that occurs when invalid params are submitted - User.any_instance.stub(:save).and_return(false) - put :update, {:id => user.to_param, :user => {}}, valid_session - assigns(:user).should eq(user) - end - - it "re-renders the 'edit' template" do - user = User.create! valid_attributes - # Trigger the behavior that occurs when invalid params are submitted - User.any_instance.stub(:save).and_return(false) - put :update, {:id => user.to_param, :user => {}}, valid_session - response.should render_template("edit") - end - end - end - - describe "DELETE destroy" do - it "destroys the requested user" do - user = User.create! valid_attributes - expect { - delete :destroy, {:id => user.to_param}, valid_session - }.to change(User, :count).by(-1) - end - - it "redirects to the users list" do - user = User.create! valid_attributes - delete :destroy, {:id => user.to_param}, valid_session - response.should redirect_to(users_url) - end - end - -end diff --git a/spec/factories/product_factory.rb b/spec/factories/product_factory.rb new file mode 100644 index 00000000..8eb1ae09 --- /dev/null +++ b/spec/factories/product_factory.rb @@ -0,0 +1,6 @@ +FactoryGirl.define do + factory :product do + price 34.95 + association :supplier + end +end diff --git a/spec/requests/users_spec.rb b/spec/requests/users_spec.rb deleted file mode 100644 index 0c7daf4e..00000000 --- a/spec/requests/users_spec.rb +++ /dev/null @@ -1,11 +0,0 @@ -require 'spec_helper' - -describe "Users" do - describe "GET /users" do - it "works! (now write some real specs)" do - # Run the generator again with the --webrat flag if you want to use webrat methods/matchers - get users_path - response.status.should be(200) - end - end -end diff --git a/spec/routing/supplier_routing_spec.rb b/spec/routing/supplier_routing_spec.rb new file mode 100644 index 00000000..c5040975 --- /dev/null +++ b/spec/routing/supplier_routing_spec.rb @@ -0,0 +1,43 @@ +require "spec_helper" + +describe SupplierController do + describe "routing" do + + it "routes root to #home" do + get("/supplier").should route_to("supplier#home") + end + it "routes to #active_orders" do + get("/supplier/active_orders").should route_to("supplier#active_orders") + end + it "routes to #active_lists" do + get("/supplier/active_lists").should route_to("supplier#active_lists") + end + it "routes to #close_list" do + post("/supplier/close_list").should route_to("supplier#close_list") + end + it "routes to #mark_list_as_helped" do + post("/supplier/mark_list_as_helped").should route_to("supplier#mark_list_as_helped") + end + it "routes to #mark_order_in_process" do + post("/supplier/mark_order_in_process").should route_to("supplier#mark_order_in_process") + end + it "routes to #order_is_delivered" do + post("/supplier/order_is_delivered").should route_to("supplier#order_is_delivered") + end + it "routes to #mark_as_open" do + post("/supplier/mark_as_open").should route_to("supplier#mark_as_open") + end + it "routes to #mark_as_closed" do + post("/supplier/mark_as_closed").should route_to("supplier#mark_as_closed") + end + it "routes to #settings" do + get("/supplier/settings").should route_to("supplier#edit") + end + it "routes to #update via put" do + put("/supplier/settings").should route_to("supplier#update") + end + it "routes to #update via post" do + post("/supplier/settings").should route_to("supplier#update") + end + end +end diff --git a/spec/routing/user_routing_spec.rb b/spec/routing/user_routing_spec.rb new file mode 100644 index 00000000..9deabfb1 --- /dev/null +++ b/spec/routing/user_routing_spec.rb @@ -0,0 +1,72 @@ +require "spec_helper" + +describe UserController do + describe "routing" do + + it "routes root to #home" do + get("/user").should route_to("user#home") + end + it "routes to #home" do + get("/user/home").should route_to("user#home") + end + it "routes to #active_list" do + get("/user/active_list").should route_to("user#active_list") + end + it "routes to #list_info" do + get("/user/list_info").should route_to("user#list_info") + end + it "routes to #needs_help" do + post("/user/needs_help").should route_to("user#needs_help") + end + + it "routes to #list_needs_payment" do + post("/user/list_needs_payment").should route_to("user#list_needs_payment") + end + + it "routes to #create_list" do + post("/user/create_list").should route_to("user#create_list") + end + it "routes to #list_products" do + get("/user/list_products").should route_to("user#list_products") + end + it "routes to #list_products_for_table" do + get("/user/list_products_for_table").should route_to("user#list_products_for_table") + end + it "routes to #list_history" do + get("/user/list_history").should route_to("user#list_history") + end + it "routes to #history_list" do + get("/user/history_list").should route_to("user#history_list") + end + it "routes to #home" do + get("/user/home").should route_to("user#home") + end + it "routes to #order_selected_products" do + post("/user/order_selected_products").should route_to("user#order_selected_products") + end + it "routes to #move_table" do + post("/user/move_table").should route_to("user#move_table") + end + it "routes to #table_info" do + get("/user/table_info").should route_to("user#table_info") + end + it "routes to #join_occupied_table" do + get("/user/join_occupied_table").should route_to("user#join_occupied_table") + end + it "routes to #join_occupied_table" do + post("/user/join_occupied_table").should route_to("user#request_to_join_occupied_table") + end + it "routes to #reject_join_request" do + post("/user/reject_join_request").should route_to("user#reject_join_request") + end + it "routes to #approve_join_request" do + post("/user/approve_join_request").should route_to("user#approve_join_request") + end + it "routes to #check_table_join_status" do + post("/user/check_table_join_status").should route_to("user#check_table_join_status") + end + it "routes to #obtain_token" do + get("/user/obtain_token").should route_to("user#obtain_token") + end + end +end diff --git a/spec/routing/users_routing_spec.rb b/spec/routing/users_routing_spec.rb deleted file mode 100644 index 69efc3e2..00000000 --- a/spec/routing/users_routing_spec.rb +++ /dev/null @@ -1,35 +0,0 @@ -require "spec_helper" - -describe UsersController do - describe "routing" do - - it "routes to #index" do - get("/users").should route_to("users#index") - end - - it "routes to #new" do - get("/users/new").should route_to("users#new") - end - - it "routes to #show" do - get("/users/1").should route_to("users#show", :id => "1") - end - - it "routes to #edit" do - get("/users/1/edit").should route_to("users#edit", :id => "1") - end - - it "routes to #create" do - post("/users").should route_to("users#create") - end - - it "routes to #update" do - put("/users/1").should route_to("users#update", :id => "1") - end - - it "routes to #destroy" do - delete("/users/1").should route_to("users#destroy", :id => "1") - end - - end -end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index d028ab1f..377ca999 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -11,7 +11,14 @@ Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f} I18n.locale = :en Devise.stretches = 1 -Capybara.default_driver = :selenium +Capybara.javascript_driver = :selenium +#Capybara.default_driver = :selenium + +module FactoryAttributesFor + def attributes_for(obj, options={}) + super(obj, options).merge(build(obj).attributes.select{|k,v| k =~ /_id$/}).symbolize_keys + end +end RSpec.configure do |config| # == Mock Framework # @@ -22,6 +29,7 @@ RSpec.configure do |config| # config.mock_with :rr config.mock_with :rspec config.include FactoryGirl::Syntax::Methods + config.include FactoryAttributesFor config.include Devise::TestHelpers, :type => :controller config.include EndWithMatcher #config.use_transactional_fixtures = true @@ -30,6 +38,7 @@ RSpec.configure do |config| # Use color in STDOUT config.color_enabled = true + config.fail_fast = true # Use color not only in STDOUT but also in pagers and files config.tty = true diff --git a/spec/views/users/edit.html.slim_spec.rb b/spec/views/users/edit.html.slim_spec.rb deleted file mode 100644 index a702cf53..00000000 --- a/spec/views/users/edit.html.slim_spec.rb +++ /dev/null @@ -1,15 +0,0 @@ -require 'spec_helper' - -describe "users/edit" do - before(:each) do - @user = assign(:user, stub_model(User)) - end - - it "renders the edit user form" do - render - - # Run the generator again with the --webrat flag if you want to use webrat matchers - assert_select "form", :action => users_path(@user), :method => "post" do - end - end -end diff --git a/spec/views/users/index.html.slim_spec.rb b/spec/views/users/index.html.slim_spec.rb deleted file mode 100644 index def0c154..00000000 --- a/spec/views/users/index.html.slim_spec.rb +++ /dev/null @@ -1,15 +0,0 @@ -require 'spec_helper' - -describe "users/index" do - before(:each) do - assign(:users, [ - stub_model(User), - stub_model(User) - ]) - end - - it "renders a list of users" do - render - # Run the generator again with the --webrat flag if you want to use webrat matchers - end -end diff --git a/spec/views/users/new.html.slim_spec.rb b/spec/views/users/new.html.slim_spec.rb deleted file mode 100644 index ba75098d..00000000 --- a/spec/views/users/new.html.slim_spec.rb +++ /dev/null @@ -1,15 +0,0 @@ -require 'spec_helper' - -describe "users/new" do - before(:each) do - assign(:user, stub_model(User).as_new_record) - end - - it "renders new user form" do - render - - # Run the generator again with the --webrat flag if you want to use webrat matchers - assert_select "form", :action => users_path, :method => "post" do - end - end -end diff --git a/spec/views/users/show.html.slim_spec.rb b/spec/views/users/show.html.slim_spec.rb deleted file mode 100644 index f6329bb0..00000000 --- a/spec/views/users/show.html.slim_spec.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'spec_helper' - -describe "users/show" do - before(:each) do - @user = assign(:user, stub_model(User)) - end - - it "renders attributes in

" do - render - # Run the generator again with the --webrat flag if you want to use webrat matchers - end -end