blob: 6544b1225d06961fef80eb97caf502e783cd7ccb [file] [log] [blame]
Anand Doshiedbf3e12013-07-02 11:40:16 +05301{% extends "app/website/templates/html/page.html" %}
2
3{% set title=doc and doc.name or "New Address" %}
4{% set docname=(doc and doc.name or "") %}
5
6{% macro render_fields(docfields) -%}
7{% for df in docfields -%}
8 {% if df.fieldtype in ["Data", "Link"] -%}
9 <fieldset>
10 <label>{{ df.label }}</label>
Rushabh Mehtacce21d12013-08-21 17:48:08 +053011 <input class="form-control" type="text" placeholder="Type {{ df.label }}"
Anand Doshiedbf3e12013-07-02 11:40:16 +053012 data-fieldname="{{ df.fieldname }}" data-fieldtype="{{ df.fieldtype }}"
13 {% if doc and doc.fields.get(df.fieldname) -%} value="{{ doc.fields[df.fieldname] }}" {%- endif %}>
14 </fieldset>
15 {% elif df.fieldtype == "Check" -%}
16 <fieldset class="checkbox">
17 <label><input type="checkbox" data-fieldname="{{ df.fieldname }}"
18 data-fieldtype="{{ df.fieldtype }}"
19 {% if doc and cint(doc.fields.get(df.fieldname)) -%} checked="checked" {%- endif %}>
20 {{ df.label }}</label>
21 </fieldset>
22 {% elif df.fieldtype == "Select" -%}
23 <fieldset>
24 <label>{{ df.label }}</label>
Anand Doshi65f5c582013-08-21 19:36:23 +053025 <select class="form-control" data-fieldname="{{ df.fieldname }}" data-fieldtype="{{ df.fieldtype }}">
Anand Doshiedbf3e12013-07-02 11:40:16 +053026 {% for value in df.options.split("\n") -%}
27 {% if doc and doc.fields.get(df.fieldname) == value -%}
28 <option selected="selected">{{ value }}</option>
29 {% else -%}
30 <option>{{ value }}</option>
31 {%- endif %}
32 {%- endfor %}
33 </select>
34 </fieldset>
35 {%- endif %}
36{%- endfor %}
37{%- endmacro %}
38
39{% block content %}
Rushabh Mehtacce21d12013-08-21 17:48:08 +053040<div class="col-md-12">
Anand Doshiedbf3e12013-07-02 11:40:16 +053041 <ul class="breadcrumb">
42 <li><a href="index">Home</a></li>
43 <li><a href="account">My Account</a></li>
44 <li><a href="addresses">My Addresses</a></li>
Anand Doshif7e56482013-08-29 17:46:40 +053045 <li class="active"><i class="icon-map-marker icon-fixed-width"></i> {{ title }}</li>
Anand Doshiedbf3e12013-07-02 11:40:16 +053046 </ul>
Anand Doshif7e56482013-08-29 17:46:40 +053047 <h3><i class="icon-map-marker icon-fixed-width"></i> {{ title }}</h3>
Anand Doshiedbf3e12013-07-02 11:40:16 +053048 <button type="button" class="btn btn-primary pull-right" id="address-save"><i class="icon-ok"></i>
49 {{ doc and "Save" or "Insert" }}</button>
50 <div class="clearfix"></div>
51 <hr>
52 <div id="address-error" class="alert alert-danger" style="display: none;"></div>
53 <form autocomplete="on">
54 <div class="row">
Rushabh Mehtacce21d12013-08-21 17:48:08 +053055 <section class="col-md-6">
Anand Doshiedbf3e12013-07-02 11:40:16 +053056 {{ render_fields(meta.left_fields) }}
57 </section>
Rushabh Mehtacce21d12013-08-21 17:48:08 +053058 <section class="col-md-6">
Anand Doshiedbf3e12013-07-02 11:40:16 +053059 {{ render_fields(meta.right_fields) }}
60 </section>
61 </section>
62 </form>
63</div>
64
65<script>
66;(function() {
67 $(document).ready(function() {
68 bind_save();
69 });
70
71 var bind_save = function() {
72 $("#address-save").on("click", function() {
73 var fields = {
74 name: "{{ docname }}"
75 };
76
77 $("form").find("[data-fieldname]").each(function(i, input) {
78 var $input = $(input);
79 var fieldname = $(input).attr("data-fieldname");
80 var fieldtype = $(input).attr("data-fieldtype");
81
82 if(fieldtype == "Check") {
83 fields[fieldname] = $input.is(":checked") ? 1 : 0;
84 } else {
85 fields[fieldname] = $input.val();
86 }
87 });
88
89 wn.call({
90 btn: $(this),
91 type: "POST",
92 method: "website.helpers.cart.save_address",
93 args: { fields: fields, address_fieldname: get_url_arg("address_fieldname") },
94 callback: function(r) {
95 if(r.exc) {
96 var msg = "";
97 if(r._server_messages) {
98 msg = JSON.parse(r._server_messages || []).join("<br>");
99 }
100
101 $("#address-error")
102 .html(msg || "Something went wrong!")
103 .toggle(true);
104 } else if(get_url_arg("address_fieldname")) {
105 window.location.href = "cart";
106 } else {
107 window.location.href = "address?name=" + encodeURIComponent(r.message);
108 }
109 }
110 });
111 });
112 };
113})();
114</script>
Anand Doshiedbf3e12013-07-02 11:40:16 +0530115{% endblock %}