diff --git a/app/views/admin/enterprises/_form.html.haml b/app/views/admin/enterprises/_form.html.haml index a5a954d948..e952425e7c 100644 --- a/app/views/admin/enterprises/_form.html.haml +++ b/app/views/admin/enterprises/_form.html.haml @@ -1,227 +1,6 @@ -%fieldset.eleven.columns.alpha.no-border-bottom - %legend Primary Details - .row - .alpha.eleven.columns - .three.columns.alpha - = f.label :name - %span.required * - .eight.columns.omega - = f.text_field :name, { placeholder: "eg. Professor Plum's Biodynamic Truffles" } - .row - .alpha.eleven.columns - .three.columns.alpha - = f.label :group_ids, 'Groups' - .with-tip{'data-powertip' => "Select any groups or regions that you are a member of. This will help customers find your enterprise."} - %a What's this? - - .eight.columns.omega - = f.collection_select :group_ids, EnterpriseGroup.all, :id, :name, {}, class: "select2 fullwidth", multiple: true, placeholder: "Start typing to search available groups..." - - if spree_current_user.admin? - .row - .three.columns.alpha - =f.label :owner_id, 'Owner' - %span.required * - .with-tip{'data-powertip' => "The primary user responsible for this enterprise."} - %a What's this? - .eight.columns - - owner_email = @enterprise.andand.owner.andand.email || "" - = f.hidden_field :owner_id, class: "select2 fullwidth", 'ofn-user-autocomplete' => true, email: owner_email - - .row - .three.columns.alpha - %label Primary Producer - .with-tip{'data-powertip' => "Select 'Producer' if you are a primary producer of food."} - %a What's this? - .five.columns.omega - = f.check_box :is_primary_producer, 'ng-model' => 'Enterprise.is_primary_producer' -   - = f.label :is_primary_producer, 'Producer' - - if spree_current_user.admin? - .row - .alpha.eleven.columns - .three.columns.alpha - = f.label :sells, 'Sells' - .with-tip{'data-powertip' => "None - enterprise does not sell to customers directly.
Own - Enterprise sells own products to customers.
Any - Enterprise can sell own or other enterprises products.
"} - %a What's this? - .two.columns - = f.radio_button :sells, "none", 'ng-model' => 'Enterprise.sells' -   - = f.label :sells, "None", value: "none" - .two.columns - = f.radio_button :sells, "own", 'ng-model' => 'Enterprise.sells' -   - = f.label :sells, "Own", value: "own" - .four.columns.omega - = f.radio_button :sells, "any", 'ng-model' => 'Enterprise.sells' -   - = f.label :sells, "Any", value: "any" - .row - .three.columns.alpha - %label Visible in search? - .with-tip{'data-powertip' => "Determines whether this enterprise will be visible to customers when searching the site."} - %a What's this? - .two.columns - = f.radio_button :visible, true -   - = f.label :visible, "Visible", :value => "true" - .five.columns.omega - = f.radio_button :visible, false -   - = f.label :visible, "Not Visible", :value => "false" - - if @enterprise.is_distributor - - # TODO: Angularise this - .row - .three.columns.alpha - %label Link to shop front - .with-tip{'data-powertip' => "A direct link to your shopfront on the Open Food Network."} - %a What's this? - .eight.columns.omega - = main_app.shop_enterprise_url(@enterprise) - -# redo denoting required fields in the whole project - .row - Required fields are denoted with an asterisk ( - %span.required * - ) - -= f.fields_for :address do |af| - %fieldset.eleven.columns.alpha.no-border-bottom - %legend Address - .row - .three.columns.alpha - = af.label :address1 - %span.required * - .eight.columns.omega - = af.text_field :address1, { placeholder: "eg. 123 High Street"} - .row - .alpha.three.columns - = af.label :address2 - .eight.columns.omega - = af.text_field :address2 - .row - .three.columns.alpha - = af.label :city, 'Suburb' - \/ - = af.label :zipcode, 'Postcode' - %span.required * - .four.columns - = af.text_field :city, { placeholder: "eg. Northcote"} - .four.columns.omega - = af.text_field :zipcode, { placeholder: "eg. 3070"} - .row - .three.columns.alpha - = af.label :state_id, 'State' - \/ - = af.label :country_id, 'Country' - %span.required * - .four.columns - = af.collection_select :state_id, af.object.country.states, :id, :name, {}, :class => "select2 fullwidth" - .four.columns.omega - = af.collection_select :country_id, available_countries, :id, :name, {}, :class => "select2 fullwidth" - %fieldset.eleven.columns.alpha.no-border-bottom - %legend Contact Details - -if @enterprise.unconfirmed_email - .alert-box - Email change is pending. - We've sent a confirmation email to - %strong= "#{@enterprise.unconfirmed_email}." - = link_to('Resend', main_app.enterprise_confirmation_path(enterprise: { id: @enterprise.id, email: @enterprise.unconfirmed_email } ), method: :post) - %a.close{ href: "#" } × - .row - .alpha.three.columns - = f.label :contact, 'Name' - .omega.eight.columns - = f.text_field :contact, { placeholder: "eg. Gustav Plum"} - .row - .alpha.three.columns - = f.label :email - %span.required * - .omega.eight.columns - = f.text_field :email, { placeholder: "eg. gustav@truffles.com", "ng-model" => "Enterprise.email" } - .row{ ng: { hide: "pristineEmail == null || pristineEmail == Enterprise.email"} } - .alpha.three.columns -   - .omega.eight.columns - Note: A new email address may need to be confirmed prior to use - - .row - .alpha.three.columns - = f.label :phone - .omega.eight.columns - = f.text_field :phone, { placeholder: "eg. 98 7654 3210"} - %fieldset.eleven.columns.alpha.no-border-bottom - %legend Enterprise Details - .row - .alpha.three.columns - = f.label :abn, 'ABN' - .omega.eight.columns - = f.text_field :abn, { placeholder: "eg. 99 123 456 789"} - .row - .alpha.three.columns - = f.label :acn, 'ACN' - .omega.eight.columns - = f.text_field :acn, { placeholder: "eg. 123 456 789"} - .row - .alpha.three.columns - = f.label :website - .omega.eight.columns - = f.text_field :website, { placeholder: "eg. www.truffles.com"} - .row - .alpha.three.columns - = f.label :facebook, 'Facebook' - .omega.eight.columns - = f.text_field :facebook - .row - .alpha.three.columns - = f.label :instagram, 'Instagram' - .omega.eight.columns - = f.text_field :instagram - .row - .alpha.three.columns - = f.label :linkedin, 'LinkedIn' - .omega.eight.columns - = f.text_field :linkedin - .row - .alpha.three.columns - = f.label :twitter - .omega.eight.columns - = f.text_field :twitter, { placeholder: "eg. @the_prof" } -%fieldset.eleven.columns.alpha.no-border-bottom - %legend About Us - .row - .alpha.three.columns - = f.label :description, 'Short Description' - .omega.eight.columns - = f.text_field :description, maxlength: 255, placeholder: 'Tell us about your enterprise in one or two sentences' - .row - .alpha.three.columns - = f.label :long_description, 'About Us' - .omega.eight.columns - -# textAngular toolbar options, add to the ta-toolbar array below and separate into groups with extra ],[ if needed: - -# ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'pre', 'quote'], - -# ['bold', 'italics', 'underline', 'strikeThrough', 'ul', 'ol', 'redo', 'undo', 'clear'], - -# ['justifyLeft','justifyCenter','justifyRight','indent','outdent'], - -# ['html', 'insertImage', 'insertLink', 'insertVideo'] - %text-angular{'ng-model' => 'htmlVariable', 'id' => 'enterprise_long_description', 'name' => 'enterprise[long_description]', 'class' => 'text-angular', - 'ta-toolbar' => "[['h1','h2','h3','h4','p'],['bold','italics','underline','clear'],['insertLink']]", - 'placeholder' => 'Tell customers about yourself. This information appears on your public profile.'} -%fieldset.eleven.columns.alpha.no-border-bottom - %legend IMAGES - .row - .alpha.three.columns - = f.label :logo - %br - 100 x 100 pixels - .omega.eight.columns - = image_tag @object.logo(:medium) if @object.logo.present? - = f.file_field :logo - .row - .alpha.three.columns - = f.label :promo_image, class: 'with-tip', 'data-powertip' => 'This image is displayed in "About Us"' - %br/ - %span{ style: 'font-weight:bold' } PLEASE NOTE: - Any promo image uploaded here will be cropped to 1200 x 260. - The promo image is displayed at the top of an enterprise's profile page and pop-ups. - - .omega.eight.columns - = image_tag @object.promo_image(:large) if @object.promo_image.present? - = f.file_field :promo_image += render 'admin/enterprises/form/primary_details', f: f += render 'admin/enterprises/form/address', f: f += render 'admin/enterprises/form/contact_and_social', f: f += render 'admin/enterprises/form/business_details', f: f += render 'admin/enterprises/form/about_us', f: f += render 'admin/enterprises/form/images', f: f diff --git a/app/views/admin/enterprises/form/_about_us.html.haml b/app/views/admin/enterprises/form/_about_us.html.haml new file mode 100644 index 0000000000..1e9647f30a --- /dev/null +++ b/app/views/admin/enterprises/form/_about_us.html.haml @@ -0,0 +1,19 @@ +%fieldset.eleven.columns.alpha.no-border-bottom + %legend About Us + .row + .alpha.three.columns + = f.label :description, 'Short Description' + .omega.eight.columns + = f.text_field :description, maxlength: 255, placeholder: 'Tell us about your enterprise in one or two sentences' + .row + .alpha.three.columns + = f.label :long_description, 'About Us' + .omega.eight.columns + -# textAngular toolbar options, add to the ta-toolbar array below and separate into groups with extra ],[ if needed: + -# ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'pre', 'quote'], + -# ['bold', 'italics', 'underline', 'strikeThrough', 'ul', 'ol', 'redo', 'undo', 'clear'], + -# ['justifyLeft','justifyCenter','justifyRight','indent','outdent'], + -# ['html', 'insertImage', 'insertLink', 'insertVideo'] + %text-angular{'ng-model' => 'htmlVariable', 'id' => 'enterprise_long_description', 'name' => 'enterprise[long_description]', 'class' => 'text-angular', + 'ta-toolbar' => "[['h1','h2','h3','h4','p'],['bold','italics','underline','clear'],['insertLink']]", + 'placeholder' => 'Tell customers about yourself. This information appears on your public profile.'} \ No newline at end of file diff --git a/app/views/admin/enterprises/form/_address.html.haml b/app/views/admin/enterprises/form/_address.html.haml new file mode 100644 index 0000000000..fc7d42404f --- /dev/null +++ b/app/views/admin/enterprises/form/_address.html.haml @@ -0,0 +1,39 @@ += f.fields_for :address do |af| + %fieldset.eleven.columns.alpha.no-border-bottom + %legend Address + -# redo denoting required fields in the whole project + .row + Required fields are denoted with an asterisk ( + %span.required * + ) + .row + .three.columns.alpha + = af.label :address1 + %span.required * + .eight.columns.omega + = af.text_field :address1, { placeholder: "eg. 123 High Street"} + .row + .alpha.three.columns + = af.label :address2 + .eight.columns.omega + = af.text_field :address2 + .row + .three.columns.alpha + = af.label :city, 'Suburb' + \/ + = af.label :zipcode, 'Postcode' + %span.required * + .four.columns + = af.text_field :city, { placeholder: "eg. Northcote"} + .four.columns.omega + = af.text_field :zipcode, { placeholder: "eg. 3070"} + .row + .three.columns.alpha + = af.label :state_id, 'State' + \/ + = af.label :country_id, 'Country' + %span.required * + .four.columns + = af.collection_select :state_id, af.object.country.states, :id, :name, {}, :class => "select2 fullwidth" + .four.columns.omega + = af.collection_select :country_id, available_countries, :id, :name, {}, :class => "select2 fullwidth" \ No newline at end of file diff --git a/app/views/admin/enterprises/form/_business_details.html.haml b/app/views/admin/enterprises/form/_business_details.html.haml new file mode 100644 index 0000000000..572d96df14 --- /dev/null +++ b/app/views/admin/enterprises/form/_business_details.html.haml @@ -0,0 +1,12 @@ +%fieldset.eleven.columns.alpha.no-border-bottom + %legend Business Details + .row + .alpha.three.columns + = f.label :abn, 'ABN' + .omega.eight.columns + = f.text_field :abn, { placeholder: "eg. 99 123 456 789"} + .row + .alpha.three.columns + = f.label :acn, 'ACN' + .omega.eight.columns + = f.text_field :acn, { placeholder: "eg. 123 456 789"} \ No newline at end of file diff --git a/app/views/admin/enterprises/form/_contact_and_social.html.haml b/app/views/admin/enterprises/form/_contact_and_social.html.haml new file mode 100644 index 0000000000..da264bed90 --- /dev/null +++ b/app/views/admin/enterprises/form/_contact_and_social.html.haml @@ -0,0 +1,56 @@ +%fieldset.eleven.columns.alpha.no-border-bottom + %legend Contact & Social Details + -if @enterprise.unconfirmed_email + .alert-box + Email change is pending. + We've sent a confirmation email to + %strong= "#{@enterprise.unconfirmed_email}." + = link_to('Resend', main_app.enterprise_confirmation_path(enterprise: { id: @enterprise.id, email: @enterprise.unconfirmed_email } ), method: :post) + %a.close{ href: "#" } × + .row + .alpha.three.columns + = f.label :contact, 'Name' + .omega.eight.columns + = f.text_field :contact, { placeholder: "eg. Gustav Plum"} + .row + .alpha.three.columns + = f.label :email + %span.required * + .omega.eight.columns + = f.text_field :email, { placeholder: "eg. gustav@truffles.com", "ng-model" => "Enterprise.email" } + .row{ ng: { hide: "pristineEmail == null || pristineEmail == Enterprise.email"} } + .alpha.three.columns +   + .omega.eight.columns + Note: A new email address may need to be confirmed prior to use + + .row + .alpha.three.columns + = f.label :phone + .omega.eight.columns + = f.text_field :phone, { placeholder: "eg. 98 7654 3210"} + .row + .alpha.three.columns + = f.label :website + .omega.eight.columns + = f.text_field :website, { placeholder: "eg. www.truffles.com"} + .row + .alpha.three.columns + = f.label :facebook, 'Facebook' + .omega.eight.columns + = f.text_field :facebook + .row + .alpha.three.columns + = f.label :instagram, 'Instagram' + .omega.eight.columns + = f.text_field :instagram + .row + .alpha.three.columns + = f.label :linkedin, 'LinkedIn' + .omega.eight.columns + = f.text_field :linkedin + .row + .alpha.three.columns + = f.label :twitter + .omega.eight.columns + = f.text_field :twitter, { placeholder: "eg. @the_prof" } \ No newline at end of file diff --git a/app/views/admin/enterprises/form/_images.html.haml b/app/views/admin/enterprises/form/_images.html.haml new file mode 100644 index 0000000000..881062cd0e --- /dev/null +++ b/app/views/admin/enterprises/form/_images.html.haml @@ -0,0 +1,21 @@ +%fieldset.eleven.columns.alpha.no-border-bottom + %legend IMAGES + .row + .alpha.three.columns + = f.label :logo + %br + 100 x 100 pixels + .omega.eight.columns + = image_tag @object.logo(:medium) if @object.logo.present? + = f.file_field :logo + .row + .alpha.three.columns + = f.label :promo_image, class: 'with-tip', 'data-powertip' => 'This image is displayed in "About Us"' + %br/ + %span{ style: 'font-weight:bold' } PLEASE NOTE: + Any promo image uploaded here will be cropped to 1200 x 260. + The promo image is displayed at the top of an enterprise's profile page and pop-ups. + + .omega.eight.columns + = image_tag @object.promo_image(:large) if @object.promo_image.present? + = f.file_field :promo_image \ No newline at end of file diff --git a/app/views/admin/enterprises/form/_primary_details.html.haml b/app/views/admin/enterprises/form/_primary_details.html.haml new file mode 100644 index 0000000000..4095fa3a90 --- /dev/null +++ b/app/views/admin/enterprises/form/_primary_details.html.haml @@ -0,0 +1,79 @@ +%fieldset.eleven.columns.alpha.no-border-bottom + %legend Primary Details + .row + .alpha.eleven.columns + .three.columns.alpha + = f.label :name + %span.required * + .eight.columns.omega + = f.text_field :name, { placeholder: "eg. Professor Plum's Biodynamic Truffles" } + .row + .alpha.eleven.columns + .three.columns.alpha + = f.label :group_ids, 'Groups' + .with-tip{'data-powertip' => "Select any groups or regions that you are a member of. This will help customers find your enterprise."} + %a What's this? + + .eight.columns.omega + = f.collection_select :group_ids, EnterpriseGroup.all, :id, :name, {}, class: "select2 fullwidth", multiple: true, placeholder: "Start typing to search available groups..." + - if spree_current_user.admin? + .row + .three.columns.alpha + =f.label :owner_id, 'Owner' + %span.required * + .with-tip{'data-powertip' => "The primary user responsible for this enterprise."} + %a What's this? + .eight.columns + - owner_email = @enterprise.andand.owner.andand.email || "" + = f.hidden_field :owner_id, class: "select2 fullwidth", 'ofn-user-autocomplete' => true, email: owner_email + + .row + .three.columns.alpha + %label Primary Producer + .with-tip{'data-powertip' => "Select 'Producer' if you are a primary producer of food."} + %a What's this? + .five.columns.omega + = f.check_box :is_primary_producer, 'ng-model' => 'Enterprise.is_primary_producer' +   + = f.label :is_primary_producer, 'Producer' + - if spree_current_user.admin? + .row + .alpha.eleven.columns + .three.columns.alpha + = f.label :sells, 'Sells' + .with-tip{'data-powertip' => "None - enterprise does not sell to customers directly.
Own - Enterprise sells own products to customers.
Any - Enterprise can sell own or other enterprises products.
"} + %a What's this? + .two.columns + = f.radio_button :sells, "none", 'ng-model' => 'Enterprise.sells' +   + = f.label :sells, "None", value: "none" + .two.columns + = f.radio_button :sells, "own", 'ng-model' => 'Enterprise.sells' +   + = f.label :sells, "Own", value: "own" + .four.columns.omega + = f.radio_button :sells, "any", 'ng-model' => 'Enterprise.sells' +   + = f.label :sells, "Any", value: "any" + .row + .three.columns.alpha + %label Visible in search? + .with-tip{'data-powertip' => "Determines whether this enterprise will be visible to customers when searching the site."} + %a What's this? + .two.columns + = f.radio_button :visible, true +   + = f.label :visible, "Visible", :value => "true" + .five.columns.omega + = f.radio_button :visible, false +   + = f.label :visible, "Not Visible", :value => "false" + - if @enterprise.is_distributor + - # TODO: Angularise this + .row + .three.columns.alpha + %label Link to shop front + .with-tip{'data-powertip' => "A direct link to your shopfront on the Open Food Network."} + %a What's this? + .eight.columns.omega + = main_app.shop_enterprise_url(@enterprise) \ No newline at end of file