diff --git a/back-office/app/models/item.rb b/back-office/app/models/item.rb index 0bb9ad1..c991c44 100644 --- a/back-office/app/models/item.rb +++ b/back-office/app/models/item.rb @@ -3,7 +3,8 @@ class Item < ActiveRecord::Base CSV_COL = { :code => 0, :input_price => 1, - :list_price => 2 + :list_price => 2, + :decoration => 3 } belongs_to :unit @@ -117,6 +118,7 @@ class Item < ActiveRecord::Base else item.current_input_price = row[CSV_COL[:input_price]] item.list_price = row[CSV_COL[:list_price]] + item.decoration = row[CSV_COL[:decoration]] item.save! end end diff --git a/front-api/controllers/item.rb b/front-api/controllers/item.rb index e58f608..2ae6e89 100644 --- a/front-api/controllers/item.rb +++ b/front-api/controllers/item.rb @@ -12,7 +12,7 @@ def prepare_items_for_mass_display(items) end def offset_and_limit_invalid?(offset, limit) - offset < 0 or limit <= 0 or limit > 100 + offset < 0 or limit <= 0 or limit > 300 end diff --git a/front-api/db/migrate/20151124061357_add_decoration_to_item.rb b/front-api/db/migrate/20151124061357_add_decoration_to_item.rb new file mode 100644 index 0000000..290d34e --- /dev/null +++ b/front-api/db/migrate/20151124061357_add_decoration_to_item.rb @@ -0,0 +1,5 @@ +class AddDecorationToItem < ActiveRecord::Migration + def change + add_column :items, :decoration, :string + end +end diff --git a/front-api/db/schema.rb b/front-api/db/schema.rb index 564e0b1..8c9037a 100644 --- a/front-api/db/schema.rb +++ b/front-api/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20150726161256) do +ActiveRecord::Schema.define(version: 20151124061357) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -135,6 +135,7 @@ ActiveRecord::Schema.define(version: 20150726161256) do t.decimal "weight", precision: 5, scale: 3 t.integer "delivery_time_estimation_id" t.integer "brand_id" + t.string "decoration" end create_table "link_banners", force: :cascade do |t| diff --git a/front-api/models/multi_media_description.rb b/front-api/models/multi_media_description.rb index 2aa7aa3..4be8f03 100644 --- a/front-api/models/multi_media_description.rb +++ b/front-api/models/multi_media_description.rb @@ -8,7 +8,8 @@ class MultiMediaDescription < ActiveRecord::Base end def resized_url - url.gsub('/upload/v','/upload/c_lpad,h_281,w_375/v') + decoration_slug = item.decoration.present? ? "/#{item.decoration}" : "" + url.gsub('/upload/v',"/upload/c_lpad,h_281,w_375#{decoration_slug}/v") end end diff --git a/front-ui/app/actions/navigationActions.js b/front-ui/app/actions/navigationActions.js index 889df5c..928da51 100644 --- a/front-ui/app/actions/navigationActions.js +++ b/front-ui/app/actions/navigationActions.js @@ -1,21 +1,23 @@ var AppDispatcher = require('../dispatcher/appDispatcher'); var NavigationConstants = require('../constants/navigationConstants'); +var globals = require('../globals'); // Define action methods var NavigationActions = { + // select item goToItemDetails: function(item) { AppDispatcher.handleAction({ actionType: NavigationConstants.CHANGE_URL, - url: '/artikal/' + item.get('id') +'/' + item.get('name') + url: '/artikal/' + item.get('id') +'/' + globals.Slugify(item.get('name')) }); }, goToSection: function(section) { AppDispatcher.handleAction({ actionType: NavigationConstants.CHANGE_URL, - url: '/sekcija/'+ section.get('id') + '/' + section.get('name') + url: '/sekcija/'+ section.get('id') + '/' + globals.Slugify(section.get('name')) }); }, _getQueryStringPart: function(query, offset, limit) { @@ -46,7 +48,7 @@ var NavigationActions = { }, goToCategory: function(category,section, query, offset, limit) { - var url ='/sekcija/' + section.get('name') +'/kategorija/'+ category.get('id') + '/' + category.get('name'); + var url ='/sekcija/' + section.get('name') +'/kategorija/'+ category.get('id') + '/' + globals.Slugify(category.get('name')); var q = this._getQueryStringPart(query, offset, limit); AppDispatcher.handleAction({ actionType: NavigationConstants.CHANGE_URL, @@ -56,7 +58,7 @@ var NavigationActions = { goToSubCategory: function(subCategory, offset, limit, query) { var q = this._getQueryStringPart(query, offset, limit); - var url = '/podkategorija/' + subCategory.get('id') + '/' + subCategory.get('name'); + var url = '/podkategorija/' + subCategory.get('id') + '/' + globals.Slugify(subCategory.get('name')); AppDispatcher.handleAction({ actionType: NavigationConstants.CHANGE_URL, url: (url + q) diff --git a/front-ui/app/components/about/newsletterSweepstake.js b/front-ui/app/components/about/newsletterSweepstake.js new file mode 100644 index 0000000..d641fe0 --- /dev/null +++ b/front-ui/app/components/about/newsletterSweepstake.js @@ -0,0 +1,40 @@ +var React = require('react'), + CartStore = require('../../stores/cartStore'), + AddToCart = require('../cart/addToCart'), + CartActions = require('../../actions/cartActions'), + LinkBanner = require('../linkBanner/linkBanner'), + NavigationActions = require('../../actions/navigationActions'), + Globals = require('../../globals') + Router = require("react-router"), + Link = Router.Link; + + +var NewsletterSweepstake = React.createClass({ + + render: function() { + + return ( + +
Prijavite se na naše novosti i saznajte sve o najnovijim sniženjima i ponudama na Ribici!
+ +I ovaj put - najsretnije očekuju vrijedne Disney Frozen nagrade!
Pobjednike objavljujemo u našim email novostima u Ponedjeljak, 7.12.2015.
+ + ++ +
+ + + +