blob: 5eaefd5948245561e86ed341e37b2cf6693de551 [file] [log] [blame]
Anand Doshi330dae92013-09-10 13:46:15 +05301{% extends base_template %}
Anand Doshiedbf3e12013-07-02 11:40:16 +05302
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 %}
Anand Doshi0c8fd342013-11-21 14:55:45 +053040<div class="container content">
Anand Doshiedbf3e12013-07-02 11:40:16 +053041 <ul class="breadcrumb">
42 <li><a href="index">Home</a></li>
Anand Doshiedbf3e12013-07-02 11:40:16 +053043 <li><a href="addresses">My Addresses</a></li>
Anand Doshif7e56482013-08-29 17:46:40 +053044 <li class="active"><i class="icon-map-marker icon-fixed-width"></i> {{ title }}</li>
Anand Doshiedbf3e12013-07-02 11:40:16 +053045 </ul>
Anand Doshif7e56482013-08-29 17:46:40 +053046 <h3><i class="icon-map-marker icon-fixed-width"></i> {{ title }}</h3>
Anand Doshiedbf3e12013-07-02 11:40:16 +053047 <button type="button" class="btn btn-primary pull-right" id="address-save"><i class="icon-ok"></i>
48 {{ doc and "Save" or "Insert" }}</button>
49 <div class="clearfix"></div>
50 <hr>
51 <div id="address-error" class="alert alert-danger" style="display: none;"></div>
52 <form autocomplete="on">
53 <div class="row">
Rushabh Mehtacce21d12013-08-21 17:48:08 +053054 <section class="col-md-6">
Anand Doshiedbf3e12013-07-02 11:40:16 +053055 {{ render_fields(meta.left_fields) }}
56 </section>
Rushabh Mehtacce21d12013-08-21 17:48:08 +053057 <section class="col-md-6">
Anand Doshiedbf3e12013-07-02 11:40:16 +053058 {{ render_fields(meta.right_fields) }}
59 </section>
60 </section>
61 </form>
62</div>
63
64<script>
65;(function() {
66 $(document).ready(function() {
67 bind_save();
68 });
69
70 var bind_save = function() {
71 $("#address-save").on("click", function() {
72 var fields = {
73 name: "{{ docname }}"
74 };
75
76 $("form").find("[data-fieldname]").each(function(i, input) {
77 var $input = $(input);
78 var fieldname = $(input).attr("data-fieldname");
79 var fieldtype = $(input).attr("data-fieldtype");
80
81 if(fieldtype == "Check") {
82 fields[fieldname] = $input.is(":checked") ? 1 : 0;
83 } else {
84 fields[fieldname] = $input.val();
85 }
86 });
87
88 wn.call({
89 btn: $(this),
90 type: "POST",
Rushabh Mehtac59c4e02013-09-09 12:17:45 +053091 method: "selling.utils.cart.save_address",
Anand Doshiedbf3e12013-07-02 11:40:16 +053092 args: { fields: fields, address_fieldname: get_url_arg("address_fieldname") },
93 callback: function(r) {
94 if(r.exc) {
95 var msg = "";
96 if(r._server_messages) {
97 msg = JSON.parse(r._server_messages || []).join("<br>");
98 }
99
100 $("#address-error")
101 .html(msg || "Something went wrong!")
102 .toggle(true);
103 } else if(get_url_arg("address_fieldname")) {
104 window.location.href = "cart";
105 } else {
106 window.location.href = "address?name=" + encodeURIComponent(r.message);
107 }
108 }
109 });
110 });
111 };
112})();
113</script>
Anand Doshiedbf3e12013-07-02 11:40:16 +0530114{% endblock %}