Skip to content

Instantly share code, notes, and snippets.

View stabenfeldt's full-sized avatar
🎯
Focusing

Martin Stabenfeldt stabenfeldt

🎯
Focusing
View GitHub Profile
module Spree
class MultiVendorAbility
include CanCan::Ability
def initialize(user)
user ||= Spree::User.new # guest user (not logged in)
if user.admin?
can :manage, :all
puts "IS admin"
else
require 'spec_helper'
describe Spree::MultiVendorAbility do
let(:ability) { Spree::MultiVendorAbility.new(user) }
let(:user) { create(:user) }
let(:product) { create :product }
let(:stock_location) { create(:stock_location_with_items) }
let(:stock_item) { stock_location.stock_items.order(:id).first }
subject { ability }
# app/models/spree/custom_ability.rb
module Spree
class CustomAbility
include CanCan::Ability
def initialize(user)
can [:action], Spree.user_class, id: user.id
end
end
end
2016-01-27T14:29:22.477532+00:00 heroku[router]: at=info method=POST path="/api/taxonomies/5/taxons" host=my-beta.herokuapp.com request_id=e95122b8-6482-4310-96bf-a1df781fde5b fwd="84.215.77.255" dyno=
web.1 connect=0ms service=62ms status=201 bytes=1231
2016-01-27T14:29:22.399995+00:00 app[web.1]: Started POST "/api/taxonomies/5/taxons" for 84.215.77.255 at 2016-01-27 14:29:22 +0000
2016-01-27T14:29:22.409944+00:00 app[web.1]: (0.9ms) SELECT "spree_roles"."name" FROM "spree_roles" INNER JOIN "spree_roles_users" ON "spree_roles"."id" = "spree_roles_users"."role_id" WHERE "spree_ro
les_users"."user_id" = $1 [["user_id", 1]]
2016-01-27T14:29:22.416062+00:00 app[web.1]: Spree::Taxonomy Load (2.1ms) SELECT "spree_taxonomies".* FROM "spree_taxonomies" WHERE "spree_taxonomies"."id" = $1 ORDER BY "spree_taxonomies"."position"
ASC LIMIT 1 [["id", 5]]
2016-01-27T14:29:22.419183+00:00 app[web.1]: Spree::Taxon Load (1.0ms) SELECT "spree_taxons".* FROM "spree_taxons" ORDER BY "spree_taxons"."rgt" desc L
if ENV["COVERAGE"]
# Run Coverage report
require 'simplecov'
SimpleCov.start do
add_group 'Controllers', 'app/controllers'
add_group 'Helpers', 'app/helpers'
add_group 'Mailers', 'app/mailers'
add_group 'Models', 'app/models'
add_group 'Views', 'app/views'
add_group 'Jobs', 'app/jobs'
module Spree
module PermissionSets
# A user should only have access to items belonging to the stock locations he belongs to.
# He should only see activity belonging to his items.
# E.g. Stock managment and orders
#
# Users can be associated with stock locations via the admin user interface.
#
# @see Spree::PermissionSets::Base
#
Spree::RoleConfiguration.configure do |config|
config.assign_permissions :vendor, [
Spree::PermissionSets::OrderDisplay,
Spree::PermissionSets::OrderManagement,
Spree::PermissionSets::UserDisplay,
Spree::PermissionSets::ProductDisplay,
Spree::PermissionSets::MultiVendor
]
end
var gulp = require('gulp');
var gutil = require('gulp-util');
var source = require('vinyl-source-stream');
var browserify = require('browserify');
var watchify = require('watchify');
var reactify = require('reactify');
var notifier = require('node-notifier');
var server = require('gulp-server-livereload');
var concat = require('gulp-concat');
var sass = require('gulp-sass');
var gulp = require('gulp');
var gutil = require('gulp-util');
var source = require('vinyl-source-stream');
var browserify = require('browserify');
var watchify = require('watchify');
var reactify = require('reactify');
var notifier = require('node-notifier');
var server = require('gulp-server-livereload');
var concat = require('gulp-concat');
var sass = require('gulp-sass');
- name: harvester_webservice
service: app
command: echo hi