cloudrider 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -1
  3. data/cloudrider.gemspec +0 -3
  4. data/generica/app/assets/javascripts/adapters/admin/taxon.js.em +2 -0
  5. data/generica/app/assets/javascripts/components/hero-splash.js.em +1 -15
  6. data/generica/app/assets/javascripts/components/products-showcase.js.em +6 -0
  7. data/generica/app/assets/javascripts/components/select-locale.js.em +2 -2
  8. data/generica/app/assets/javascripts/components/tr-span.js.em +1 -0
  9. data/generica/app/assets/javascripts/components/tree/taxon-li.js.em +27 -2
  10. data/generica/app/assets/javascripts/components/tree/taxon-wrapper.js.em +5 -18
  11. data/generica/app/assets/javascripts/config/i18n-translations.js.ls +6 -2
  12. data/generica/app/assets/javascripts/config/router.js.ls +4 -1
  13. data/generica/app/assets/javascripts/controllers/admin/messages/index_controller.js.em +10 -0
  14. data/generica/app/assets/javascripts/controllers/admin/product/edit_controller.js.em +10 -1
  15. data/generica/app/assets/javascripts/controllers/admin/products/new_controller.js.em +6 -0
  16. data/generica/app/assets/javascripts/controllers/admin/taxon/edit_controller.js.em +17 -0
  17. data/generica/app/assets/javascripts/controllers/admin/taxons/new_controller.js.em +25 -0
  18. data/generica/app/assets/javascripts/controllers/messages/new_controller.js.em +16 -0
  19. data/generica/app/assets/javascripts/controllers/products/index_controller.js.em +5 -8
  20. data/generica/app/assets/javascripts/helpers/hash_ex.js.ls +6 -0
  21. data/generica/app/assets/javascripts/helpers/string_ex.js.ls +1 -1
  22. data/generica/app/assets/javascripts/models/admin/product.js.em +2 -0
  23. data/generica/app/assets/javascripts/models/admin/taxon.js.em +4 -1
  24. data/generica/app/assets/javascripts/models/message.js.em +7 -0
  25. data/generica/app/assets/javascripts/models/product.js.em +7 -2
  26. data/generica/app/assets/javascripts/models/taxon.js.em +3 -5
  27. data/generica/app/assets/javascripts/routes/admin/messages/index_route.js.em +1 -0
  28. data/generica/app/assets/javascripts/routes/admin/taxon_route.js.em +3 -0
  29. data/generica/app/assets/javascripts/routes/admin/taxons/index_route.js.em +1 -1
  30. data/generica/app/assets/javascripts/routes/admin/taxons/new_route.js.em +2 -0
  31. data/generica/app/assets/javascripts/routes/index_route.js.em +3 -2
  32. data/generica/app/assets/javascripts/routes/products/index_route.js.em +1 -1
  33. data/generica/app/assets/javascripts/templates/admin.emblem +17 -5
  34. data/generica/app/assets/javascripts/templates/admin/messages/index.emblem +19 -0
  35. data/generica/app/assets/javascripts/templates/admin/messages/slice.emblem +12 -0
  36. data/generica/app/assets/javascripts/templates/admin/product/edit.emblem +23 -6
  37. data/generica/app/assets/javascripts/templates/admin/products/new.emblem +17 -0
  38. data/generica/app/assets/javascripts/templates/admin/products/slice.emblem +6 -1
  39. data/generica/app/assets/javascripts/templates/admin/taxon/edit.emblem +36 -0
  40. data/generica/app/assets/javascripts/templates/admin/taxons/index.emblem +1 -1
  41. data/generica/app/assets/javascripts/templates/admin/taxons/new.emblem +40 -0
  42. data/generica/app/assets/javascripts/templates/admin/translations/index.emblem +1 -1
  43. data/generica/app/assets/javascripts/templates/components/product-display.emblem +4 -0
  44. data/generica/app/assets/javascripts/templates/components/product-listing.emblem +9 -0
  45. data/generica/app/assets/javascripts/templates/components/search-and-filter.emblem +1 -1
  46. data/generica/app/assets/javascripts/templates/components/site-nav/_top-nav.emblem +1 -1
  47. data/generica/app/assets/javascripts/templates/components/table-booths.emblem +3 -65
  48. data/generica/app/assets/javascripts/templates/components/tree-taxon-li.emblem +11 -3
  49. data/generica/app/assets/javascripts/templates/components/tree-taxon-ul.emblem +6 -7
  50. data/generica/app/assets/javascripts/templates/components/tree-taxon-wrapper.emblem +2 -2
  51. data/generica/app/assets/javascripts/templates/employees/index.emblem +32 -0
  52. data/generica/app/assets/javascripts/templates/index.emblem +2 -1
  53. data/generica/app/assets/javascripts/templates/messages/new.emblem +43 -0
  54. data/generica/app/assets/javascripts/templates/products/product/show.emblem +8 -0
  55. data/generica/app/assets/javascripts/transforms/form_data_transformer.js.ls +4 -0
  56. data/generica/app/assets/stylesheets/apiv1/_admin.css.scss +1 -0
  57. data/generica/app/assets/stylesheets/apiv1/admin/messages/_index.css.scss +34 -0
  58. data/generica/app/assets/stylesheets/apiv1/components/_product-display.css.scss +24 -0
  59. data/generica/app/assets/stylesheets/apiv1/components/_product-listing.css.scss +27 -2
  60. data/generica/app/assets/stylesheets/apiv1/components/_table-booths.css.scss +10 -0
  61. data/generica/app/assets/stylesheets/apiv1/components/_tree-taxon-wrapper.css.scss +37 -22
  62. data/generica/app/assets/stylesheets/apiv1/products/product/_show.css.scss +24 -0
  63. data/generica/app/assets/stylesheets/apiv1/shared/_constants.css.scss +2 -2
  64. data/generica/app/controllers/admin/taxons/create_controller.rb +26 -0
  65. data/generica/app/controllers/apiv1/i18n_translations/index_controller.rb +9 -5
  66. data/generica/app/controllers/apiv1/messages/create_controller.rb +17 -0
  67. data/generica/app/controllers/apiv1/messages/index_controller.rb +18 -0
  68. data/generica/app/controllers/apiv1/products/index_controller.rb +1 -1
  69. data/generica/app/controllers/apiv1/taxons/destroy_controller.rb +9 -0
  70. data/generica/app/controllers/apiv1/taxons/index_controller.rb +1 -0
  71. data/generica/app/controllers/apiv1/taxons/update_controller.rb +28 -0
  72. data/generica/app/controllers/apiv1/translations/create_controller.rb +5 -4
  73. data/generica/app/controllers/apiv1/translations/update_controller.rb +2 -2
  74. data/generica/app/models/admin/product_modifier.rb +16 -3
  75. data/generica/app/models/admin/taxon_factory.rb +23 -0
  76. data/generica/app/models/admin/taxon_relationships_factory.rb +32 -0
  77. data/generica/app/models/apiv1/employee.rb +1 -2
  78. data/generica/app/models/apiv1/message.rb +24 -0
  79. data/generica/app/models/apiv1/messages_machine.rb +31 -0
  80. data/generica/app/models/apiv1/product.rb +33 -13
  81. data/generica/app/models/apiv1/products_machine.rb +9 -1
  82. data/generica/app/models/apiv1/taxon.rb +8 -2
  83. data/generica/app/models/apiv1/translation.rb +73 -14
  84. data/generica/app/models/i18n/backend/active_record.rb +49 -0
  85. data/generica/app/varissets/javascripts/templates/components/introductory-lobby.emblem.erb +15 -1
  86. data/generica/app/varissets/javascripts/templates/components/table-booths.emblem.erb +39 -0
  87. data/generica/app/varissets/stylesheets/apiv1/components/_introductory-lobby.css.scss.erb +15 -1
  88. data/generica/app/varissets/stylesheets/apiv1/components/_table-booths.css.scss.erb +71 -0
  89. data/generica/config/initializers/i18n_backend.rb +7 -0
  90. data/generica/config/routes.rb +5 -2
  91. data/generica/db/migrate/20141010215459_create_apiv1_translations.rb +3 -1
  92. data/generica/db/migrate/20141105231548_add_showcase_priority_to_apiv1_products.rb +5 -0
  93. data/generica/db/migrate/20141107174821_create_apiv1_messages.rb +12 -0
  94. data/generica/db/schema.rb +11 -16
  95. data/generica/lib/tasks/production.rake +2 -1
  96. data/generica/spec/controllers/admin/taxons/create_controller_spec.rb +44 -0
  97. data/generica/spec/controllers/apiv1/messages/index_controller_spec.rb +5 -0
  98. data/generica/spec/controllers/apiv1/taxons/index_controller_spec.rb +59 -0
  99. data/generica/spec/controllers/apiv1/taxons/update_controller_spec.rb +54 -0
  100. data/generica/spec/controllers/apiv1/translations/create_controller_spec.rb +50 -0
  101. data/generica/spec/controllers/apiv1/translations/update_controller_spec.rb +54 -0
  102. data/generica/spec/factories/apiv1/product_factory.rb +12 -11
  103. data/generica/spec/models/admin/product_modifier_spec.rb +32 -0
  104. data/generica/spec/models/admin/taxon_relationships_factory_spec.rb +49 -0
  105. data/generica/spec/models/apiv1/message_spec.rb +16 -0
  106. data/generica/spec/models/apiv1/product_spec.rb +13 -12
  107. data/generica/spec/models/apiv1/translation_spec.rb +41 -0
  108. data/generica/spec/models/i18n/backend/active_record_spec.rb +27 -0
  109. data/lib/cloudrider/apiv1/base.rb +4 -4
  110. data/lib/cloudrider/apiv1/introductory_lobby_component.rb +1 -0
  111. data/lib/cloudrider/apiv1/introductory_lobby_sass.rb +9 -0
  112. data/lib/cloudrider/apiv1/table_booths_component.rb +6 -0
  113. data/lib/cloudrider/master_context.rb +105 -0
  114. data/lib/cloudrider/version.rb +1 -1
  115. metadata +43 -31
  116. data/generica/app/assets/javascripts/components/products-showcase.js.ls +0 -5
  117. data/generica/config/locales/ar.yml +0 -78
  118. data/generica/config/locales/ca.yml +0 -78
  119. data/generica/config/locales/cs.yml +0 -78
  120. data/generica/config/locales/da.yml +0 -78
  121. data/generica/config/locales/de.yml +0 -78
  122. data/generica/config/locales/el.yml +0 -78
  123. data/generica/config/locales/en.yml +0 -78
  124. data/generica/config/locales/es.yml +0 -78
  125. data/generica/config/locales/fi.yml +0 -78
  126. data/generica/config/locales/fr.yml +0 -78
  127. data/generica/config/locales/hu.yml +0 -78
  128. data/generica/config/locales/id.yml +0 -78
  129. data/generica/config/locales/is.yml +0 -78
  130. data/generica/config/locales/it.yml +0 -78
  131. data/generica/config/locales/ja.yml +0 -78
  132. data/generica/config/locales/ko.yml +0 -78
  133. data/generica/config/locales/ms.yml +0 -78
  134. data/generica/config/locales/nl.yml +0 -78
  135. data/generica/config/locales/no.yml +0 -78
  136. data/generica/config/locales/pl.yml +0 -78
  137. data/generica/config/locales/pt.yml +0 -78
  138. data/generica/config/locales/ru.yml +0 -78
  139. data/generica/config/locales/sv.yml +0 -78
  140. data/generica/config/locales/th.yml +0 -78
  141. data/generica/config/locales/tr.yml +0 -78
  142. data/generica/config/locales/zh-CN.yml +0 -78
  143. data/generica/config/locales/zh-TW.yml +0 -78
  144. data/lib/cloudrider/file_orders_maker.rb +0 -24
@@ -2,22 +2,49 @@
2
2
  #
3
3
  # Table name: apiv1_translations
4
4
  #
5
- # id :integer not null, primary key
6
- # locale :string(255) not null
7
- # key :string(255) not null
8
- # translated_text :string(255)
9
- # created_at :datetime
10
- # updated_at :datetime
5
+ # id :integer not null, primary key
6
+ # locale :string(255) not null
7
+ # key :string(255) not null
8
+ # value :text
9
+ # interpolations :text
10
+ # is_proc :boolean default(FALSE)
11
+ # created_at :datetime
12
+ # updated_at :datetime
11
13
  #
12
14
 
13
15
  class Apiv1::Translation < ActiveRecord::Base
16
+ TRUTHY_CHAR = "\001".freeze
17
+ FALSY_CHAR = "\002".freeze
18
+ serialize :value
19
+ serialize :interpolations, Array
20
+
14
21
  Languages = YAML.load(File.read Rails.root.join "config", "desired_languages.yml")["languages"]
15
22
  KnownLocales = Languages.keys
16
23
  include ::Elasticsearch::Model
17
24
  include ::Elasticsearch::Model::Callbacks
18
25
  class << self
19
26
  def known_languages
20
- select(:locale).uniq.map(&:locale)
27
+ select(:locale).uniq.map(&:locale).map(&:to_sym)
28
+ end
29
+ def locale(locale)
30
+ where(:locale => locale.to_s)
31
+ end
32
+
33
+ def lookup(keys, *separator)
34
+ column_name = connection.quote_column_name('key')
35
+ keys = Array(keys).map! { |key| key.to_s }
36
+
37
+ if separator.present?
38
+ warn "[DEPRECATION] Giving a separator to lookup is deprecated. " <<
39
+ "You can change the internal separator by overwriting FLATTEN_SEPARATOR."
40
+ end
41
+
42
+ namespace = "#{keys.last}#{I18n::Backend::Flatten::FLATTEN_SEPARATOR}%"
43
+ where("#{column_name} IN (?) OR #{column_name} LIKE ?", keys, namespace)
44
+ end
45
+
46
+ def available_locales
47
+ known_languages
21
48
  end
22
49
  end
23
50
  scope :order_alphabetically,
@@ -29,18 +56,19 @@ class Apiv1::Translation < ActiveRecord::Base
29
56
  scope :by_key,
30
57
  -> (k) { where key: k }
31
58
 
32
- after_create :_add_to_i18n_backend
33
-
34
59
  validates :locale,
35
60
  :key,
36
- :translated_text,
61
+ :value,
37
62
  presence: true
38
63
 
39
64
  validates :locale,
40
65
  inclusion: { in: KnownLocales }
41
66
 
42
67
  def to_ember_hash
43
- { id: id, locale: locale, key: key, translated_text: translated_text }
68
+ { id: id, locale: locale, key: key, translated_text: translated_text, value: value }
69
+ end
70
+ def tl_hash
71
+ { key => translated_text }
44
72
  end
45
73
 
46
74
  def as_indexed_json(options={})
@@ -50,8 +78,39 @@ class Apiv1::Translation < ActiveRecord::Base
50
78
  translated_text: translated_text
51
79
  }
52
80
  end
53
- private
54
- def _add_to_i18n_backend
55
- I18n.backend.store_translations locale, key => translated_text
81
+
82
+ def interpolates?(key)
83
+ self.interpolations.include?(key) if self.interpolations
84
+ end
85
+
86
+ def translated_text
87
+ read_attribute :value
88
+ end
89
+
90
+ def translated_text=(value)
91
+ write_attribute(:value, value)
92
+ end
93
+
94
+ def value
95
+ v = read_attribute(:value)
96
+ if is_proc
97
+ Kernel.eval(v)
98
+ elsif v == FALSY_CHAR
99
+ false
100
+ elsif v == TRUTHY_CHAR
101
+ true
102
+ else
103
+ v
104
+ end
105
+ end
106
+
107
+ def value=(v)
108
+ va = v
109
+ if v === false
110
+ va = FALSY_CHAR
111
+ elsif v === true
112
+ va = TRUTHY_CHAR
113
+ end
114
+ write_attribute(:value, va)
56
115
  end
57
116
  end
@@ -0,0 +1,49 @@
1
+ class I18n::Backend::ActiveRecord
2
+ include Singleton
3
+ include I18n::Backend::Base
4
+ include I18n::Backend::Flatten
5
+ include I18n::Backend::Memoize
6
+ include I18n::Backend::Cache
7
+ def available_locales
8
+ begin
9
+ ::Apiv1::Translation.available_locales
10
+ rescue ::ActiveRecord::StatementInvalid
11
+ []
12
+ end
13
+ end
14
+
15
+ def store_translations(locale, data, options = {})
16
+ escape = options.fetch(:escape, true)
17
+ flatten_translations(locale, data, escape, false).each do |key, value|
18
+ ::Apiv1::Translation.locale(locale).lookup(expand_keys(key)).delete_all
19
+ ::Apiv1::Translation.create(:locale => locale.to_s, :key => key.to_s, :value => value)
20
+ end
21
+ end
22
+
23
+ private
24
+
25
+ def lookup(locale, key, scope = [], options = {})
26
+ key = normalize_flat_keys(locale, key, scope, options[:separator])
27
+ result = ::Apiv1::Translation.locale(locale).lookup(key)
28
+
29
+ if result.empty?
30
+ nil
31
+ elsif result.first.key == key
32
+ result.first.value
33
+ else
34
+ chop_range = (key.size + I18n::Backend::Flatten::FLATTEN_SEPARATOR.size)..-1
35
+ result = result.inject({}) do |hash, r|
36
+ hash[r.key.slice(chop_range)] = r.value
37
+ hash
38
+ end
39
+ result.deep_symbolize_keys
40
+ end
41
+ end
42
+
43
+ # For a key :'foo.bar.baz' return ['foo', 'foo.bar', 'foo.bar.baz']
44
+ def expand_keys(key)
45
+ key.to_s.split(I18n::Backend::Flatten::FLATTEN_SEPARATOR).inject([]) do |keys, key|
46
+ keys << [keys.last, key].compact.join(I18n::Backend::Flatten::FLATTEN_SEPARATOR)
47
+ end
48
+ end
49
+ end
@@ -6,7 +6,21 @@
6
6
  tr-span en="about us"
7
7
  p.about-abstract
8
8
  <% about_us_sentences.each do |sentence| %>
9
- span.sentence
9
+ span.sentence.spacebar
10
10
  tr-span en=<%= sentence.inspect %>
11
11
  <% end %>
12
+ <% when :half_half %>
13
+ .horizontal-cell
14
+ .row
15
+ .small-12.medium-6.medium-offset-5.columns.text-right
16
+ h1.title.capitalize
17
+ tr-span en="about us"
18
+ h3.company-bs
19
+ tr-span en=<%= about_us_sentences.first.inspect %>
20
+ p.summaries
21
+ <% about_us_sentences.tail.each do |sentence| %>
22
+ span.spacebar
23
+ tr-span en=<%= sentence.inspect %>
24
+ <% end %>
25
+ .horizontal-cell.fishing-background
12
26
  <% end %>
@@ -68,4 +68,43 @@
68
68
  button class="button expand"
69
69
  span.capitalize
70
70
  tr-span en="submit"
71
+ <% :just_cards %>
72
+ .business-cards
73
+ .row
74
+ each employee in employees
75
+ .small-6.medium-4.large-4.columns
76
+ a.vertical-card href=employee.emailTo
77
+ .media
78
+ .mug-shot
79
+ img.th.mugshot src=employee.mugUrl
80
+ .title
81
+ .name= employee.personName
82
+ .job= employee.employeeTitle
83
+ .info
84
+ .thing
85
+ span.bold.capitalize.colon
86
+ tr-span en="email"
87
+ span.prespace= employee.email
88
+ .thing
89
+ span.bold.capitalize.colon
90
+ tr-span en="phone"
91
+ span.prespace= employee.phoneNumber
92
+ else
93
+ .small-6.medium-4.large-4.columns.end
94
+ .vertical-card
95
+ .mug-shot
96
+ i.fa.fa-cog.fa-spin.fa-3x
97
+ .name
98
+ tr-span en="loading employees"
99
+ .job
100
+ tr-span en="or perhaps you don't have employees yet"
101
+
102
+ .row
103
+ .small-12.columns
104
+ h3.call-us
105
+ tr-span en=<%= contact_us_call_to_action.inspect %>
106
+ span.spacebar
107
+ a.email-us href="mailto:<%= main_contact_email %>"
108
+ tr-span en="send us an email"
109
+ span.prespace <%= main_contact_email %>
71
110
  <% end %>
@@ -21,6 +21,20 @@
21
21
  padding: 15px;
22
22
  color: <%= abstract_text_color %>;
23
23
  }
24
- <% when :something_else %>
24
+ <% when :half_half %>
25
+ @include display-flex;
26
+ @include justify-content(space-between);
27
+ .horizontal-cell {
28
+ padding-top: 5rem;
29
+ padding-bottom: 5rem;
30
+ width: 50%;
31
+ }
32
+ .fishing-background {
33
+ background: {
34
+ image: <%= background_image_url %>;
35
+ size: <%= background_image_size %>;
36
+ position: <%= background_image_position %>;
37
+ }
38
+ }
25
39
  <% end %>
26
40
  }
@@ -24,5 +24,76 @@
24
24
  .text-left {
25
25
  padding-top: 15px;
26
26
  }
27
+ <% when :just_cards %>
28
+ background: {
29
+ color: #777;
30
+ }
31
+ .business-cards {
32
+ padding-top: 4rem;
33
+ padding-bottom: 4rem;
34
+ }
35
+ .name {
36
+ font-size: 1.3rem;
37
+ color: #eee;
38
+ padding-bottom: 10px;
39
+ font-weight: bold;
40
+ text-transform: capitalize;
41
+ }
42
+ .job {
43
+ font-style: italic;
44
+ color: #eee;
45
+ text-transform: capitalize;
46
+ }
47
+ .info {
48
+ color: #eee;
49
+ }
50
+ .thing {
51
+ padding-bottom: 5px;
52
+ }
53
+ .title {
54
+ padding-left: 15px;
55
+ }
56
+ .mugshot {
57
+ width: 50px;
58
+ }
59
+ .vertical-card {
60
+ padding: 2rem;
61
+ background-color: #555;
62
+ &:hover {
63
+ background-color: darken(#008cba, 20%);
64
+ }
65
+ border: 1px solid #444;
66
+ color: #eee;
67
+ height: 200px;
68
+ @include display-flex;
69
+ @include flex-direction(column);
70
+ @include justify-content(space-between);
71
+ @include transition-property(background-color);
72
+ @include transition-duration(300ms);
73
+ @include transition-timing-function(ease-out);
74
+ }
75
+ .media {
76
+ @include display-flex;
77
+ @include flex-direction(row);
78
+ @include justify-content(flex-start);
79
+ }
80
+ .call-us {
81
+ margin-top: 3rem;
82
+ color: #eee;
83
+ text-align: center;
84
+ }
85
+ .email-us {
86
+ @include transition-property(color);
87
+ @include transition-duration(300ms);
88
+ @include transition-timing-function(ease-out);
89
+ color: #eee;
90
+ text-decoration: underline;
91
+ &:hover {
92
+ color: ligthen(#008cba, 10%);
93
+ }
94
+ }
95
+ .spacebar {
96
+ margin-left: 15px;
97
+ }
27
98
  <% end %>
28
99
  }
@@ -0,0 +1,7 @@
1
+ I18n::Backend::Simple.send(:include, I18n::Backend::Memoize)
2
+ I18n::Backend::Simple.send(:include, I18n::Backend::Pluralization)
3
+ I18n::Backend::ActiveRecord.send :include, I18n::Backend::Flatten
4
+ I18n::Backend::ActiveRecord.send :include, I18n::Backend::Memoize
5
+ I18n::Backend::ActiveRecord.send :include, I18n::Backend::Cache
6
+ I18n.cache_store = ActiveSupport::Cache.lookup_store(:memory_store)
7
+ I18n.backend = I18n::Backend::Chain.new(I18n.backend, I18n::Backend::ActiveRecord.instance)
@@ -11,6 +11,8 @@ Rails.application.routes.draw do
11
11
  resources :pictures, only: [:destroy], controller: 'pictures/destroy'
12
12
  resources :taxons, only: [:index], controller: 'taxons/index'
13
13
  resources :taxons, only: [:show], controller: 'taxons/show'
14
+ resources :taxons, only: [:destroy], controller: 'taxons/destroy'
15
+ resources :taxons, only: [:update], controller: 'taxons/update'
14
16
  resources :employees, only: [:show], controller: 'employees/show'
15
17
  resources :employees, only: [:index], controller: 'employees/index'
16
18
  resources :translations, only: [:show], controller: 'translations/show'
@@ -18,6 +20,8 @@ Rails.application.routes.draw do
18
20
  resources :translations, only: [:create], controller: 'translations/create'
19
21
  resources :translations, only: [:update], controller: 'translations/update'
20
22
  resources :i18n_translations, only: [:index], controller: 'i18n_translations/index'
23
+ resources :messages, only: [:create], controller: 'messages/create'
24
+ resources :messages, only: [:index], controller: 'messages/index'
21
25
  end
22
26
 
23
27
  namespace :admin do
@@ -26,9 +30,8 @@ Rails.application.routes.draw do
26
30
 
27
31
  resources :admin_employees, only: [:create], controller: 'employees/create'
28
32
 
29
- resources :taxons, only: [:create], controller: 'taxons/create'
33
+ resources :admin_taxons, only: [:create], controller: 'taxons/create'
30
34
  resources :taxons, only: [:update], controller: 'taxons/update'
31
- resources :taxons, only: [:destroy], controller: 'taxons/destroy'
32
35
 
33
36
  resources :admin_sessions, only: [:create], controller: 'sessions/create'
34
37
  end
@@ -3,7 +3,9 @@ class CreateApiv1Translations < ActiveRecord::Migration
3
3
  create_table :apiv1_translations do |t|
4
4
  t.string :locale, null: false
5
5
  t.string :key, null: false
6
- t.string :translated_text
6
+ t.text :value
7
+ t.text :interpolations
8
+ t.boolean :is_proc, default: false
7
9
  t.timestamps
8
10
  end
9
11
  add_index :apiv1_translations, [:key, :locale], unique: true
@@ -0,0 +1,5 @@
1
+ class AddShowcasePriorityToApiv1Products < ActiveRecord::Migration
2
+ def change
3
+ add_column :apiv1_products, :showcase_order, :integer
4
+ end
5
+ end
@@ -0,0 +1,12 @@
1
+ class CreateApiv1Messages < ActiveRecord::Migration
2
+ def change
3
+ create_table :apiv1_messages do |t|
4
+ t.string :from_company
5
+ t.string :sender_email
6
+ t.string :subject_text
7
+ t.text :message
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -11,7 +11,7 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20141021003734) do
14
+ ActiveRecord::Schema.define(version: 20141107174821) do
15
15
 
16
16
  create_table "admin_users", force: true do |t|
17
17
  t.string "email", null: false
@@ -44,7 +44,6 @@ ActiveRecord::Schema.define(version: 20141021003734) do
44
44
  t.string "employee_title"
45
45
  t.string "email"
46
46
  t.string "phone_number"
47
- t.integer "picture_id"
48
47
  t.datetime "created_at"
49
48
  t.datetime "updated_at"
50
49
  end
@@ -60,22 +59,15 @@ ActiveRecord::Schema.define(version: 20141021003734) do
60
59
  add_index "apiv1_listings_taxons", ["listing_id", "listing_type"], name: "index_apiv1_listings_taxons_on_listing_id_and_listing_type", using: :btree
61
60
  add_index "apiv1_listings_taxons", ["taxon_id"], name: "index_apiv1_listings_taxons_on_taxon_id", using: :btree
62
61
 
63
- create_table "apiv1_offers", force: true do |t|
64
- t.integer "listing_id"
65
- t.string "listing_type"
66
- t.decimal "price", precision: 17, scale: 4
67
- t.string "price_unit"
68
- t.string "incoterm"
69
- t.string "location_name"
70
- t.string "buyer_company"
71
- t.string "buyer_email"
62
+ create_table "apiv1_messages", force: true do |t|
63
+ t.string "from_company"
64
+ t.string "sender_email"
65
+ t.string "subject_text"
72
66
  t.text "message"
73
67
  t.datetime "created_at"
74
68
  t.datetime "updated_at"
75
69
  end
76
70
 
77
- add_index "apiv1_offers", ["listing_id", "listing_type"], name: "index_apiv1_offers_on_listing_id_and_listing_type", using: :btree
78
-
79
71
  create_table "apiv1_pictures", force: true do |t|
80
72
  t.integer "depictable_id"
81
73
  t.string "depictable_type"
@@ -100,6 +92,7 @@ ActiveRecord::Schema.define(version: 20141021003734) do
100
92
  t.text "others"
101
93
  t.datetime "created_at"
102
94
  t.datetime "updated_at"
95
+ t.integer "showcase_order"
103
96
  end
104
97
 
105
98
  add_index "apiv1_products", ["permalink"], name: "index_apiv1_products_on_permalink", using: :btree
@@ -120,9 +113,11 @@ ActiveRecord::Schema.define(version: 20141021003734) do
120
113
  add_index "apiv1_taxons", ["permalink", "root_genus"], name: "index_apiv1_taxons_on_permalink_and_root_genus", unique: true, using: :btree
121
114
 
122
115
  create_table "apiv1_translations", force: true do |t|
123
- t.string "locale", null: false
124
- t.string "key", null: false
125
- t.string "translated_text"
116
+ t.string "locale", null: false
117
+ t.string "key", null: false
118
+ t.text "value"
119
+ t.text "interpolations"
120
+ t.boolean "is_proc", default: false
126
121
  t.datetime "created_at"
127
122
  t.datetime "updated_at"
128
123
  end