cloudrider 0.3.0 → 0.3.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +11 -1
- data/cloudrider.gemspec +1 -0
- data/generica/.gitignore +18 -0
- data/generica/Gemfile +8 -1
- data/generica/Gemfile.lock +3 -0
- data/generica/app/assets/javascripts/apiv1.js.ls +6 -1
- data/generica/app/assets/javascripts/components/offers-summary.js.em +2 -0
- data/generica/app/assets/javascripts/components/picture-chunk.js.em +17 -0
- data/generica/app/assets/javascripts/components/pictures-group.js.em +21 -0
- data/generica/app/assets/javascripts/components/search-and-filter.js.em +4 -0
- data/generica/app/assets/javascripts/components/site-nav.js.em +5 -1
- data/generica/app/assets/javascripts/components/taggable-field.js.em +28 -0
- data/generica/app/assets/javascripts/components/tree/taxon-li.js.em +6 -2
- data/generica/app/assets/javascripts/controllers/index_controller.js.em +19 -2
- data/generica/app/assets/javascripts/controllers/modals/login_controller.js.em +23 -9
- data/generica/app/assets/javascripts/controllers/modals/register_controller.js.em +24 -0
- data/generica/app/assets/javascripts/controllers/products/index_controller.js.em +23 -13
- data/generica/app/assets/javascripts/controllers/products/product/offers/new_controller.js.em +17 -0
- data/generica/app/assets/javascripts/controllers/users/offers/index_controller.js.em +10 -0
- data/generica/app/assets/javascripts/controllers/users/product/edit_controller.js.em +31 -0
- data/generica/app/assets/javascripts/controllers/users/products/index_controller.js.em +8 -0
- data/generica/app/assets/javascripts/controllers/users/products/new_controller.js.em +22 -0
- data/generica/app/assets/javascripts/controllers/users/products/slice_controller.js.em +4 -0
- data/generica/app/assets/javascripts/helpers/filte_previewer.js.ls +21 -0
- data/generica/app/assets/javascripts/helpers/listing_picture.js.em +17 -0
- data/generica/app/assets/javascripts/models/offer.js.em +9 -8
- data/generica/app/assets/javascripts/models/user.js.em +12 -0
- data/generica/app/assets/javascripts/models/users/product.js.em +12 -0
- data/generica/app/assets/javascripts/routes/application_route.js.em +10 -2
- data/generica/app/assets/javascripts/routes/products/index_route.js.em +23 -2
- data/generica/app/assets/javascripts/routes/products/product/offers/new_route.js.em +18 -0
- data/generica/app/assets/javascripts/routes/users/offers/index_route.js.em +1 -0
- data/generica/app/assets/javascripts/routes/users/product_route.js.em +3 -0
- data/generica/app/assets/javascripts/routes/users/products/index_route.js.em +3 -0
- data/generica/app/assets/javascripts/routes/users/products/new_route.js.em +3 -0
- data/generica/app/assets/javascripts/templates/admin/product/edit.emblem +2 -0
- data/generica/app/assets/javascripts/templates/admin/products/_form-core.emblem +44 -0
- data/generica/app/assets/javascripts/templates/admin/products/new.emblem +4 -42
- data/generica/app/assets/javascripts/templates/components/offers-summary.emblem +9 -0
- data/generica/app/assets/javascripts/templates/components/picture-chunk.emblem +9 -0
- data/generica/app/assets/javascripts/templates/components/pictures-group.emblem +6 -0
- data/generica/app/assets/javascripts/templates/components/search-and-filter.emblem +5 -1
- data/generica/app/assets/javascripts/templates/components/taggable-field.emblem +1 -0
- data/generica/app/assets/javascripts/templates/modals/register.emblem +57 -0
- data/generica/app/assets/javascripts/templates/products/product/offers/_anonymous-form.emblem +11 -0
- data/generica/app/assets/javascripts/templates/products/product/offers/_offer-form.emblem +55 -0
- data/generica/app/assets/javascripts/templates/products/product/offers/new.emblem +37 -0
- data/generica/app/assets/javascripts/templates/products/product/show.emblem +26 -1
- data/generica/app/assets/javascripts/templates/users.emblem +24 -0
- data/generica/app/assets/javascripts/templates/users/index.emblem +3 -0
- data/generica/app/assets/javascripts/templates/users/offers/index.emblem +25 -0
- data/generica/app/assets/javascripts/templates/users/offers/slice.emblem +31 -0
- data/generica/app/assets/javascripts/templates/users/product/edit.emblem +82 -0
- data/generica/app/assets/javascripts/templates/users/products/index.emblem +22 -0
- data/generica/app/assets/javascripts/templates/users/products/new.emblem +28 -0
- data/generica/app/assets/javascripts/templates/users/products/slice.emblem +27 -0
- data/generica/app/assets/stylesheets/apiv1/_application.css.scss +4 -0
- data/generica/app/assets/stylesheets/apiv1/components/_offers-summary.css.scss +20 -0
- data/generica/app/assets/stylesheets/apiv1/components/_pictures-group.css.scss +32 -0
- data/generica/app/assets/stylesheets/apiv1/components/_taggable-field.css.scss +32 -0
- data/generica/app/assets/stylesheets/apiv1/products/product/offers/_new.css.scss +8 -0
- data/generica/app/controllers/admin/base_controller.rb +1 -1
- data/generica/app/controllers/admin/sessions/destroy_controller.rb +16 -0
- data/generica/app/controllers/apiv1/offers/create_controller.rb +30 -0
- data/generica/app/controllers/apiv1/offers/index_controller.rb +22 -0
- data/generica/app/controllers/apiv1/offers/show_controller.rb +12 -0
- data/generica/app/controllers/apiv1/products/destroy_controller.rb +6 -0
- data/generica/app/controllers/apiv1/products/index_controller.rb +8 -2
- data/generica/app/controllers/apiv1/products/show_controller.rb +7 -3
- data/generica/app/controllers/apiv1/taxons/index_controller.rb +5 -1
- data/generica/app/controllers/apiv1/users/create_controller.rb +17 -0
- data/generica/app/controllers/apiv1/users/show_controller.rb +12 -0
- data/generica/app/controllers/apiv1/users_controller.rb +9 -0
- data/generica/app/controllers/application_controller.rb +3 -0
- data/generica/app/controllers/users/offers/create_controller.rb +26 -0
- data/generica/app/controllers/users/products/create_controller.rb +26 -0
- data/generica/app/controllers/users/products/update_controller.rb +35 -0
- data/generica/app/mailers/apiv1/aggregate_mailer.rb +13 -0
- data/generica/app/mailers/apiv1/aggregate_mailer/summary_context.rb +121 -0
- data/generica/app/mailers/apiv1/notifications_mailer.rb +19 -0
- data/generica/app/mailers/apiv1/notifications_mailer/new_offer_context.rb +53 -0
- data/generica/app/models/admin/user.rb +43 -2
- data/generica/app/models/apiv1/attachment.rb +2 -0
- data/generica/app/models/apiv1/email_object.rb +35 -0
- data/generica/app/models/apiv1/email_request.rb +107 -0
- data/generica/app/models/apiv1/offer_message.rb +53 -0
- data/generica/app/models/apiv1/offer_postboy.rb +33 -0
- data/generica/app/models/apiv1/picture.rb +2 -0
- data/generica/app/models/apiv1/product.rb +28 -6
- data/generica/app/models/apiv1/products/offer_message_factory.rb +13 -0
- data/generica/app/models/apiv1/products_machine.rb +8 -2
- data/generica/app/models/apiv1/taxon.rb +1 -1
- data/generica/app/models/apiv1/users/product_factory.rb +22 -0
- data/generica/app/models/apiv1/users/product_relationship.rb +19 -0
- data/generica/app/models/users/products/offer_factory.rb +40 -0
- data/generica/app/varissets/javascripts/templates/application.emblem.erb +2 -2
- data/generica/app/varissets/javascripts/templates/components/offers-overview.emblem.erb +1 -0
- data/generica/app/varissets/javascripts/templates/components/search-and-filter.emblem.erb +33 -0
- data/generica/app/varissets/javascripts/templates/components/site-nav.emblem.erb +8 -0
- data/generica/app/varissets/javascripts/templates/components/taggable-field.emblem.erb +11 -0
- data/generica/app/varissets/javascripts/templates/modals/login.emblem.erb +36 -0
- data/generica/app/varissets/javascripts/templates/products.emblem.erb +4 -0
- data/generica/app/varissets/javascripts/templates/products/index.emblem.erb +17 -0
- data/generica/app/varissets/javascripts/templates/products/product/offers/_anonymous-form.emblem.erb +11 -0
- data/generica/app/varissets/javascripts/templates/products/product/offers/_offer-form.emblem.erb +55 -0
- data/generica/app/varissets/javascripts/templates/products/product/offers/new.emblem.erb +37 -0
- data/generica/app/varissets/javascripts/templates/products/product/show.emblem.erb +108 -0
- data/generica/app/varissets/stylesheets/apiv1/components/_offers-overview.css.scss.erb +3 -0
- data/generica/app/varissets/stylesheets/apiv1/components/_offers_overview.css.scss.erb +3 -0
- data/generica/app/varissets/stylesheets/apiv1/components/_search-and-filter.css.scss.erb +15 -0
- data/generica/app/varissets/stylesheets/apiv1/components/_site-footer.css.scss.erb +23 -0
- data/generica/app/varissets/stylesheets/apiv1/components/_taggable-field.css.scss.erb +32 -0
- data/generica/app/views/apiv1/home/index.html.haml +3 -1
- data/generica/app/views/apiv1/layouts/application.html.haml +37 -2
- data/generica/config/{database.yml.erb → database.yml.str} +3 -3
- data/generica/config/email.yml +11 -0
- data/generica/config/email_slave.god +9 -0
- data/generica/config/initializers/premailer.rb +1 -0
- data/generica/config/initializers/squash.rb.erb +3 -0
- data/generica/config/nginx.conf.erb +4 -4
- data/generica/config/routes.rb +14 -0
- data/generica/db/migrate/20141114213427_add_user_rank_to_admin_users.rb +9 -0
- data/generica/db/migrate/20141114225019_create_apiv1_users_products.rb +9 -0
- data/generica/db/migrate/20141116053522_create_apiv1_offer_messages.rb +16 -0
- data/generica/db/migrate/20141116235011_add_deleted_at_to_apiv1_products.rb +5 -0
- data/generica/db/migrate/20141116235209_add_deleted_at_to_apiv1_offer_messages.rb +5 -0
- data/generica/db/migrate/20141116235651_add_deleted_at_to_apiv1_pictures.rb +5 -0
- data/generica/db/migrate/20141116235808_add_deleted_at_to_apiv1_attachments.rb +5 -0
- data/generica/db/migrate/20141127230304_create_apiv1_email_requests.rb +16 -0
- data/generica/db/migrate/20141127230455_create_apiv1_email_objects.rb +11 -0
- data/generica/lib/generica/assets_unretardifier.rb +32 -0
- data/generica/lib/generica/email_slave.rb +92 -0
- data/generica/lib/tasks/email_slave.rake +11 -0
- data/generica/lib/tasks/production.rake +1 -1
- data/generica/public/tests/bermese.jpg +0 -0
- data/generica/public/tests/chow.jpg +0 -0
- data/generica/public/tests/malamute.jpg +0 -0
- data/generica/public/tests/malamute2.JPG +0 -0
- data/generica/spec/controllers/apiv1/users/create_controller_spec.rb +17 -0
- data/generica/spec/controllers/users/products/create_controller_spec.rb +31 -0
- data/generica/spec/mailers/apiv1/aggregate_mailer_spec.rb +29 -0
- data/generica/spec/models/apiv1/email_request_spec.rb +4 -0
- data/generica/spec/models/apiv1/offer_postboy_spec.rb +22 -0
- data/generica/spec/models/apiv1/product_spec.rb +1 -0
- data/generica/spec/models/apiv1/products/offer_message_factory_spec.rb +37 -0
- data/generica/spec/models/apiv1/products_machine_spec.rb +77 -0
- data/generica/spec/models/apiv1/users/product_factory_spec.rb +47 -0
- data/generica/spec/models/users/products/offer_factory_spec.rb +38 -0
- data/generica/test/mailers/.keep +0 -0
- data/generica/test/mailers/previews/apiv1/aggregate_preview.rb +6 -0
- data/generica/test/mailers/previews/apiv1/notifications_preview.rb +5 -0
- data/lib/cloudrider.rb +1 -1
- data/lib/cloudrider/apiv1/base.rb +2 -2
- data/lib/cloudrider/apiv1/login_modal_emblem.rb +25 -0
- data/lib/cloudrider/apiv1/offers_anonymous_form_partial_emblem.rb +12 -0
- data/lib/cloudrider/apiv1/offers_new_emblem.rb +15 -0
- data/lib/cloudrider/apiv1/offers_overview_component.rb +8 -0
- data/lib/cloudrider/apiv1/offers_overview_sass.rb +8 -0
- data/lib/cloudrider/apiv1/product_show_emblem.rb +31 -0
- data/lib/cloudrider/apiv1/products_emblem.rb +11 -0
- data/lib/cloudrider/apiv1/products_index_emblem.rb +14 -0
- data/lib/cloudrider/apiv1/search_and_filter_component.rb +11 -0
- data/lib/cloudrider/apiv1/search_and_filter_sass.rb +11 -0
- data/lib/cloudrider/apiv1/site_footer_component.rb +7 -7
- data/lib/cloudrider/apiv1/site_footer_sass.rb +9 -0
- data/lib/cloudrider/application_commander.rb +46 -34
- data/lib/cloudrider/backend_commander.rb +15 -9
- data/lib/cloudrider/protofile.rb +18 -2
- data/lib/cloudrider/protosite.example.json +26 -0
- data/lib/cloudrider/protosite.rb +66 -0
- data/lib/cloudrider/serverside/base.rb +2 -2
- data/lib/cloudrider/serverside/database_yaml.rb +9 -4
- data/lib/cloudrider/serverside/nginx_conf.rb +7 -2
- data/lib/cloudrider/serverside/squash_ruby.rb +14 -0
- data/lib/cloudrider/serverside/unicorn_conf_ruby.rb +2 -1
- data/lib/cloudrider/version.rb +1 -1
- data/lib/cloudrider/web_firm.rb +16 -0
- data/lib/cloudrider/web_firm/component_architect.rb +23 -0
- data/lib/cloudrider/web_firm/page_designer.rb +13 -0
- data/lib/cloudrider/web_firm/project_lead.rb +30 -0
- data/lib/cloudrider/web_firm/scumbag_engineer.rb +40 -0
- data/lib/cloudrider/web_firm/support_intern.rb +113 -0
- data/lib/generators/cloudrider/server/server_generator.rb +4 -8
- data/lib/generators/cloudrider/website/website_generator.rb +25 -0
- data/spec/cloudrider/protosite_spec.rb +63 -0
- data/vanilla/.bowerrc +4 -0
- data/vanilla/.editorconfig +33 -0
- data/vanilla/.ember-cli +9 -0
- data/vanilla/.gitignore +17 -0
- data/vanilla/.jshintrc +32 -0
- data/vanilla/.travis.yml +16 -0
- data/vanilla/Brocfile.js +20 -0
- data/vanilla/README.md +51 -0
- data/vanilla/app/app.js +16 -0
- data/vanilla/app/components/.gitkeep +0 -0
- data/vanilla/app/controllers/.gitkeep +0 -0
- data/vanilla/app/controllers/admin.coffee +5 -0
- data/vanilla/app/helpers/.gitkeep +0 -0
- data/vanilla/app/index.html +21 -0
- data/vanilla/app/models/.gitkeep +0 -0
- data/vanilla/app/router.js +11 -0
- data/vanilla/app/routes/.gitkeep +0 -0
- data/vanilla/app/styles/.gitkeep +0 -0
- data/vanilla/app/styles/app.css +3 -0
- data/vanilla/app/templates/.gitkeep +0 -0
- data/vanilla/app/templates/application.hbs +3 -0
- data/vanilla/app/templates/components/.gitkeep +0 -0
- data/vanilla/app/views/.gitkeep +0 -0
- data/vanilla/bower.json +17 -0
- data/vanilla/config/environment.js +47 -0
- data/vanilla/package.json +39 -0
- data/vanilla/public/.gitkeep +0 -0
- data/vanilla/public/crossdomain.xml +15 -0
- data/vanilla/public/robots.txt +3 -0
- data/vanilla/testem.json +11 -0
- data/vanilla/tests/.jshintrc +74 -0
- data/vanilla/tests/helpers/resolver.js +11 -0
- data/vanilla/tests/helpers/start-app.js +25 -0
- data/vanilla/tests/index.html +45 -0
- data/vanilla/tests/test-helper.js +12 -0
- data/vanilla/tests/unit/.gitkeep +0 -0
- data/vanilla/tests/unit/controllers/admin-test.coffee +12 -0
- data/vanilla/vendor/.gitkeep +0 -0
- metadata +189 -5
- data/generica/app/views/layouts/application.html.erb +0 -14
- data/lib/cloudrider/master_context.rb +0 -105
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
.somesort-of-request
|
|
2
|
+
button.button.secondary.capitalize click="displayModal 'login'"
|
|
3
|
+
tr-span en="login if you have an account"
|
|
4
|
+
.somesort-of-request
|
|
5
|
+
button.button.secondary.capitalize click="displayModal 'register'"
|
|
6
|
+
tr-span en="or register an account"
|
|
7
|
+
.somesort-of-request
|
|
8
|
+
button.button.secondary.capitalize click="toggleOfferForm"
|
|
9
|
+
tr-span en="or make anonymous offer"
|
|
10
|
+
.the-form class=showOfferForm::hidden
|
|
11
|
+
== partial "products/product/offers/offer-form"
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
form-for errors=failureReason submit="formSubmitted"
|
|
2
|
+
legend.form-legend
|
|
3
|
+
tr-span en="new offer"
|
|
4
|
+
.input-section attr-name="fromCompany"
|
|
5
|
+
label.form-label
|
|
6
|
+
span.capitalize.white
|
|
7
|
+
span.asterisk
|
|
8
|
+
tr-span en="your company name"
|
|
9
|
+
Ember.TextField value=model.fromCompany type="text" placeholder="Acme Purchase Co."
|
|
10
|
+
|
|
11
|
+
.input-section attr-name="contactPerson"
|
|
12
|
+
label.form-label
|
|
13
|
+
span.capitalize.white
|
|
14
|
+
tr-span en="your name"
|
|
15
|
+
Ember.TextField value=model.contactPerson type="text" placeholder="Jack Smith"
|
|
16
|
+
|
|
17
|
+
.input-section attr-name="senderEmail"
|
|
18
|
+
label.form-label
|
|
19
|
+
span.capitalize.white
|
|
20
|
+
span.asterisk
|
|
21
|
+
tr-span en="your company email"
|
|
22
|
+
Ember.TextField value=model.senderEmail type="email" placeholder="ex. jsmith@gmail.com"
|
|
23
|
+
|
|
24
|
+
.input-section attr-name="phoneNumber"
|
|
25
|
+
label.form-label
|
|
26
|
+
span.capitalize.white
|
|
27
|
+
tr-span en="your call back number"
|
|
28
|
+
Ember.TextField value=model.phoneNumber type="text" placeholder="(555) 123 - 1234"
|
|
29
|
+
|
|
30
|
+
.input-section attr-name="companyAddress"
|
|
31
|
+
label.form-label
|
|
32
|
+
span.capitalize.white
|
|
33
|
+
tr-span en="where is your company?"
|
|
34
|
+
span.parantheses
|
|
35
|
+
tr-span en="so the seller has an idea who he is dealing with"
|
|
36
|
+
Ember.TextField value=model.companyAddress type="text" placeholder="1234 Main Street, Los Angeles, California"
|
|
37
|
+
|
|
38
|
+
.input-section attr-name="priceTerms"
|
|
39
|
+
label.form-label
|
|
40
|
+
span.capitalize.white
|
|
41
|
+
span.asterisk
|
|
42
|
+
tr-span en="offer price terms"
|
|
43
|
+
Ember.TextField value=model.priceTerms type="text" placeholder="$0.12/lb FAS Los Angeles"
|
|
44
|
+
|
|
45
|
+
.input-section attr-name="message"
|
|
46
|
+
label.form-label
|
|
47
|
+
span.capitalize.white
|
|
48
|
+
tr-span en="anything else?"
|
|
49
|
+
Ember.TextArea value=model.message
|
|
50
|
+
|
|
51
|
+
.button-forms
|
|
52
|
+
promise-button model=model class="button"
|
|
53
|
+
span.capitalize
|
|
54
|
+
i.fa.fa-check
|
|
55
|
+
tr-span en="submit"
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
.products-product-offers-new
|
|
2
|
+
if alreadySubmitted
|
|
3
|
+
.row
|
|
4
|
+
.small-12.columns
|
|
5
|
+
h2.thank-you-card.text-center
|
|
6
|
+
tr-span en="your message has been submitted"
|
|
7
|
+
h2.go-back.text-center
|
|
8
|
+
link-to "products.product.show" model.product.id
|
|
9
|
+
tr-span en="go back"
|
|
10
|
+
|
|
11
|
+
else
|
|
12
|
+
.row
|
|
13
|
+
.small-12.columns
|
|
14
|
+
h3.go-back.capitalize
|
|
15
|
+
link-to "products.product.show" model.product.id
|
|
16
|
+
i.fa.fa-chevron-circle-left
|
|
17
|
+
tr-span en="back to listing"
|
|
18
|
+
.row
|
|
19
|
+
.small-12.medium-10.large-8.columns.end
|
|
20
|
+
products-showcase id="products" products=productPlural
|
|
21
|
+
.row
|
|
22
|
+
.small-12.medium-10.large-4.large-push-8.columns
|
|
23
|
+
.offers-summary
|
|
24
|
+
h4.section-title
|
|
25
|
+
tr-span en="existing offers"
|
|
26
|
+
ul.offers.small-block-grid-1.medium-block-1.large-block-grid-1
|
|
27
|
+
each offer in model.product.offers
|
|
28
|
+
li
|
|
29
|
+
.offer
|
|
30
|
+
.price= offer.priceTerms
|
|
31
|
+
.created-at= offer.createdAt
|
|
32
|
+
|
|
33
|
+
.small-12.medium-10.large-8.large-pull-4.columns.end
|
|
34
|
+
if userLoggedIn
|
|
35
|
+
== partial "products/product/offers/offer-form"
|
|
36
|
+
else
|
|
37
|
+
== partial "products/product/offers/anonymous-form"
|
|
@@ -68,4 +68,29 @@
|
|
|
68
68
|
tr-span en="related files"
|
|
69
69
|
each attachment in product.attachments
|
|
70
70
|
a href=attachment.fileUrl
|
|
71
|
-
span.spacebar= attachment.fileName
|
|
71
|
+
span.spacebar= attachment.fileName
|
|
72
|
+
|
|
73
|
+
.row
|
|
74
|
+
.small-6.columns
|
|
75
|
+
link-to "products.product.offers.new" product.id class="action"
|
|
76
|
+
tr-span en="Make public offer"
|
|
77
|
+
.small-6.columns
|
|
78
|
+
.action
|
|
79
|
+
tr-span en="Directly contact seller to make a private offer"
|
|
80
|
+
.contact-info
|
|
81
|
+
.company
|
|
82
|
+
span.bold.colon
|
|
83
|
+
tr-span en="seller"
|
|
84
|
+
span= product.user.companyName
|
|
85
|
+
.email
|
|
86
|
+
span.bold.colon
|
|
87
|
+
tr-span en="email"
|
|
88
|
+
span= product.user.email
|
|
89
|
+
.phone
|
|
90
|
+
span.bold.colon
|
|
91
|
+
tr-span en="phone"
|
|
92
|
+
span= product.user.phoneNumber
|
|
93
|
+
|
|
94
|
+
.row
|
|
95
|
+
.small-12.columns
|
|
96
|
+
offers-summary offers=product.offers
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
section#user
|
|
2
|
+
.row
|
|
3
|
+
.small-12.columns
|
|
4
|
+
h1.capitalize
|
|
5
|
+
link-to "users"
|
|
6
|
+
tr-span en="user panel"
|
|
7
|
+
|
|
8
|
+
.row.admin-nav-tabs
|
|
9
|
+
.small-4.medium-4.large-2.columns
|
|
10
|
+
link-to "users.products.index" class="admin-nav-tab"
|
|
11
|
+
span.capitalize
|
|
12
|
+
tr-span en="my listings"
|
|
13
|
+
.small-4.medium-4.large-2.columns
|
|
14
|
+
link-to "users.products.new" class="admin-nav-tab"
|
|
15
|
+
span.capitalize
|
|
16
|
+
tr-span en="new listing"
|
|
17
|
+
.small-4.medium-4.large-2.columns.end
|
|
18
|
+
link-to "users.offers.index" class="admin-nav-tab"
|
|
19
|
+
span.capitalize
|
|
20
|
+
tr-span en="my offers"
|
|
21
|
+
|
|
22
|
+
.row
|
|
23
|
+
.small-12.columns
|
|
24
|
+
== outlet
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
.row.admin-messages-index
|
|
2
|
+
.small-12.columns
|
|
3
|
+
if offers.isPending
|
|
4
|
+
.admin-message-slice
|
|
5
|
+
i.fa.fa-cog.fa-spin
|
|
6
|
+
span.prespace
|
|
7
|
+
tr-span en="now loading"
|
|
8
|
+
else
|
|
9
|
+
each offer in offers
|
|
10
|
+
== render "users/offers/slice" offer
|
|
11
|
+
else
|
|
12
|
+
.admin-message-slice
|
|
13
|
+
i.fa.fa-times
|
|
14
|
+
span.prespace
|
|
15
|
+
tr-span en="no one has made you an offer"
|
|
16
|
+
|
|
17
|
+
.row
|
|
18
|
+
.small-4.medium-3.large-2.columns
|
|
19
|
+
span.bold.colon
|
|
20
|
+
tr-span en="offers"
|
|
21
|
+
span.prespace= offers.length
|
|
22
|
+
|
|
23
|
+
.row
|
|
24
|
+
.small-12.columns
|
|
25
|
+
fancy-paginator per=per page=page metadatum=metadatum
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
.admin-message-slice
|
|
2
|
+
.actions
|
|
3
|
+
.view
|
|
4
|
+
i.fa.fa-user
|
|
5
|
+
span.prespace= model.fromCompany
|
|
6
|
+
span.predash= model.senderEmail
|
|
7
|
+
.date
|
|
8
|
+
span.time-created= model.createdAt
|
|
9
|
+
|
|
10
|
+
.summary
|
|
11
|
+
.media-subject
|
|
12
|
+
span.bold= model.priceTerms
|
|
13
|
+
span.spacebar.prespace -
|
|
14
|
+
link-to "products.product.show" model.product.id
|
|
15
|
+
span= model.product.material
|
|
16
|
+
|
|
17
|
+
.media-text= model.message
|
|
18
|
+
.media-extras
|
|
19
|
+
dl
|
|
20
|
+
if model.phoneNumber
|
|
21
|
+
dt
|
|
22
|
+
tr-span en="phone number"
|
|
23
|
+
dd= model.phoneNumber
|
|
24
|
+
if model.contactPerson
|
|
25
|
+
dt
|
|
26
|
+
tr-span en="contact person"
|
|
27
|
+
dd= model.contactPerson
|
|
28
|
+
if model.companyAddress
|
|
29
|
+
dt
|
|
30
|
+
tr-span en="company location"
|
|
31
|
+
dd= model.companyAddress
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
.row
|
|
2
|
+
.small-6.medium-4.large-2.columns.end
|
|
3
|
+
link-to "users.products.index" class="button expand secondary"
|
|
4
|
+
i.fa.fa-chevron-left
|
|
5
|
+
span.capitalize.bold
|
|
6
|
+
tr-span en="back"
|
|
7
|
+
|
|
8
|
+
.row.admin-products-new
|
|
9
|
+
form-for errors=failureReason submit="formSubmitted"
|
|
10
|
+
.small-12.columns
|
|
11
|
+
fieldset
|
|
12
|
+
legend.capitalize.bold
|
|
13
|
+
tr-span en="edit listing core"
|
|
14
|
+
.input-section attr-name="material"
|
|
15
|
+
label.form-label
|
|
16
|
+
span.asterisk
|
|
17
|
+
tr-span en="listing name"
|
|
18
|
+
Ember.TextField name="material" value=usersProduct.material placeholder="hot dog"
|
|
19
|
+
.input-section attr-name="sku"
|
|
20
|
+
label.form-label
|
|
21
|
+
tr-span en="external reference number"
|
|
22
|
+
Ember.TextField name="sku" value=usersProduct.sku placeholder="XYZ-00123"
|
|
23
|
+
.input-section attr-name="price"
|
|
24
|
+
label.form-label
|
|
25
|
+
tr-span en="how much to sell for?"
|
|
26
|
+
Ember.TextField name="price" value=usersProduct.price placeholder="0.33 USD / pound FAS Long Beach Port"
|
|
27
|
+
.input-section attr-name="amount"
|
|
28
|
+
label.form-label
|
|
29
|
+
tr-span en="how much of it do you have?"
|
|
30
|
+
Ember.TextField name="amount" value=usersProduct.amount placeholder="200 tons every week"
|
|
31
|
+
.input-section attr-name="quality"
|
|
32
|
+
label.form-label
|
|
33
|
+
tr-span en="what sort of goods are these?"
|
|
34
|
+
Ember.TextField name="quality" value=usersProduct.quality placeholder="A grade, baled"
|
|
35
|
+
.input-section attr-name="place"
|
|
36
|
+
label.form-label
|
|
37
|
+
tr-span en="where is this?"
|
|
38
|
+
Ember.TextField name="place" value=usersProduct.place placeholder="Los Angeles"
|
|
39
|
+
.input-section attr-name="others"
|
|
40
|
+
label.form-label
|
|
41
|
+
tr-span en="anything else?"
|
|
42
|
+
Ember.TextArea name="others" value=usersProduct.others
|
|
43
|
+
|
|
44
|
+
.small-12.columns
|
|
45
|
+
fieldset
|
|
46
|
+
legend.capitalize.bold
|
|
47
|
+
tr-span en="existing pictures"
|
|
48
|
+
block-grid-pictures pictures=model.pictures
|
|
49
|
+
|
|
50
|
+
.small-12.columns
|
|
51
|
+
fieldset
|
|
52
|
+
legend.capitalize.bold
|
|
53
|
+
tr-span en="upload more pictures"
|
|
54
|
+
.input-section attr-name="pictures"
|
|
55
|
+
label.form-label
|
|
56
|
+
span.asterisk
|
|
57
|
+
tr-span en="your listing needs at least 1 picture"
|
|
58
|
+
span.parantheses
|
|
59
|
+
tr-span en="the first picture will be displayed in the showcase"
|
|
60
|
+
files-field name="pictures" files=usersProduct.pictures class="form-control upload-control"
|
|
61
|
+
.attached-pictures
|
|
62
|
+
pictures-group pictures=usersProduct.pictures
|
|
63
|
+
|
|
64
|
+
.small-12.columns
|
|
65
|
+
fieldset
|
|
66
|
+
legend.capitalize.bold
|
|
67
|
+
tr-span en="categorize"
|
|
68
|
+
.input-section attr-name="taxons"
|
|
69
|
+
label.form-label
|
|
70
|
+
tr-span en="select appropriate category tags for this product"
|
|
71
|
+
tree-taxon-wrapper taxons=rootTaxons activeTaxons=activeTaxons
|
|
72
|
+
|
|
73
|
+
.small-12.columns
|
|
74
|
+
fieldset
|
|
75
|
+
legend.capitalize.bold
|
|
76
|
+
tr-span en="actions"
|
|
77
|
+
.actions.row
|
|
78
|
+
.small-6.columns.end
|
|
79
|
+
promise-button model=usersProduct class="button expand"
|
|
80
|
+
i.fa.fa-check
|
|
81
|
+
span.capitalize.bold
|
|
82
|
+
tr-span en="save"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
.row
|
|
2
|
+
.small-12.medium-4.large-4.columns
|
|
3
|
+
link-to "users.products.new" class="button expand success"
|
|
4
|
+
span.spacebar
|
|
5
|
+
i.fa.fa-plus
|
|
6
|
+
tr-span en="new listing"
|
|
7
|
+
|
|
8
|
+
.row
|
|
9
|
+
.small-12.columns
|
|
10
|
+
each listing in products
|
|
11
|
+
== render "users/products/slice" listing
|
|
12
|
+
else
|
|
13
|
+
.admin-product-slice
|
|
14
|
+
i.fa.fa-cog.fa-spin
|
|
15
|
+
span.prespace
|
|
16
|
+
tr-span en="now loading"
|
|
17
|
+
|
|
18
|
+
.row
|
|
19
|
+
.small-4.medium-3.large-2.columns
|
|
20
|
+
span.bold.colon
|
|
21
|
+
tr-span en="products"
|
|
22
|
+
span.prespace= products.length
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
.row
|
|
2
|
+
.small-6.medium-4.large-2.columns.end
|
|
3
|
+
link-to "users.products.index" class="button expand secondary"
|
|
4
|
+
i.fa.fa-chevron-left
|
|
5
|
+
span.capitalize.bold
|
|
6
|
+
tr-span en="back"
|
|
7
|
+
.row.admin-products-new
|
|
8
|
+
.small-12.columns
|
|
9
|
+
form-for errors=failureReason submit="formSubmitted"
|
|
10
|
+
fieldset
|
|
11
|
+
legend.capitalize.bold
|
|
12
|
+
tr-span en="new listing"
|
|
13
|
+
|
|
14
|
+
== partial "admin/products/form-core"
|
|
15
|
+
|
|
16
|
+
.input-section attr-name="taxons"
|
|
17
|
+
label.form-label
|
|
18
|
+
tr-span en="select appropriate category tags for this product"
|
|
19
|
+
tree-taxon-wrapper taxons=rootTaxons activeTaxons=activeTaxons
|
|
20
|
+
|
|
21
|
+
.actions.row
|
|
22
|
+
.small-6.columns.end
|
|
23
|
+
promise-button model=model class="button expand"
|
|
24
|
+
i.fa.fa-check
|
|
25
|
+
span.capitalize.bold
|
|
26
|
+
tr-span en="submit"
|
|
27
|
+
|
|
28
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
.admin-product-slice
|
|
2
|
+
.actions
|
|
3
|
+
.view
|
|
4
|
+
link-to "users.product.edit" model.id
|
|
5
|
+
i.fa.fa-eye
|
|
6
|
+
span.prespace= model.material
|
|
7
|
+
if model.hasShowOrder
|
|
8
|
+
span #
|
|
9
|
+
span= model.showcaseOrder
|
|
10
|
+
.edit
|
|
11
|
+
link-to "users.product.edit" model.id
|
|
12
|
+
i.fa.fa-edit
|
|
13
|
+
span.prespace
|
|
14
|
+
tr-span en="edit"
|
|
15
|
+
.delete
|
|
16
|
+
.pointer click="requestDelete"
|
|
17
|
+
i.fa.fa-times
|
|
18
|
+
span.prespace
|
|
19
|
+
tr-span en="delete"
|
|
20
|
+
|
|
21
|
+
link-to "users.product.edit" model.id class="summary"
|
|
22
|
+
.media-object
|
|
23
|
+
img.product-image.th src=model.pictures.firstObject.picUrl
|
|
24
|
+
|
|
25
|
+
.media-text
|
|
26
|
+
.summary-text= model.roughSummary
|
|
27
|
+
.created-date= model.createdAt
|
|
@@ -18,8 +18,12 @@
|
|
|
18
18
|
@import 'apiv1/components/block-grid-pictures';
|
|
19
19
|
@import 'apiv1/components/fancy-paginator';
|
|
20
20
|
@import 'apiv1/components/preload-billboard';
|
|
21
|
+
@import 'apiv1/components/taggable-field';
|
|
22
|
+
@import 'apiv1/components/pictures-group';
|
|
23
|
+
@import 'apiv1/components/offers-summary';
|
|
21
24
|
@import "apiv1/modals/login";
|
|
22
25
|
@import 'apiv1/products/product/show';
|
|
26
|
+
@import 'apiv1/products/product/offers/new';
|
|
23
27
|
|
|
24
28
|
body {
|
|
25
29
|
background: {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
.offers-summary {
|
|
2
|
+
.section-title {
|
|
3
|
+
text-transform: capitalize;
|
|
4
|
+
font-size: 1.2rem;
|
|
5
|
+
padding-bottom: 1rem;
|
|
6
|
+
padding-top: 1rem;
|
|
7
|
+
}
|
|
8
|
+
.offer {
|
|
9
|
+
background: #ddd;
|
|
10
|
+
padding-left: 0.5rem;
|
|
11
|
+
padding-right: 0.5rem;
|
|
12
|
+
}
|
|
13
|
+
.price {
|
|
14
|
+
font-size: 0.9rem;
|
|
15
|
+
}
|
|
16
|
+
.created-at {
|
|
17
|
+
font-size: 0.6rem;
|
|
18
|
+
color: #888;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
.pictures-group {
|
|
2
|
+
.thumbnail {
|
|
3
|
+
margin-bottom: 1rem;
|
|
4
|
+
background: #fff;
|
|
5
|
+
}
|
|
6
|
+
.picture-chunk {
|
|
7
|
+
@include display-flex;
|
|
8
|
+
@include flex-direction(row);
|
|
9
|
+
@include justify-content(space-between);
|
|
10
|
+
}
|
|
11
|
+
.dialogue,
|
|
12
|
+
.avatar,
|
|
13
|
+
.cancel-button {
|
|
14
|
+
padding: 1rem 1rem;
|
|
15
|
+
}
|
|
16
|
+
.dialogue,
|
|
17
|
+
.cancel-button {
|
|
18
|
+
@include display-flex;
|
|
19
|
+
@include flex-direction(column);
|
|
20
|
+
@include justify-content(center);
|
|
21
|
+
}
|
|
22
|
+
.cancel-button {
|
|
23
|
+
color: darken(red, 15%);
|
|
24
|
+
}
|
|
25
|
+
.avatar {
|
|
26
|
+
text-align: center;
|
|
27
|
+
}
|
|
28
|
+
img.img-thumbnail {
|
|
29
|
+
height: 55px;
|
|
30
|
+
max-width: 55px;
|
|
31
|
+
}
|
|
32
|
+
}
|