diff --git a/stock/doctype/item_price/item_price.py b/stock/doctype/item/templates/pages/product_search.py
similarity index 63%
rename from stock/doctype/item_price/item_price.py
rename to stock/doctype/item/templates/pages/product_search.py
index 26d0f76968..24b474a55c 100644
--- a/stock/doctype/item_price/item_price.py
+++ b/stock/doctype/item/templates/pages/product_search.py
@@ -2,8 +2,5 @@
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
-import webnotes
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
\ No newline at end of file
+no_cache = True
\ No newline at end of file
diff --git a/stock/doctype/item/test_item.py b/stock/doctype/item/test_item.py
index 7be6ea56ed..12bb4e0578 100644
--- a/stock/doctype/item/test_item.py
+++ b/stock/doctype/item/test_item.py
@@ -9,20 +9,6 @@ test_ignore = ["BOM"]
test_dependencies = ["Warehouse"]
class TestItem(unittest.TestCase):
- def test_duplicate_price_list(self):
- item = webnotes.bean(copy=test_records[0])
- item.doc.item_code = "_Test Item 10"
- item_price = item.doclist.get({"doctype": "Item Price"})[0]
- item.doclist.append(webnotes.doc(item_price.fields.copy()))
- self.assertRaises(webnotes.DuplicateEntryError, item.insert)
-
- def test_price_list_mismatch(self):
- from stock.doctype.item.item import PriceListCurrencyMismatch
- item = webnotes.bean(copy=test_records[0])
- item.doc.item_code = "_Test Item 11"
- item_price = item.doclist.get({"doctype": "Item Price"})[0].ref_currency="USD"
- self.assertRaises(PriceListCurrencyMismatch, item.insert)
-
def test_default_warehouse(self):
from stock.doctype.item.item import WarehouseNotSet
item = webnotes.bean(copy=test_records[0])
@@ -57,14 +43,7 @@ test_records = [
"warehouse_reorder_level": 20,
"warehouse_reorder_qty": 20,
"material_request_type": "Purchase"
- }, {
- "doctype": "Item Price",
- "parentfield": "ref_rate_details",
- "price_list": "_Test Price List",
- "ref_rate": 100,
- "ref_currency": "INR",
- "buying_or_selling": "Selling"
- }
+ },
],
[{
"doctype": "Item",
diff --git a/stock/report/item_prices/item_prices.py b/stock/report/item_prices/item_prices.py
index 0a6b29a723..70c0677986 100644
--- a/stock/report/item_prices/item_prices.py
+++ b/stock/report/item_prices/item_prices.py
@@ -23,8 +23,8 @@ def execute(filters=None):
item_map[item]["description"], item_map[item]["stock_uom"],
flt(last_purchase_rate.get(item, 0), precision),
flt(val_rate_map.get(item, 0), precision),
- pl.get(item, {}).get("selling"),
- pl.get(item, {}).get("buying"),
+ pl.get(item, {}).get("Selling"),
+ pl.get(item, {}).get("Buying"),
flt(bom_rate.get(item, 0), precision),
flt(item_map[item]["standard_rate"], precision)
])
@@ -56,24 +56,21 @@ def get_price_list():
"""Get selling & buying price list of every item"""
rate = {}
-
- price_list = webnotes.conn.sql("""select parent, selling, buying,
- concat(price_list, " - ", ref_currency, " ", ref_rate) as price
- from `tabItem Price` where docstatus<2""", as_dict=1)
+
+ price_list = webnotes.conn.sql("""select ip.item_code, pl.buying_or_selling,
+ concat(pl.name, " - ", pl.currency, " ", ip.ref_rate) as price
+ from `tabItem Price` ip, `tabPrice List` pl where
+ ip.parent = pl.name and pl.docstatus<2""", as_dict=1)
for j in price_list:
if j.price:
- if j.selling:
- rate.setdefault(j.parent, {}).setdefault("selling", []).append(j.price)
- if j.buying:
- rate.setdefault(j.parent, {}).setdefault("buying", []).append(j.price)
-
+ rate.setdefault(j.item_code, {}).setdefault(j.buying_or_selling, []).append(j.price)
item_rate_map = {}
for item in rate:
- item_rate_map.setdefault(item, {}).setdefault("selling",
- ", ".join(rate[item].get("selling", [])))
- item_rate_map[item]["buying"] = ", ".join(rate[item].get("buying", []))
+ for buying_or_selling in rate[item]:
+ item_rate_map.setdefault(item, {}).setdefault(buying_or_selling,
+ ", ".join(rate[item].get(buying_or_selling, [])))
return item_rate_map
diff --git a/stock/report/item_wise_price_list/item_wise_price_list.txt b/stock/report/item_wise_price_list/item_wise_price_list.txt
index 2d5996a92e..b3d5717a41 100644
--- a/stock/report/item_wise_price_list/item_wise_price_list.txt
+++ b/stock/report/item_wise_price_list/item_wise_price_list.txt
@@ -2,7 +2,7 @@
{
"creation": "2013-02-22 18:01:55",
"docstatus": 0,
- "modified": "2013-05-07 11:52:00",
+ "modified": "2013-09-10 15:50:26",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -10,7 +10,7 @@
"doctype": "Report",
"is_standard": "Yes",
"name": "__common__",
- "query": "select\n item.name as \"ID:Link/Item:120\", \n item.item_name as \"Item Name::120\", \n item_price.price_list as \"Price List::80\",\n item_price.ref_currency as \"Currency::40\", \n item_price.ref_rate as \"Rate:Float:80\",\n item.description as \"Description::160\",\n item.item_group as \"Item Group:Link/Item Group:100\",\n item.brand as \"Brand::100\"\nfrom `tabItem` item, `tabItem Price` item_price\nwhere\n item_price.parent = item.name",
+ "query": "select\n item.name as \"ID:Link/Item:120\", \n item.item_name as \"Item Name::120\", \n item_price.parent as \"Price List::80\",\n price_list.currency as \"Currency::40\", \n item_price.ref_rate as \"Rate:Float:80\",\n item.description as \"Description::160\",\n item.item_group as \"Item Group:Link/Item Group:100\",\n item.brand as \"Brand::100\"\nfrom `tabItem` item, `tabItem Price` item_price, `tabPrice List` price_list\nwhere\n item_price.item_code = item.name and\n item_price.parent = price_list.name",
"ref_doctype": "Item",
"report_name": "Item-Wise Price List",
"report_type": "Query Report"
diff --git a/support/doctype/support_ticket/get_support_mails.py b/support/doctype/support_ticket/get_support_mails.py
index fa4f304e53..02f7ea8bfe 100644
--- a/support/doctype/support_ticket/get_support_mails.py
+++ b/support/doctype/support_ticket/get_support_mails.py
@@ -3,7 +3,7 @@
from __future__ import unicode_literals
import webnotes
-from webnotes.utils import cstr, cint, decode_dict
+from webnotes.utils import cstr, cint, decode_dict, today
from webnotes.utils.email_lib import sendmail
from webnotes.utils.email_lib.receive import POP3Mailbox
from core.doctype.communication.communication import make
@@ -22,32 +22,13 @@ class SupportMailbox(POP3Mailbox):
if mail.from_email == self.email_settings.fields.get('support_email'):
return
thread_id = mail.get_thread_id()
- ticket = None
new_ticket = False
- if thread_id and webnotes.conn.exists("Support Ticket", thread_id):
- ticket = webnotes.bean("Support Ticket", thread_id)
- ticket.doc.status = 'Open'
- ticket.doc.save()
-
- else:
- ticket = webnotes.bean([decode_dict({
- "doctype":"Support Ticket",
- "description": mail.content,
- "subject": mail.subject,
- "raised_by": mail.from_email,
- "content_type": mail.content_type,
- "status": "Open",
- })])
-
- ticket.insert()
+ if not (thread_id and webnotes.conn.exists("Support Ticket", thread_id)):
new_ticket = True
-
- mail.save_attachments_in_doc(ticket.doc)
-
- make(content=mail.content, sender=mail.from_email, subject = ticket.doc.subject,
- doctype="Support Ticket", name=ticket.doc.name,
- date=mail.date)
+
+ ticket = add_support_communication(mail.subject, mail.content, mail.from_email,
+ docname=thread_id if new_ticket else None, mail=mail)
if new_ticket and cint(self.email_settings.send_autoreply) and \
"mailer-daemon" not in mail.from_email.lower():
@@ -78,4 +59,31 @@ Original Query:
def get_support_mails():
if cint(webnotes.conn.get_value('Email Settings', None, 'sync_support_mails')):
- SupportMailbox()
\ No newline at end of file
+ SupportMailbox()
+
+def add_support_communication(subject, content, sender, docname=None, mail=None):
+ if docname:
+ ticket = webnotes.bean("Support Ticket", docname)
+ ticket.doc.status = 'Open'
+ ticket.ignore_permissions = True
+ ticket.doc.save()
+ else:
+ ticket = webnotes.bean([decode_dict({
+ "doctype":"Support Ticket",
+ "description": content,
+ "subject": subject,
+ "raised_by": sender,
+ "content_type": mail.content_type if mail else None,
+ "status": "Open",
+ })])
+ ticket.ignore_permissions = True
+ ticket.insert()
+
+ make(content=content, sender=sender, subject = subject,
+ doctype="Support Ticket", name=ticket.doc.name,
+ date=mail.date if mail else today())
+
+ if mail:
+ mail.save_attachments_in_doc(ticket.doc)
+
+ return ticket
\ No newline at end of file
diff --git a/support/doctype/support_ticket/support_ticket.py b/support/doctype/support_ticket/support_ticket.py
index 5c38cc1a78..bf2a9fbabe 100644
--- a/support/doctype/support_ticket/support_ticket.py
+++ b/support/doctype/support_ticket/support_ticket.py
@@ -24,6 +24,9 @@ class DocType(TransactionBase):
if signature:
content += '
' + signature + '
'
return content
+
+ def get_portal_page(self):
+ return "ticket"
def validate(self):
self.update_status()
@@ -72,18 +75,4 @@ class DocType(TransactionBase):
def set_status(name, status):
st = webnotes.bean("Support Ticket", name)
st.doc.status = status
- st.save()
-
-def get_website_args():
- bean = webnotes.bean("Support Ticket", webnotes.form_dict.name)
- if bean.doc.raised_by != webnotes.session.user:
- return {
- "doc": {"name": "Not Allowed"}
- }
- else:
- return {
- "doc": bean.doc,
- "doclist": bean.doclist,
- "webnotes": webnotes,
- "utils": webnotes.utils
- }
+ st.save()
\ No newline at end of file
diff --git a/support/doctype/support_ticket/templates/__init__.py b/support/doctype/support_ticket/templates/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/support/doctype/support_ticket/templates/pages/__init__.py b/support/doctype/support_ticket/templates/pages/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/support/doctype/support_ticket/templates/pages/ticket.html b/support/doctype/support_ticket/templates/pages/ticket.html
new file mode 100644
index 0000000000..4b41dc21e9
--- /dev/null
+++ b/support/doctype/support_ticket/templates/pages/ticket.html
@@ -0,0 +1,121 @@
+{% extends base_template %}
+
+{% set title=doc.name %}
+
+{% set status_label = {
+ "Open": "label-success",
+ "To Reply": "label-danger",
+ "Closed": "label-default"
+} %}
+
+{% block content %}
+
+
+
{{ doc.name }}
+ {% if doc.name == "Not Allowed" -%}
+
+ {% else %}
+
+ {%- if doc.status -%}
+ {% if doc.status == "Waiting for Customer" -%}
+ {% set status = "To Reply" %}
+ {% else %}
+ {% set status = doc.status %}
+ {%- endif -%}
+
+
+ {{ status }}
+
+
+
+ {{ utils.formatdate(doc.creation) }}
+
+
+
+
Messages
+
+
+ Reply
+
+ Send
+
+
+
+ {%- if doclist.get({"doctype":"Communication"}) -%}
+
+
+
+ {%- for comm in
+ (doclist.get({"doctype":"Communication"})|sort(reverse=True, attribute="creation")) %}
+
+
+
+ {{ comm.sender }} on {{ utils.formatdate(comm.creation) }}
+
+ {{ webnotes.utils.is_html(comm.content) and comm.content or
+ comm.content.replace("\n", " ")}}
+
+
+ {% endfor -%}
+
+
+
+ {%- else -%}
+
No messages
+ {%- endif -%}
+ {%- endif -%}
+ {% endif -%}
+
+{% endblock %}
+
+{% block javascript %}
+
+{% endblock %}
\ No newline at end of file
diff --git a/support/doctype/support_ticket/templates/pages/ticket.py b/support/doctype/support_ticket/templates/pages/ticket.py
new file mode 100644
index 0000000000..ce3100f7e0
--- /dev/null
+++ b/support/doctype/support_ticket/templates/pages/ticket.py
@@ -0,0 +1,37 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import webnotes
+from webnotes import _
+from webnotes.utils import today
+
+no_cache = True
+
+def get_context():
+ bean = webnotes.bean("Support Ticket", webnotes.form_dict.name)
+ if bean.doc.raised_by != webnotes.session.user:
+ return {
+ "doc": {"name": "Not Allowed"}
+ }
+ else:
+ return {
+ "doc": bean.doc,
+ "doclist": bean.doclist,
+ "webnotes": webnotes,
+ "utils": webnotes.utils
+ }
+
+@webnotes.whitelist()
+def add_reply(ticket, message):
+ if not message:
+ raise webnotes.throw(_("Please write something"))
+
+ bean = webnotes.bean("Support Ticket", ticket)
+ if bean.doc.raised_by != webnotes.session.user:
+ raise webnotes.throw(_("You are not allowed to reply to this ticket."), webnotes.PermissionError)
+
+ from core.doctype.communication.communication import make
+ make(content=message, sender=bean.doc.raised_by, subject = bean.doc.subject,
+ doctype="Support Ticket", name=bean.doc.name,
+ date=today())
\ No newline at end of file
diff --git a/support/doctype/support_ticket/templates/pages/tickets.html b/support/doctype/support_ticket/templates/pages/tickets.html
new file mode 100644
index 0000000000..d99e6145d9
--- /dev/null
+++ b/support/doctype/support_ticket/templates/pages/tickets.html
@@ -0,0 +1,87 @@
+{% extends "app/portal/templates/includes/transactions.html" %}
+
+{% block javascript -%}
+{{ super() }}
+
+
+{%- endblock %}
\ No newline at end of file
diff --git a/support/doctype/support_ticket/templates/pages/tickets.py b/support/doctype/support_ticket/templates/pages/tickets.py
new file mode 100644
index 0000000000..dd2e52e555
--- /dev/null
+++ b/support/doctype/support_ticket/templates/pages/tickets.py
@@ -0,0 +1,38 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import webnotes
+from webnotes.utils import cint, formatdate
+
+no_cache = True
+
+def get_context():
+ return {
+ "title": "My Tickets",
+ "method": "support.doctype.support_ticket.templates.pages.tickets.get_tickets",
+ "icon": "icon-ticket",
+ "empty_list_message": "No Tickets Raised",
+ "page": "ticket"
+ }
+
+@webnotes.whitelist()
+def get_tickets(start=0):
+ tickets = webnotes.conn.sql("""select name, subject, status, creation
+ from `tabSupport Ticket` where raised_by=%s
+ order by modified desc
+ limit %s, 20""", (webnotes.session.user, cint(start)), as_dict=True)
+ for t in tickets:
+ t.creation = formatdate(t.creation)
+
+ return tickets
+
+@webnotes.whitelist()
+def make_new_ticket(subject, message):
+ if not (subject and message):
+ raise webnotes.throw(_("Please write something in subject and message!"))
+
+ from support.doctype.support_ticket.get_support_mails import add_support_communication
+ ticket = add_support_communication(subject, message, webnotes.session.user)
+
+ return ticket.doc.name
\ No newline at end of file
diff --git a/utilities/demo/demo_control_panel.py b/utilities/demo/demo_control_panel.py
index c70913ee68..1f381d5eb6 100644
--- a/utilities/demo/demo_control_panel.py
+++ b/utilities/demo/demo_control_panel.py
@@ -1,13 +1,13 @@
def on_login(self):
from webnotes.utils import validate_email_add
- import conf
- if hasattr(conf, "demo_notify_url"):
+ import conf
+ if hasattr(conf, "demo_notify_url"):
if webnotes.form_dict.lead_email and validate_email_add(webnotes.form_dict.lead_email):
import requests
response = requests.post(conf.demo_notify_url, data={
- "cmd":"website.helpers.contact.send_message",
+ "cmd":"portal.utils.send_message",
"subject":"Logged into Demo",
"sender": webnotes.form_dict.lead_email,
"message": "via demo.erpnext.com"
- })
+ })
\ No newline at end of file
diff --git a/utilities/demo/demo_docs/BOM.csv b/utilities/demo/demo_docs/BOM.csv
index 446fc2eac0..ab0d6f521a 100644
--- a/utilities/demo/demo_docs/BOM.csv
+++ b/utilities/demo/demo_docs/BOM.csv
@@ -1,47 +1,47 @@
-Data Import Template,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-Table:,BOM,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-Notes:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-Please do not change the template headings.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-First data column must be blank.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-"If you are uploading new records, leave the ""name"" (ID) column blank.",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-"If you are uploading new records, ""Naming Series"" becomes mandatory, if present.",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-Only mandatory fields are necessary for new records. You can delete non-mandatory columns if you wish.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-"For updating, you can update only selective columns.",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-You can only upload upto 5000 records in one go. (may be less in some cases),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-DocType:,BOM,,,,,,,,,,,,,,,,-,BOM Operation,bom_operations,,,,,,-,BOM Item,bom_materials,,,,,,,,,-,BOM Explosion Item,flat_bom_details,,,,,,
-Column Labels:,ID,Last Updated On,Item,Quantity,Is Active,Is Default,With Operations,Rate Of Materials Based On,Price List,Total Cost,Total Raw Material Cost,Total Operating Cost,Item UOM,Project Name,Item Desription,Amended From,-,ID,Operation No,Operation Description,Workstation,Hour Rate,Operation Time (mins),Operating Cost,-,ID,Item Code,Qty,Stock UOM,Operation No,BOM No,Rate,Amount,Scrap %,Item Description,-,ID,Item Code,Description,Qty,Rate,Amount,Stock UOM,Qty Consumed Per Unit
-Column Name:,name,modified,item,quantity,is_active,is_default,with_operations,rm_cost_as_per,buying_price_list,total_cost,raw_material_cost,operating_cost,uom,project_name,description,amended_from,-,name,operation_no,opn_description,workstation,hour_rate,time_in_mins,operating_cost,-,name,item_code,qty,stock_uom,operation_no,bom_no,rate,amount,scrap,description,-,name,item_code,description,qty,rate,amount,stock_uom,qty_consumed_per_unit
-Mandatory:,Yes,Yes,Yes,Yes,No,No,No,No,No,No,No,No,No,No,No,No,-,Yes,Yes,Yes,No,No,No,No,-,Yes,Yes,Yes,Yes,No,No,No,No,No,No,-,Yes,No,No,No,No,No,No,No
-Type:,Data (text),Data,Link,Float,Check,Check,Check,Select,Link,Float,Float,Float,Select,Link,Small Text,Link,-,Data,Data,Text,Link,Float,Float,Float,-,Data,Link,Float,Link,Select,Link,Float,Float,Float,Text,-,Data,Link,Text,Float,Float,Float,Link,Float
-Info:,,Don't change!,Valid Item,,0 or 1,0 or 1,0 or 1,"One of: Valuation Rate, Last Purchase Rate, Price List",Valid Price List,,,,Valid UOM,Valid Project,,Valid BOM,-,Leave blank for new records,,,Valid Workstation,,,,-,Leave blank for new records,Valid Item,,Valid UOM,,Valid BOM,,,,,-,Leave blank for new records,Valid Item,,,,,Valid UOM,
-Start entering data below this line,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,BOM/Bearing Assembly/001,"""2013-08-07 16:58:00""",Bearing Assembly,1.0,1,1,,Price List,Standard Buying,130.0,130.0,0.0,Nos,,Bearing Assembly,,,,,,,,,,,183,Base Bearing Plate,1.0,Nos,,,15.0,15.0,,1/4 in. x 6 in. x 6 in. Mild Steel Plate,,FBD/000039,Bearing Pipe,1.5 in. Diameter x 36 in. Mild Steel Tubing,1.0,15.0,15.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,184,Bearing Block,1.0,Nos,,,10.0,10.0,,"CAST IRON, MCMASTER PART NO. 3710T13",,FBD/000040,Bearing Collar,1 in. x 3 in. x 1 ft. Multipurpose Al Alloy Bar,2.0,20.0,40.0,Nos,2.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,185,Bearing Collar,2.0,Nos,,,20.0,40.0,,1 in. x 3 in. x 1 ft. Multipurpose Al Alloy Bar,,FBD/000041,Bearing Block,"CAST IRON, MCMASTER PART NO. 3710T13",1.0,10.0,10.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,186,Bearing Pipe,1.0,Nos,,,15.0,15.0,,1.5 in. Diameter x 36 in. Mild Steel Tubing,,FBD/000042,Upper Bearing Plate,3/16 in. x 6 in. x 6 in. Low Carbon Steel Plate,1.0,50.0,50.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,187,Upper Bearing Plate,1.0,Nos,,,50.0,50.0,,3/16 in. x 6 in. x 6 in. Low Carbon Steel Plate,,FBD/000043,Base Bearing Plate,1/4 in. x 6 in. x 6 in. Mild Steel Plate,1.0,15.0,15.0,Nos,1.0
-,BOM/Wind Mill A Series/001,"""2013-08-07 16:47:02""",Wind Mill A Series,1.0,1,1,,Price List,Standard Buying,223.0,223.0,0.0,Nos,,Wind Mill A Series for Home Use 9ft,,,,,,,,,,,163,Base Bearing Plate,1.0,Nos,,,15.0,15.0,,1/4 in. x 6 in. x 6 in. Mild Steel Plate,,FBD/000008,Shaft,1.25 in. Diameter x 6 ft. Mild Steel Tubing,1.0,30.0,30.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,164,Base Plate,1.0,Nos,,,20.0,20.0,,3/4 in. x 2 ft. x 4 ft. Pine Plywood,,FBD/000009,Base Bearing Plate,1/4 in. x 6 in. x 6 in. Mild Steel Plate,1.0,15.0,15.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,165,Bearing Block,1.0,Nos,,,10.0,10.0,,"CAST IRON, MCMASTER PART NO. 3710T13",,FBD/000010,External Disc,15/32 in. x 4 ft. x 8 ft. 3-Ply Rtd Sheathing,1.0,45.0,45.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,166,Bearing Pipe,1.0,Nos,,,15.0,15.0,,1.5 in. Diameter x 36 in. Mild Steel Tubing,,FBD/000011,Bearing Pipe,1.5 in. Diameter x 36 in. Mild Steel Tubing,1.0,15.0,15.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,167,External Disc,1.0,Nos,,,45.0,45.0,,15/32 in. x 4 ft. x 8 ft. 3-Ply Rtd Sheathing,,FBD/000012,Wing Sheet,1/32 in. x 24 in. x 47 in. HDPE Opaque Sheet,4.0,22.0,88.0,Nos,4.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,168,Shaft,1.0,Nos,,,30.0,30.0,,1.25 in. Diameter x 6 ft. Mild Steel Tubing,,FBD/000013,Base Plate,3/4 in. x 2 ft. x 4 ft. Pine Plywood,1.0,20.0,20.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,169,Wing Sheet,4.0,Nos,,,22.0,88.0,,1/32 in. x 24 in. x 47 in. HDPE Opaque Sheet,,FBD/000014,Bearing Block,"CAST IRON, MCMASTER PART NO. 3710T13",1.0,10.0,10.0,Nos,1.0
-,BOM/Wind MIll C Series/001,"""2013-08-07 16:58:51""",Wind MIll C Series,1.0,1,1,,Price List,Standard Buying,314.0,314.0,0.0,Nos,,Wind Mill C Series for Commercial Use 18ft,,,,,,,,,,,176,Base Plate,2.0,Nos,,,20.0,40.0,,3/4 in. x 2 ft. x 4 ft. Pine Plywood,,FBD/000061,Base Bearing Plate,1/4 in. x 6 in. x 6 in. Mild Steel Plate,1.0,15.0,15.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,178,Internal Disc,1.0,Nos,,,33.0,33.0,,For Bearing Collar,,FBD/000062,Bearing Collar,1 in. x 3 in. x 1 ft. Multipurpose Al Alloy Bar,2.0,20.0,40.0,Nos,2.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,179,External Disc,1.0,Nos,,,45.0,45.0,,15/32 in. x 4 ft. x 8 ft. 3-Ply Rtd Sheathing,,FBD/000063,Base Plate,3/4 in. x 2 ft. x 4 ft. Pine Plywood,2.0,20.0,40.0,Nos,2.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,188,Bearing Assembly,1.0,Nos,,BOM/Bearing Assembly/001,130.0,130.0,,Bearing Assembly,,FBD/000064,Bearing Pipe,1.5 in. Diameter x 36 in. Mild Steel Tubing,1.0,15.0,15.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,189,Wing Sheet,3.0,Nos,,,22.0,66.0,,1/32 in. x 24 in. x 47 in. HDPE Opaque Sheet,,FBD/000065,Internal Disc,For Bearing Collar,1.0,33.0,33.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,FBD/000066,Upper Bearing Plate,3/16 in. x 6 in. x 6 in. Low Carbon Steel Plate,1.0,50.0,50.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,FBD/000067,Wing Sheet,1/32 in. x 24 in. x 47 in. HDPE Opaque Sheet,3.0,22.0,66.0,Nos,3.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,FBD/000068,External Disc,15/32 in. x 4 ft. x 8 ft. 3-Ply Rtd Sheathing,1.0,45.0,45.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,FBD/000069,Bearing Block,"CAST IRON, MCMASTER PART NO. 3710T13",1.0,10.0,10.0,Nos,1.0
-,BOM/Wind Turbine/001,"""2013-08-07 16:51:56""",Wind Turbine,1.0,1,1,,Price List,Standard Buying,139.0,139.0,0.0,Nos,,Small Wind Turbine for Home Use,,,,,,,,,,,170,Base Bearing Plate,1.0,Nos,,,15.0,15.0,,1/4 in. x 6 in. x 6 in. Mild Steel Plate,,FBD/000021,Shaft,1.25 in. Diameter x 6 ft. Mild Steel Tubing,1.0,30.0,30.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,171,Base Plate,1.0,Nos,,,20.0,20.0,,3/4 in. x 2 ft. x 4 ft. Pine Plywood,,FBD/000022,Bearing Collar,1 in. x 3 in. x 1 ft. Multipurpose Al Alloy Bar,1.0,20.0,20.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,172,Bearing Collar,1.0,Nos,,,20.0,20.0,,1 in. x 3 in. x 1 ft. Multipurpose Al Alloy Bar,,FBD/000023,Base Plate,3/4 in. x 2 ft. x 4 ft. Pine Plywood,1.0,20.0,20.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,173,Blade Rib,1.0,Nos,,,10.0,10.0,,1/2 in. x 2 ft. x 4 ft. Pine Plywood,,FBD/000024,Base Bearing Plate,1/4 in. x 6 in. x 6 in. Mild Steel Plate,1.0,15.0,15.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,174,Shaft,1.0,Nos,,,30.0,30.0,,1.25 in. Diameter x 6 ft. Mild Steel Tubing,,FBD/000025,Blade Rib,1/2 in. x 2 ft. x 4 ft. Pine Plywood,1.0,10.0,10.0,Nos,1.0
-,,,,,,,,,,,,,,,,,,,,,,,,,,175,Wing Sheet,2.0,Nos,,,22.0,44.0,,1/32 in. x 24 in. x 47 in. HDPE Opaque Sheet,,FBD/000026,Wing Sheet,1/32 in. x 24 in. x 47 in. HDPE Opaque Sheet,2.0,22.0,44.0,Nos,2.0
\ No newline at end of file
+Data Import Template,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+Table:,BOM,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+Notes:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+Please do not change the template headings.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+First data column must be blank.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+"If you are uploading new records, leave the ""name"" (ID) column blank.",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+"If you are uploading new records, ""Naming Series"" becomes mandatory, if present.",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+Only mandatory fields are necessary for new records. You can delete non-mandatory columns if you wish.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+"For updating, you can update only selective columns.",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+You can only upload upto 5000 records in one go. (may be less in some cases),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+DocType:,BOM,,,,,,,,,,,,,,,~,BOM Operation,bom_operations,,,,,,~,BOM Item,bom_materials,,,,,,,,,~,BOM Explosion Item,flat_bom_details,,,,,,
+Column Labels:,ID,Item,Quantity,Is Active,Is Default,With Operations,Rate Of Materials Based On,Price List,Total Cost,Total Raw Material Cost,Total Operating Cost,Item UOM,Project Name,Item Desription,Amended From,,ID,Operation No,Operation Description,Workstation,Hour Rate,Operation Time (mins),Operating Cost,,ID,Item Code,Qty,Stock UOM,Operation No,BOM No,Rate,Amount,Scrap %,Item Description,,ID,Item Code,Description,Qty,Rate,Amount,Stock UOM,Qty Consumed Per Unit
+Column Name:,name,item,quantity,is_active,is_default,with_operations,rm_cost_as_per,buying_price_list,total_cost,raw_material_cost,operating_cost,uom,project_name,description,amended_from,~,name,operation_no,opn_description,workstation,hour_rate,time_in_mins,operating_cost,~,name,item_code,qty,stock_uom,operation_no,bom_no,rate,amount,scrap,description,~,name,item_code,description,qty,rate,amount,stock_uom,qty_consumed_per_unit
+Mandatory:,Yes,Yes,Yes,No,No,No,No,No,No,No,No,No,No,No,No,,Yes,Yes,Yes,No,No,No,No,,Yes,Yes,Yes,Yes,No,No,No,No,No,No,,Yes,No,No,No,No,No,No,No
+Type:,Data (text),Link,Float,Check,Check,Check,Select,Link,Float,Float,Float,Select,Link,Small Text,Link,,Data,Data,Text,Link,Float,Float,Float,,Data,Link,Float,Link,Select,Link,Float,Float,Float,Text,,Data,Link,Text,Float,Float,Float,Link,Float
+Info:,,Valid Item,,0 or 1,0 or 1,0 or 1,"One of: Valuation Rate, Last Purchase Rate, Price List",Valid Price List,,,,Valid UOM,Valid Project,,Valid BOM,,Leave blank for new records,,,Valid Workstation,,,,,Leave blank for new records,Valid Item,,Valid UOM,,Valid BOM,,,,,,Leave blank for new records,Valid Item,,,,,Valid UOM,
+Start entering data below this line,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,BOM/Bearing Assembly/001,Bearing Assembly,1,1,1,,Price List,Standard Buying,130,130,0,Nos,,Bearing Assembly,,,,,,,,,,,,Base Bearing Plate,1,Nos,,,15,15,,1/4 in. x 6 in. x 6 in. Mild Steel Plate,,,Bearing Pipe,1.5 in. Diameter x 36 in. Mild Steel Tubing,1,15,15,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,Bearing Block,1,Nos,,,10,10,,"CAST IRON, MCMASTER PART NO. 3710T13",,,Bearing Collar,1 in. x 3 in. x 1 ft. Multipurpose Al Alloy Bar,2,20,40,Nos,2
+,,,,,,,,,,,,,,,,,,,,,,,,,,Bearing Collar,2,Nos,,,20,40,,1 in. x 3 in. x 1 ft. Multipurpose Al Alloy Bar,,,Bearing Block,"CAST IRON, MCMASTER PART NO. 3710T13",1,10,10,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,Bearing Pipe,1,Nos,,,15,15,,1.5 in. Diameter x 36 in. Mild Steel Tubing,,,Upper Bearing Plate,3/16 in. x 6 in. x 6 in. Low Carbon Steel Plate,1,50,50,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,Upper Bearing Plate,1,Nos,,,50,50,,3/16 in. x 6 in. x 6 in. Low Carbon Steel Plate,,,Base Bearing Plate,1/4 in. x 6 in. x 6 in. Mild Steel Plate,1,15,15,Nos,1
+,BOM/Wind Mill A Series/001,Wind Mill A Series,1,1,1,,Price List,Standard Buying,223,223,0,Nos,,Wind Mill A Series for Home Use 9ft,,,,,,,,,,,,Base Bearing Plate,1,Nos,,,15,15,,1/4 in. x 6 in. x 6 in. Mild Steel Plate,,,Shaft,1.25 in. Diameter x 6 ft. Mild Steel Tubing,1,30,30,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,Base Plate,1,Nos,,,20,20,,3/4 in. x 2 ft. x 4 ft. Pine Plywood,,,Base Bearing Plate,1/4 in. x 6 in. x 6 in. Mild Steel Plate,1,15,15,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,Bearing Block,1,Nos,,,10,10,,"CAST IRON, MCMASTER PART NO. 3710T13",,,External Disc,15/32 in. x 4 ft. x 8 ft. 3-Ply Rtd Sheathing,1,45,45,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,Bearing Pipe,1,Nos,,,15,15,,1.5 in. Diameter x 36 in. Mild Steel Tubing,,,Bearing Pipe,1.5 in. Diameter x 36 in. Mild Steel Tubing,1,15,15,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,External Disc,1,Nos,,,45,45,,15/32 in. x 4 ft. x 8 ft. 3-Ply Rtd Sheathing,,,Wing Sheet,1/32 in. x 24 in. x 47 in. HDPE Opaque Sheet,4,22,88,Nos,4
+,,,,,,,,,,,,,,,,,,,,,,,,,,Shaft,1,Nos,,,30,30,,1.25 in. Diameter x 6 ft. Mild Steel Tubing,,,Base Plate,3/4 in. x 2 ft. x 4 ft. Pine Plywood,1,20,20,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,Wing Sheet,4,Nos,,,22,88,,1/32 in. x 24 in. x 47 in. HDPE Opaque Sheet,,,Bearing Block,"CAST IRON, MCMASTER PART NO. 3710T13",1,10,10,Nos,1
+,BOM/Wind MIll C Series/001,Wind MIll C Series,1,1,1,,Price List,Standard Buying,314,314,0,Nos,,Wind Mill C Series for Commercial Use 18ft,,,,,,,,,,,,Base Plate,2,Nos,,,20,40,,3/4 in. x 2 ft. x 4 ft. Pine Plywood,,,Base Bearing Plate,1/4 in. x 6 in. x 6 in. Mild Steel Plate,1,15,15,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,Internal Disc,1,Nos,,,33,33,,For Bearing Collar,,,Bearing Collar,1 in. x 3 in. x 1 ft. Multipurpose Al Alloy Bar,2,20,40,Nos,2
+,,,,,,,,,,,,,,,,,,,,,,,,,,External Disc,1,Nos,,,45,45,,15/32 in. x 4 ft. x 8 ft. 3-Ply Rtd Sheathing,,,Base Plate,3/4 in. x 2 ft. x 4 ft. Pine Plywood,2,20,40,Nos,2
+,,,,,,,,,,,,,,,,,,,,,,,,,,Bearing Assembly,1,Nos,,BOM/Bearing Assembly/001,130,130,,Bearing Assembly,,,Bearing Pipe,1.5 in. Diameter x 36 in. Mild Steel Tubing,1,15,15,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,Wing Sheet,3,Nos,,,22,66,,1/32 in. x 24 in. x 47 in. HDPE Opaque Sheet,,,Internal Disc,For Bearing Collar,1,33,33,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Upper Bearing Plate,3/16 in. x 6 in. x 6 in. Low Carbon Steel Plate,1,50,50,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Wing Sheet,1/32 in. x 24 in. x 47 in. HDPE Opaque Sheet,3,22,66,Nos,3
+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,External Disc,15/32 in. x 4 ft. x 8 ft. 3-Ply Rtd Sheathing,1,45,45,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Bearing Block,"CAST IRON, MCMASTER PART NO. 3710T13",1,10,10,Nos,1
+,BOM/Wind Turbine/001,Wind Turbine,1,1,1,,Price List,Standard Buying,139,139,0,Nos,,Small Wind Turbine for Home Use,,,,,,,,,,,,Base Bearing Plate,1,Nos,,,15,15,,1/4 in. x 6 in. x 6 in. Mild Steel Plate,,,Shaft,1.25 in. Diameter x 6 ft. Mild Steel Tubing,1,30,30,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,Base Plate,1,Nos,,,20,20,,3/4 in. x 2 ft. x 4 ft. Pine Plywood,,,Bearing Collar,1 in. x 3 in. x 1 ft. Multipurpose Al Alloy Bar,1,20,20,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,Bearing Collar,1,Nos,,,20,20,,1 in. x 3 in. x 1 ft. Multipurpose Al Alloy Bar,,,Base Plate,3/4 in. x 2 ft. x 4 ft. Pine Plywood,1,20,20,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,Blade Rib,1,Nos,,,10,10,,1/2 in. x 2 ft. x 4 ft. Pine Plywood,,,Base Bearing Plate,1/4 in. x 6 in. x 6 in. Mild Steel Plate,1,15,15,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,Shaft,1,Nos,,,30,30,,1.25 in. Diameter x 6 ft. Mild Steel Tubing,,,Blade Rib,1/2 in. x 2 ft. x 4 ft. Pine Plywood,1,10,10,Nos,1
+,,,,,,,,,,,,,,,,,,,,,,,,,,Wing Sheet,2,Nos,,,22,44,,1/32 in. x 24 in. x 47 in. HDPE Opaque Sheet,,,Wing Sheet,1/32 in. x 24 in. x 47 in. HDPE Opaque Sheet,2,22,44,Nos,2
diff --git a/utilities/demo/demo_docs/Item.csv b/utilities/demo/demo_docs/Item.csv
index ff61c5fbb5..eeb18c5b17 100644
--- a/utilities/demo/demo_docs/Item.csv
+++ b/utilities/demo/demo_docs/Item.csv
@@ -1,50 +1,37 @@
-Data Import Template,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-Table:,Item,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-Notes:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-Please do not change the template headings.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-First data column must be blank.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-"If you are uploading new records, leave the ""name"" (ID) column blank.",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-"If you are uploading new records, ""Naming Series"" becomes mandatory, if present.",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-Only mandatory fields are necessary for new records. You can delete non-mandatory columns if you wish.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-"For updating, you can update only selective columns.",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-You can only upload upto 5000 records in one go. (may be less in some cases),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-DocType:,Item,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-,Item Reorder,item_reorder,,,,-,UOM Conversion Detail,uom_conversion_details,,-,Item Supplier,item_supplier_details,,-,Item Customer Detail,item_customer_details,,-,Item Tax,item_tax,,-,Item Price,ref_rate_details,,,,-,Item Quality Inspection Parameter,item_specification_details,,-,Website Item Group,website_item_groups,-,Item Website Specification,item_website_specifications,
-Column Labels:,ID,Last Updated On,Item Name,Item Group,Default Unit of Measure,Description,Is Stock Item,Is Asset Item,Has Batch No,Has Serial No,Is Purchase Item,Is Sales Item,Is Service Item,Inspection Required,Allow Bill of Materials,Allow Production Order,Is Sub Contracted Item,Document Numbering Series,Item Code,Brand,Barcode,Image,Description HTML,Default Warehouse,Allowance Percent,Valuation Method,Minimum Order Qty,Serial Number Series,Warranty Period (in days),End of Life,Net Weight,Weight UOM,Re-Order Level,Re-Order Qty,Default Supplier,Lead Time Days,Default Expense Account,Default Cost Center,Last Purchase Rate,Standard Rate,Manufacturer,Manufacturer Part Number,Max Discount (%),Default Income Account,Cost Center,Default BOM,Show in Website,Page Name,Weightage,Slideshow,Image,Website Warehouse,Website Description,-,ID,Warehouse,Re-order Level,Material Request Type,Re-order Qty,-,ID,UOM,Conversion Factor,-,ID,Supplier,Supplier Part Number,-,ID,Customer Name,Ref Code,-,ID,Tax,Tax Rate,-,ID,Price List Name,Ref Rate,Valid for Buying or Selling?,Currency,-,ID,Parameter,Acceptance Criteria,-,ID,Item Group,-,ID,Label,Description
-Column Name:,name,modified,item_name,item_group,stock_uom,description,is_stock_item,is_asset_item,has_batch_no,has_serial_no,is_purchase_item,is_sales_item,is_service_item,inspection_required,is_manufactured_item,is_pro_applicable,is_sub_contracted_item,naming_series,item_code,brand,barcode,image,description_html,default_warehouse,tolerance,valuation_method,min_order_qty,serial_no_series,warranty_period,end_of_life,net_weight,weight_uom,re_order_level,re_order_qty,default_supplier,lead_time_days,purchase_account,cost_center,last_purchase_rate,standard_rate,manufacturer,manufacturer_part_no,max_discount,default_income_account,default_sales_cost_center,default_bom,show_in_website,page_name,weightage,slideshow,website_image,website_warehouse,web_long_description,-,name,warehouse,warehouse_reorder_level,material_request_type,warehouse_reorder_qty,-,name,uom,conversion_factor,-,name,supplier,supplier_part_no,-,name,customer_name,ref_code,-,name,tax_type,tax_rate,-,name,price_list,ref_rate,buying_or_selling,ref_currency,-,name,specification,value,-,name,item_group,-,name,label,description
-Mandatory:,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,-,Yes,Yes,Yes,Yes,No,-,Yes,No,No,-,Yes,No,No,-,Yes,Yes,Yes,-,Yes,Yes,No,-,Yes,Yes,Yes,Yes,No,-,Yes,Yes,No,-,Yes,No,-,Yes,No,No
-Type:,Data (text),Data,Data,Link,Link,Small Text,Select,Select,Select,Select,Select,Select,Select,Select,Select,Select,Select,Select,Data,Link,Data,Select,Small Text,Link,Float,Select,Float,Data,Data,Date,Float,Link,Float,Float,Link,Int,Link,Link,Float,Float,Data,Data,Float,Link,Link,Link,Check,Data,Int,Link,Select,Link,Text Editor,-,Data,Link,Float,Select,Float,-,Data,Link,Float,-,Data,Link,Data,-,Data,Link,Data,-,Data,Link,Float,-,Data,Link,Currency,Select,Link,-,Data,Data,Data,-,Data,Link,-,Data,Data,Text
-Info:,,Don't change!,,Valid Item Group,Valid UOM,,"One of: Yes, No","One of: Yes, No","One of: Yes, No","One of: Yes, No","One of: Yes, No","One of: Yes, No","One of: Yes, No","One of: Yes, No","One of: Yes, No","One of: Yes, No","One of: Yes, No",One of: ITEM,,Valid Brand,,One of: attach_files:,,Valid Warehouse,,"One of: FIFO, Moving Average",,,,,,Valid UOM,,,Valid Supplier,Integer,Valid Account,Valid Cost Center,,,,,,Valid Account,Valid Cost Center,Valid BOM,0 or 1,,Integer,Valid Website Slideshow,One of: attach_files:,Valid Warehouse,,-,Leave blank for new records,Valid Warehouse,,"One of: Purchase, Transfer",,-,Leave blank for new records,Valid UOM,,-,Leave blank for new records,Valid Supplier,,-,Leave blank for new records,Valid Customer,,-,Leave blank for new records,Valid Account,,-,Leave blank for new records,Valid Price List,,"One of: Buying, Selling",Valid Currency,-,Leave blank for new records,,,-,Leave blank for new records,Valid Item Group,-,Leave blank for new records,,
-Start entering data below this line,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Base Bearing Plate,"""2013-08-20 11:11:53""",Base Bearing Plate,Raw Material,Nos,1/4 in. x 6 in. x 6 in. Mild Steel Plate,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Base Bearing Plate,,,,,Stores - WP,0.0,,0.0,,,,0.0,,0.0,0.0,Eagle Hardware,0,,,15.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00001,Nos,1.0,,,,,,,,,,,,,,RFD/00001,Standard Buying,15.0,Buying,USD,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RFD/00017,Standard Selling,21.0,Selling,USD,,,,,,,,,,,
-,Base Plate,"""2013-08-20 11:11:53""",Base Plate,Raw Material,Nos,3/4 in. x 2 ft. x 4 ft. Pine Plywood,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Base Plate,,,,,Stores - WP,0.0,,0.0,,,,0.0,,0.0,0.0,HomeBase,0,,,20.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00002,Nos,1.0,,,,,,,,,,,,,,RFD/00002,Standard Buying,20.0,Buying,USD,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RFD/00018,Standard Selling,28.0,Selling,USD,,,,,,,,,,,
-,Bearing Assembly,"""2013-08-20 11:11:55""",Bearing Assembly,Sub Assemblies,Nos,Bearing Assembly,Yes,No,No,No,No,Yes,No,No,Yes,Yes,No,,Bearing Assembly,,,,,Stores - WP,0.0,,0.0,,,,0.0,,0.0,0.0,Asiatic Solutions,0,,,0.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00003,Nos,1.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Bearing Block,"""2013-08-20 11:11:54""",Bearing Block,Raw Material,Nos,"CAST IRON, MCMASTER PART NO. 3710T13",Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Bearing Block,,,,,Stores - WP,0.0,,0.0,,,,0.0,,0.0,0.0,Nan Duskin,0,,,10.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00004,Nos,1.0,,,,,,,,,,,,,,RFD/00003,Standard Buying,10.0,Buying,USD,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RFD/00019,Standard Selling,14.0,Selling,USD,,,,,,,,,,,
-,Bearing Collar,"""2013-08-20 11:11:54""",Bearing Collar,Raw Material,Nos,1 in. x 3 in. x 1 ft. Multipurpose Al Alloy Bar,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Bearing Collar,,,,,Stores - WP,0.0,,0.0,,,,0.0,,0.0,0.0,Eagle Hardware,0,,,20.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00005,Nos,1.0,,,,,,,,,,,,,,RFD/00004,Standard Buying,20.0,Buying,USD,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RFD/00020,Standard Selling,28.0,Selling,USD,,,,,,,,,,,
-,Bearing Pipe,"""2013-08-20 11:11:54""",Bearing Pipe,Raw Material,Nos,1.5 in. Diameter x 36 in. Mild Steel Tubing,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Bearing Pipe,,,,,Stores - WP,0.0,,0.0,,,,0.0,,0.0,0.0,HomeBase,0,,,15.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00006,Nos,1.0,,,,,,,,,,,,,,RFD/00005,Standard Buying,15.0,Buying,USD,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RFD/00021,Standard Selling,21.0,Selling,USD,,,,,,,,,,,
-,Blade Rib,"""2013-08-20 11:11:54""",Blade Rib,Raw Material,Nos,1/2 in. x 2 ft. x 4 ft. Pine Plywood,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Blade Rib,,,,,Stores - WP,0.0,,0.0,,,,0.0,,0.0,0.0,Ks Merchandise,0,,,0.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00007,Nos,1.0,,,,,,,,,,,,,,RFD/00006,Standard Buying,10.0,Buying,USD,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RFD/00022,Standard Selling,14.0,Selling,USD,,,,,,,,,,,
-,Disc Collars,"""2013-08-20 11:11:54""",Disc Collars,Raw Material,Nos,For Upper Bearing,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Disc Collars,,,,,Stores - WP,0.0,,0.0,,,,0.0,,0.0,0.0,Asiatic Solutions,0,,,0.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00008,Nos,1.0,,,,,,,,,,,,,,RFD/00007,Standard Buying,74.0,Buying,USD,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RFD/00023,Standard Selling,103.6,Selling,USD,,,,,,,,,,,
-,External Disc,"""2013-08-20 11:11:54""",External Disc,Raw Material,Nos,15/32 in. x 4 ft. x 8 ft. 3-Ply Rtd Sheathing,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,External Disc,,,,,Stores - WP,0.0,,0.0,,,,0.0,,0.0,0.0,HomeBase,0,,,45.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00009,Nos,1.0,,,,,,,,,,,,,,RFD/00008,Standard Buying,45.0,Buying,USD,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RFD/00024,Standard Selling,63.0,Selling,USD,,,,,,,,,,,
-,Internal Disc,"""2013-08-20 11:11:54""",Internal Disc,Raw Material,Nos,For Bearing Collar,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Internal Disc,,,,,Stores - WP,0.0,,0.0,,,,0.0,,0.0,0.0,HomeBase,0,,,33.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00010,Nos,1.0,,,,,,,,,,,,,,RFD/00009,Standard Buying,33.0,Buying,USD,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RFD/00025,Standard Selling,46.2,Selling,USD,,,,,,,,,,,
-,Shaft,"""2013-08-20 11:11:54""",Shaft,Raw Material,Nos,1.25 in. Diameter x 6 ft. Mild Steel Tubing,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Shaft,,,,,Stores - WP,0.0,,0.0,,,,0.0,,0.0,0.0,Eagle Hardware,0,,,30.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00011,Nos,1.0,,,,,,,,,,,,,,RFD/00010,Standard Buying,30.0,Buying,USD,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RFD/00026,Standard Selling,42.0,Selling,USD,,,,,,,,,,,
-,Stand,"""2013-08-20 11:11:54""",Stand,Raw Material,Nos,N/A,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Stand,,,,,Stores - WP,0.0,,0.0,,,,0.0,,0.0,0.0,Scott Ties,0,,,0.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00012,Nos,1.0,,,,,,,,,,,,,,RFD/00011,Standard Buying,40.0,Buying,USD,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RFD/00027,Standard Selling,56.0,Selling,USD,,,,,,,,,,,
-,Upper Bearing Plate,"""2013-08-20 11:11:54""",Upper Bearing Plate,Raw Material,Nos,3/16 in. x 6 in. x 6 in. Low Carbon Steel Plate,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Upper Bearing Plate,,,,,Stores - WP,0.0,,0.0,,,,0.0,,0.0,0.0,Eagle Hardware,0,,,50.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00013,Nos,1.0,,,,,,,,,,,,,,RFD/00012,Standard Buying,50.0,Buying,USD,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RFD/00028,Standard Selling,70.0,Selling,USD,,,,,,,,,,,
-,Wind Mill A Series,"""2013-08-20 11:27:46""",Wind Mill A Series,Products,Nos,Wind Mill A Series for Home Use 9ft,Yes,No,No,Yes,No,Yes,Yes,No,Yes,Yes,No,,Wind Mill A Series,,,,,Finished Goods - WP,0.0,,0.0,WMA,,,0.0,,0.0,0.0,,0,,,0.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00014,Nos,1.0,,,,,,,,,,,,,,RFD/00015,Standard Selling,340.0,Selling,USD,,,,,,,,,,,
-,Wind MIll C Series,"""2013-08-20 11:27:27""",Wind MIll C Series,Products,Nos,Wind Mill C Series for Commercial Use 18ft,Yes,No,No,Yes,No,Yes,Yes,No,Yes,Yes,No,,Wind MIll C Series,,,,,Finished Goods - WP,0.0,,0.0,WMC,,,0.0,,0.0,0.0,,0,,,0.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00015,Nos,1.0,,,,,,,,,,,,,,RFD/00016,Standard Selling,400.0,Selling,USD,,,,,,,,,,,
-,Wind Turbine,"""2013-08-20 11:29:26""",Wind Turbine,Products,Nos,Small Wind Turbine for Home Use,Yes,No,No,Yes,No,Yes,Yes,No,Yes,Yes,No,,Wind Turbine,,,,,Finished Goods - WP,0.0,,0.0,WTU,,,0.0,,0.0,0.0,,0,,,0.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00016,Nos,1.0,,,,,,,,,,,,,,RFD/00014,Standard Selling,300.0,Selling,USD,,,,,,,,,,,
-,Wing Sheet,"""2013-08-20 11:11:55""",Wing Sheet,Raw Material,Nos,1/32 in. x 24 in. x 47 in. HDPE Opaque Sheet,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Wing Sheet,,,,,Stores - WP,0.0,,0.0,,,,0.0,,0.0,0.0,New World Realty,0,,,22.0,0.0,,,0.0,,,,0,,0,,,,,,,,,,,,UCDD/00017,Nos,1.0,,,,,,,,,,,,,,RFD/00013,Standard Buying,22.0,Buying,USD,,,,,,,,,,,
-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,RFD/00029,Standard Selling,30.8,Selling,USD,,,,,,,,,,,
\ No newline at end of file
+Data Import Template,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+Table:,Item,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+Notes:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+Please do not change the template headings.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+First data column must be blank.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+"If you are uploading new records, leave the ""name"" (ID) column blank.",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+"If you are uploading new records, ""Naming Series"" becomes mandatory, if present.",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+Only mandatory fields are necessary for new records. You can delete non-mandatory columns if you wish.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+"For updating, you can update only selective columns.",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+You can only upload upto 5000 records in one go. (may be less in some cases),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+DocType:,Item,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~,Item Reorder,item_reorder,,,,~,UOM Conversion Detail,uom_conversion_details,,~,Item Supplier,item_supplier_details,,~,Item Customer Detail,item_customer_details,,~,Item Tax,item_tax,,~,Item Quality Inspection Parameter,item_specification_details,,~,Website Item Group,website_item_groups,~,Item Website Specification,item_website_specifications,
+Column Labels:,ID,Item Name,Item Group,Default Unit of Measure,Description,Is Stock Item,Is Asset Item,Has Batch No,Has Serial No,Is Purchase Item,Is Sales Item,Is Service Item,Inspection Required,Allow Bill of Materials,Allow Production Order,Is Sub Contracted Item,Document Numbering Series,Item Code,Brand,Barcode,Image,Description HTML,Default Warehouse,Allowance Percent,Valuation Method,Minimum Order Qty,Serial Number Series,Warranty Period (in days),End of Life,Net Weight,Weight UOM,Re-Order Level,Re-Order Qty,Default Supplier,Lead Time Days,Default Expense Account,Default Cost Center,Last Purchase Rate,Standard Rate,Manufacturer,Manufacturer Part Number,Max Discount (%),Default Income Account,Cost Center,Default BOM,Show in Website,Page Name,Weightage,Slideshow,Image,Website Warehouse,Website Description,,ID,Warehouse,Re-order Level,Material Request Type,Re-order Qty,,ID,UOM,Conversion Factor,,ID,Supplier,Supplier Part Number,,ID,Customer Name,Ref Code,,ID,Tax,Tax Rate,,ID,Parameter,Acceptance Criteria,,ID,Item Group,,ID,Label,Description
+Column Name:,name,item_name,item_group,stock_uom,description,is_stock_item,is_asset_item,has_batch_no,has_serial_no,is_purchase_item,is_sales_item,is_service_item,inspection_required,is_manufactured_item,is_pro_applicable,is_sub_contracted_item,naming_series,item_code,brand,barcode,image,description_html,default_warehouse,tolerance,valuation_method,min_order_qty,serial_no_series,warranty_period,end_of_life,net_weight,weight_uom,re_order_level,re_order_qty,default_supplier,lead_time_days,purchase_account,cost_center,last_purchase_rate,standard_rate,manufacturer,manufacturer_part_no,max_discount,default_income_account,default_sales_cost_center,default_bom,show_in_website,page_name,weightage,slideshow,website_image,website_warehouse,web_long_description,~,name,warehouse,warehouse_reorder_level,material_request_type,warehouse_reorder_qty,~,name,uom,conversion_factor,~,name,supplier,supplier_part_no,~,name,customer_name,ref_code,~,name,tax_type,tax_rate,~,name,specification,value,~,name,item_group,~,name,label,description
+Mandatory:,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,,Yes,Yes,Yes,Yes,No,,Yes,No,No,,Yes,No,No,,Yes,Yes,Yes,,Yes,Yes,No,,Yes,Yes,No,,Yes,No,,Yes,No,No
+Type:,Data (text),Data,Link,Link,Small Text,Select,Select,Select,Select,Select,Select,Select,Select,Select,Select,Select,Select,Data,Link,Data,Select,Small Text,Link,Float,Select,Float,Data,Data,Date,Float,Link,Float,Float,Link,Int,Link,Link,Float,Float,Data,Data,Float,Link,Link,Link,Check,Data,Int,Link,Select,Link,Text Editor,,Data,Link,Float,Select,Float,,Data,Link,Float,,Data,Link,Data,,Data,Link,Data,,Data,Link,Float,,Data,Data,Data,,Data,Link,,Data,Data,Text
+Info:,,,Valid Item Group,Valid UOM,,"One of: Yes, No","One of: Yes, No","One of: Yes, No","One of: Yes, No","One of: Yes, No","One of: Yes, No","One of: Yes, No","One of: Yes, No","One of: Yes, No","One of: Yes, No","One of: Yes, No",One of: ITEM,,Valid Brand,,One of: attach_files:,,Valid Warehouse,,"One of: FIFO, Moving Average",,,,,,Valid UOM,,,Valid Supplier,Integer,Valid Account,Valid Cost Center,,,,,,Valid Account,Valid Cost Center,Valid BOM,0 or 1,,Integer,Valid Website Slideshow,One of: attach_files:,Valid Warehouse,,,Leave blank for new records,Valid Warehouse,,"One of: Purchase, Transfer",,,Leave blank for new records,Valid UOM,,,Leave blank for new records,Valid Supplier,,,Leave blank for new records,Valid Customer,,,Leave blank for new records,Valid Account,,,Leave blank for new records,,,,Leave blank for new records,Valid Item Group,,Leave blank for new records,,
+Start entering data below this line,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,Base Bearing Plate,Base Bearing Plate,Raw Material,Nos,1/4 in. x 6 in. x 6 in. Mild Steel Plate,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Base Bearing Plate,,,,,Stores - WP,0,,0,,,,0,,0,0,Eagle Hardware,0,,,15,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
+,Base Plate,Base Plate,Raw Material,Nos,3/4 in. x 2 ft. x 4 ft. Pine Plywood,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Base Plate,,,,,Stores - WP,0,,0,,,,0,,0,0,HomeBase,0,,,20,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
+,Bearing Assembly,Bearing Assembly,Sub Assemblies,Nos,Bearing Assembly,Yes,No,No,No,No,Yes,No,No,Yes,Yes,No,,Bearing Assembly,,,,,Stores - WP,0,,0,,,,0,,0,0,Asiatic Solutions,0,,,0,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
+,Bearing Block,Bearing Block,Raw Material,Nos,"CAST IRON, MCMASTER PART NO. 3710T13",Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Bearing Block,,,,,Stores - WP,0,,0,,,,0,,0,0,Nan Duskin,0,,,10,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
+,Bearing Collar,Bearing Collar,Raw Material,Nos,1 in. x 3 in. x 1 ft. Multipurpose Al Alloy Bar,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Bearing Collar,,,,,Stores - WP,0,,0,,,,0,,0,0,Eagle Hardware,0,,,20,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
+,Bearing Pipe,Bearing Pipe,Raw Material,Nos,1.5 in. Diameter x 36 in. Mild Steel Tubing,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Bearing Pipe,,,,,Stores - WP,0,,0,,,,0,,0,0,HomeBase,0,,,15,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
+,Blade Rib,Blade Rib,Raw Material,Nos,1/2 in. x 2 ft. x 4 ft. Pine Plywood,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Blade Rib,,,,,Stores - WP,0,,0,,,,0,,0,0,Ks Merchandise,0,,,0,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
+,Disc Collars,Disc Collars,Raw Material,Nos,For Upper Bearing,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Disc Collars,,,,,Stores - WP,0,,0,,,,0,,0,0,Asiatic Solutions,0,,,0,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
+,External Disc,External Disc,Raw Material,Nos,15/32 in. x 4 ft. x 8 ft. 3-Ply Rtd Sheathing,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,External Disc,,,,,Stores - WP,0,,0,,,,0,,0,0,HomeBase,0,,,45,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
+,Internal Disc,Internal Disc,Raw Material,Nos,For Bearing Collar,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Internal Disc,,,,,Stores - WP,0,,0,,,,0,,0,0,HomeBase,0,,,33,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
+,Shaft,Shaft,Raw Material,Nos,1.25 in. Diameter x 6 ft. Mild Steel Tubing,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Shaft,,,,,Stores - WP,0,,0,,,,0,,0,0,Eagle Hardware,0,,,30,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
+,Stand,Stand,Raw Material,Nos,N/A,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Stand,,,,,Stores - WP,0,,0,,,,0,,0,0,Scott Ties,0,,,0,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
+,Upper Bearing Plate,Upper Bearing Plate,Raw Material,Nos,3/16 in. x 6 in. x 6 in. Low Carbon Steel Plate,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Upper Bearing Plate,,,,,Stores - WP,0,,0,,,,0,,0,0,Eagle Hardware,0,,,50,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
+,Wind Mill A Series,Wind Mill A Series,Products,Nos,Wind Mill A Series for Home Use 9ft,Yes,No,No,Yes,No,Yes,Yes,No,Yes,Yes,No,,Wind Mill A Series,,,,,Finished Goods - WP,0,,0,WMA,,,0,,0,0,,0,,,0,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
+,Wind MIll C Series,Wind MIll C Series,Products,Nos,Wind Mill C Series for Commercial Use 18ft,Yes,No,No,Yes,No,Yes,Yes,No,Yes,Yes,No,,Wind MIll C Series,,,,,Finished Goods - WP,0,,0,WMC,,,0,,0,0,,0,,,0,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
+,Wind Turbine,Wind Turbine,Products,Nos,Small Wind Turbine for Home Use,Yes,No,No,Yes,No,Yes,Yes,No,Yes,Yes,No,,Wind Turbine,,,,,Finished Goods - WP,0,,0,WTU,,,0,,0,0,,0,,,0,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
+,Wing Sheet,Wing Sheet,Raw Material,Nos,1/32 in. x 24 in. x 47 in. HDPE Opaque Sheet,Yes,No,No,No,Yes,Yes,Yes,No,No,No,No,,Wing Sheet,,,,,Stores - WP,0,,0,,,,0,,0,0,New World Realty,0,,,22,0,,,0,,,,0,,0,,,,,,,,,,,,,Nos,1,,,,,,,,,,,,,,,,,,,,,,,
diff --git a/utilities/demo/demo_docs/Item_Price.csv b/utilities/demo/demo_docs/Item_Price.csv
deleted file mode 100644
index c1bc7ade87..0000000000
--- a/utilities/demo/demo_docs/Item_Price.csv
+++ /dev/null
@@ -1,50 +0,0 @@
-Data Import Template,,,,,
-Table:,Item Price,,,,
-Parent Table:,Item,,,,
-,,,,,
-Notes:,,,,,
-Please do not change the template headings.,,,,,
-First data column must be blank.,,,,,
-Only mandatory fields are necessary for new records. You can delete non-mandatory columns if you wish.,,,,,
-"For updating, you can update only selective columns.",,,,,
-"If you are uploading new records, leave the ""name"" (ID) column blank.",,,,,
-"If you are uploading new records, ""Naming Series"" becomes mandatory, if present.",,,,,
-You can only upload upto 5000 records in one go. (may be less in some cases),,,,,
-"""Parent"" signifies the parent table in which this row must be added",,,,,
-"If you are updating, please select ""Overwrite"" else existing rows will not be deleted.",,,,,
-,,,,,
-Column Labels,ID,Price List Name,Valid for Buying or Selling?,Ref Rate,Currency
-Column Name:,parent,price_list,buying_or_selling,ref_rate,ref_currency
-Mandatory:,Yes,Yes,Yes,No,No
-Type:,Data (text),Link,Select,Currency,Link
-Info:,,Valid Price List,"One of: Buying, Selling",,Valid Currency
-Start entering data below this line,,,,,
-,Base Bearing Plate,Standard Buying,Buying,15,USD
-,Base Plate,Standard Buying,Buying,20,USD
-,Bearing Block,Standard Buying,Buying,10,USD
-,Bearing Collar,Standard Buying,Buying,20,USD
-,Bearing Pipe,Standard Buying,Buying,15,USD
-,Blade Rib,Standard Buying,Buying,10,USD
-,Disc Collars,Standard Buying,Buying,74,USD
-,External Disc,Standard Buying,Buying,45,USD
-,Internal Disc,Standard Buying,Buying,33,USD
-,Shaft,Standard Buying,Buying,30,USD
-,Stand,Standard Buying,Buying,40,USD
-,Upper Bearing Plate,Standard Buying,Buying,50,USD
-,Wing Sheet,Standard Buying,Buying,22,USD
-,Wind Turbine,Standard Selling,Selling,300,USD
-,Wind Mill A Series,Standard Selling,Selling,340,USD
-,Wind MIll C Series,Standard Selling,Selling,400,USD
-,Base Bearing Plate,Standard Selling,Selling,21,USD
-,Base Plate,Standard Selling,Selling,28,USD
-,Bearing Block,Standard Selling,Selling,14,USD
-,Bearing Collar,Standard Selling,Selling,28,USD
-,Bearing Pipe,Standard Selling,Selling,21,USD
-,Blade Rib,Standard Selling,Selling,14,USD
-,Disc Collars,Standard Selling,Selling,103.6,USD
-,External Disc,Standard Selling,Selling,63,USD
-,Internal Disc,Standard Selling,Selling,46.2,USD
-,Shaft,Standard Selling,Selling,42,USD
-,Stand,Standard Selling,Selling,56,USD
-,Upper Bearing Plate,Standard Selling,Selling,70,USD
-,Wing Sheet,Standard Selling,Selling,30.8,USD
\ No newline at end of file
diff --git a/utilities/demo/demo_docs/Price_List.csv b/utilities/demo/demo_docs/Price_List.csv
new file mode 100644
index 0000000000..fb412399e1
--- /dev/null
+++ b/utilities/demo/demo_docs/Price_List.csv
@@ -0,0 +1,49 @@
+Data Import Template,,,,,,,,,,,
+Table:,Price List,,,,,,,,,,
+,,,,,,,,,,,
+,,,,,,,,,,,
+Notes:,,,,,,,,,,,
+Please do not change the template headings.,,,,,,,,,,,
+First data column must be blank.,,,,,,,,,,,
+"If you are uploading new records, leave the ""name"" (ID) column blank.",,,,,,,,,,,
+"If you are uploading new records, ""Naming Series"" becomes mandatory, if present.",,,,,,,,,,,
+Only mandatory fields are necessary for new records. You can delete non-mandatory columns if you wish.,,,,,,,,,,,
+"For updating, you can update only selective columns.",,,,,,,,,,,
+You can only upload upto 5000 records in one go. (may be less in some cases),,,,,,,,,,,
+,,,,,,,,,,,
+DocType:,Price List,,,,~,For Territory,valid_for_territories,~,Item Price,item_prices,
+Column Labels:,ID,Price List Name,Currency,Valid for Buying or Selling?,,ID,Territory,,ID,Item Code,Rate
+Column Name:,name,price_list_name,currency,buying_or_selling,~,name,territory,~,name,item_code,ref_rate
+Mandatory:,Yes,Yes,Yes,Yes,,Yes,Yes,,Yes,Yes,Yes
+Type:,Data (text),Data,Link,Select,,Data,Link,,Data,Link,Currency
+Info:,,,Valid Currency,"One of: Buying, Selling",,Leave blank for new records,Valid Territory,,Leave blank for new records,Valid Item,
+Start entering data below this line,,,,,,,,,,,
+,Standard Buying,Standard Buying,USD,Buying,,,United States,,,Base Bearing Plate,15
+,,,,,,,,,,Base Plate,20
+,,,,,,,,,,Bearing Block,10
+,,,,,,,,,,Bearing Collar,20
+,,,,,,,,,,Bearing Pipe,15
+,,,,,,,,,,Blade Rib,10
+,,,,,,,,,,Disc Collars,74
+,,,,,,,,,,External Disc,45
+,,,,,,,,,,Internal Disc,33
+,,,,,,,,,,Shaft,30
+,,,,,,,,,,Stand,40
+,,,,,,,,,,Upper Bearing Plate,50
+,,,,,,,,,,Wing Sheet,22
+,Standard Selling,Standard Selling,USD,Selling,,,United States,,,Wind Turbine,21
+,,,,,,,,,,Wind Mill A Series,28
+,,,,,,,,,,Wind MIll C Series,14
+,,,,,,,,,,Base Bearing Plate,28
+,,,,,,,,,,Base Plate,21
+,,,,,,,,,,Bearing Block,14
+,,,,,,,,,,Bearing Collar,103.6
+,,,,,,,,,,Bearing Pipe,63
+,,,,,,,,,,Blade Rib,46.2
+,,,,,,,,,,Disc Collars,42
+,,,,,,,,,,External Disc,56
+,,,,,,,,,,Internal Disc,70
+,,,,,,,,,,Shaft,340
+,,,,,,,,,,Stand,400
+,,,,,,,,,,Upper Bearing Plate,300
+,,,,,,,,,,Wing Sheet,30.8
diff --git a/utilities/demo/demo_docs/Salary_Structure.csv b/utilities/demo/demo_docs/Salary_Structure.csv
index 07d95be174..a74de9061a 100644
--- a/utilities/demo/demo_docs/Salary_Structure.csv
+++ b/utilities/demo/demo_docs/Salary_Structure.csv
@@ -1,25 +1,24 @@
-"Data Import Template"
-"Table:","Salary Structure"
-""
-""
-"Notes:"
-"Please do not change the template headings."
-"First data column must be blank."
-"If you are uploading new records, leave the ""name"" (ID) column blank."
-"If you are uploading new records, ""Naming Series"" becomes mandatory, if present."
-"Only mandatory fields are necessary for new records. You can delete non-mandatory columns if you wish."
-"For updating, you can update only selective columns."
-"You can only upload upto 5000 records in one go. (may be less in some cases)"
-""
-"DocType:","Salary Structure","","","","","","","","","","","","","","","-","Salary Structure Earning","earning_details","","","-","Salary Structure Deduction","deduction_details","",""
-"Column Labels:","ID","Last Updated On","Employee","Is Active","From Date","Company","Employee Name","Branch","Designation","Department","Grade","To Date","Total Earning","Total Deduction","Net Pay","-","ID","Type","Amount","Reduce Earning for Leave Without Pay (LWP)","-","ID","Type","Amount","Reduce Deduction for Leave Without Pay (LWP)"
-"Column Name:","name","modified","employee","is_active","from_date","company","employee_name","branch","designation","department","grade","to_date","total_earning","total_deduction","net_pay","-","name","e_type","modified_value","depend_on_lwp","-","name","d_type","d_modified_amt","depend_on_lwp"
-"Mandatory:","Yes","Yes","Yes","Yes","Yes","Yes","No","No","No","No","No","No","No","No","No","-","Yes","Yes","No","No","-","Yes","Yes","No","No"
-"Type:","Data (text)","Data","Link","Select","Date","Select","Data","Select","Select","Select","Select","Date","Currency","Currency","Currency","-","Data","Link","Currency","Check","-","Data","Link","Currency","Check"
-"Info:","","Don't change!","Valid Employee","One of: Yes, No","","Valid Company","","Valid Branch","Valid Designation","Valid Department","Valid Grade","","","","","-","Leave blank for new records","Valid Earning Type","","0 or 1","-","Leave blank for new records","Valid Deduction Type","","0 or 1"
-"Start entering data below this line"
-"","EMP/0001/SST/00001","""2013-08-06 17:07:22""","EMP/0001","Yes","2013-08-06","Wind Power LLC","Dikman Shervashidze Shervashidze","","","","","",5000.0,400.0,4600.0,"","000000154","Basic",5000.0,"","","000000155","Income Tax",400.0,""
-"","EMP/0002/SST/00001","""2013-08-06 17:07:43""","EMP/0002","Yes","2013-08-06","Wind Power LLC","Zukutakitoteka","","","","","",6700.0,400.0,6300.0,"","000000156","Basic",6700.0,"","","000000157","Income Tax",400.0,""
-"","EMP/0003/SST/00001","""2013-08-06 17:08:02""","EMP/0003","Yes","2013-08-06","Wind Power LLC","Hatsue Kashiwagi","","","","","",3400.0,400.0,3000.0,"","000000158","Basic",3400.0,"","","000000159","Income Tax",400.0,""
-"","EMP/0004/SST/00001","""2013-08-06 17:14:39""","EMP/0004","Yes","2013-08-06","Wind Power LLC","Nuran Verkleij","","","","","",6990.0,566.0,6424.0,"","000000160","Basic",6990.0,"","","000000161","Income Tax",566.0,""
-
+Data Import Template,,,,,,,,,,,,,,,,,,,,,,,,
+Table:,Salary Structure,,,,,,,,,,,,,,,,,,,,,,,
+,,,,,,,,,,,,,,,,,,,,,,,,
+,,,,,,,,,,,,,,,,,,,,,,,,
+Notes:,,,,,,,,,,,,,,,,,,,,,,,,
+Please do not change the template headings.,,,,,,,,,,,,,,,,,,,,,,,,
+First data column must be blank.,,,,,,,,,,,,,,,,,,,,,,,,
+"If you are uploading new records, leave the ""name"" (ID) column blank.",,,,,,,,,,,,,,,,,,,,,,,,
+"If you are uploading new records, ""Naming Series"" becomes mandatory, if present.",,,,,,,,,,,,,,,,,,,,,,,,
+Only mandatory fields are necessary for new records. You can delete non-mandatory columns if you wish.,,,,,,,,,,,,,,,,,,,,,,,,
+"For updating, you can update only selective columns.",,,,,,,,,,,,,,,,,,,,,,,,
+You can only upload upto 5000 records in one go. (may be less in some cases),,,,,,,,,,,,,,,,,,,,,,,,
+,,,,,,,,,,,,,,,,,,,,,,,,
+DocType:,Salary Structure,,,,,,,,,,,,,,~,Salary Structure Earning,earning_details,,,~,Salary Structure Deduction,deduction_details,,
+Column Labels:,ID,Employee,Is Active,From Date,Company,Employee Name,Branch,Designation,Department,Grade,To Date,Total Earning,Total Deduction,Net Pay,,ID,Type,Amount,Reduce Earning for Leave Without Pay (LWP),,ID,Type,Amount,Reduce Deduction for Leave Without Pay (LWP)
+Column Name:,name,employee,is_active,from_date,company,employee_name,branch,designation,department,grade,to_date,total_earning,total_deduction,net_pay,~,name,e_type,modified_value,depend_on_lwp,~,name,d_type,d_modified_amt,depend_on_lwp
+Mandatory:,Yes,Yes,Yes,Yes,Yes,No,No,No,No,No,No,No,No,No,,Yes,Yes,No,No,,Yes,Yes,No,No
+Type:,Data (text),Link,Select,Date,Select,Data,Select,Select,Select,Select,Date,Currency,Currency,Currency,,Data,Link,Currency,Check,,Data,Link,Currency,Check
+Info:,,Valid Employee,"One of: Yes, No",,Valid Company,,Valid Branch,Valid Designation,Valid Department,Valid Grade,,,,,,Leave blank for new records,Valid Earning Type,,0 or 1,,Leave blank for new records,Valid Deduction Type,,0 or 1
+Start entering data below this line,,,,,,,,,,,,,,,,,,,,,,,,
+,,EMP/0001,Yes,2013-08-06,Wind Power LLC,Dikman Shervashidze Shervashidze,,,,,,5000,400,4600,,,Basic,5000,,,,Income Tax,400,
+,,EMP/0002,Yes,2013-08-06,Wind Power LLC,Zukutakitoteka,,,,,,6700,400,6300,,,Basic,6700,,,,Income Tax,400,
+,,EMP/0003,Yes,2013-08-06,Wind Power LLC,Hatsue Kashiwagi,,,,,,3400,400,3000,,,Basic,3400,,,,Income Tax,400,
+,,EMP/0004,Yes,2013-08-06,Wind Power LLC,Nuran Verkleij,,,,,,6990,566,6424,,,Basic,6990,,,,Income Tax,566,
diff --git a/utilities/demo/make_demo.py b/utilities/demo/make_demo.py
index 4383d32129..a526c2a301 100644
--- a/utilities/demo/make_demo.py
+++ b/utilities/demo/make_demo.py
@@ -44,6 +44,7 @@ def setup():
complete_setup()
make_customers_suppliers_contacts()
make_items()
+ make_price_lists()
make_users_and_employees()
make_bank_account()
# make_opening_stock()
@@ -377,6 +378,9 @@ def complete_setup():
def make_items():
import_data("Item")
import_data("BOM", submit=True)
+
+def make_price_lists():
+ import_data("Price_List", overwrite=True)
def make_customers_suppliers_contacts():
import_data(["Customer", "Supplier", "Contact", "Address", "Lead"])
@@ -400,7 +404,7 @@ def make_bank_account():
webnotes.set_value("Company", company, "default_bank_account", ba.doc.name)
webnotes.conn.commit()
-def import_data(dt, submit=False):
+def import_data(dt, submit=False, overwrite=False):
if not isinstance(dt, (tuple, list)):
dt = [dt]
@@ -410,4 +414,4 @@ def import_data(dt, submit=False):
if submit:
webnotes.form_dict["params"] = json.dumps({"_submit": 1})
webnotes.uploaded_file = os.path.join(os.path.dirname(__file__), "demo_docs", doctype+".csv")
- upload()
\ No newline at end of file
+ upload(overwrite=overwrite)
\ No newline at end of file
diff --git a/utilities/demo/make_erpnext_demo.py b/utilities/demo/make_erpnext_demo.py
index 9e56839fb8..766da2612f 100644
--- a/utilities/demo/make_erpnext_demo.py
+++ b/utilities/demo/make_erpnext_demo.py
@@ -19,7 +19,7 @@ def make_demo_user():
roles = ["Accounts Manager", "Analytics", "Expense Approver", "Accounts User",
"Leave Approver", "Blogger", "Customer", "Sales Manager", "Employee", "Support Manager",
"HR Manager", "HR User", "Maintenance Manager", "Maintenance User", "Material Manager",
- "Material Master Manager", "Material User", "Partner", "Manufacturing Manager",
+ "Material Master Manager", "Material User", "Manufacturing Manager",
"Manufacturing User", "Projects User", "Purchase Manager", "Purchase Master Manager",
"Purchase User", "Quality Manager", "Report Manager", "Sales Master Manager",
"Sales User", "Supplier", "Support Team"]
diff --git a/utilities/doctype/address/address.py b/utilities/doctype/address/address.py
index 7ffb911417..69e81b8312 100644
--- a/utilities/doctype/address/address.py
+++ b/utilities/doctype/address/address.py
@@ -51,25 +51,3 @@ class DocType:
webnotes.conn.sql("""update `tabAddress` set `%s`=0 where `%s`=%s and name!=%s""" %
(is_address_type, fieldname, "%s", "%s"), (self.doc.fields[fieldname], self.doc.name))
break
-
-def get_website_args():
- def _get_fields(fieldnames):
- return [webnotes._dict(zip(["label", "fieldname", "fieldtype", "options"],
- [df.label, df.fieldname, df.fieldtype, df.options]))
- for df in webnotes.get_doctype("Address", processed=True).get({"fieldname": ["in", fieldnames]})]
-
- bean = None
- if webnotes.form_dict.name:
- bean = webnotes.bean("Address", webnotes.form_dict.name)
-
- return {
- "doc": bean.doc if bean else None,
- "meta": webnotes._dict({
- "left_fields": _get_fields(["address_title", "address_type", "address_line1", "address_line2",
- "city", "state", "pincode", "country"]),
- "right_fields": _get_fields(["email_id", "phone", "fax", "is_primary_address",
- "is_shipping_address"])
- }),
- "cint": cint
- }
-
diff --git a/utilities/doctype/address/templates/__init__.py b/utilities/doctype/address/templates/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/utilities/doctype/address/templates/pages/__init__.py b/utilities/doctype/address/templates/pages/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/website/templates/pages/address.html b/utilities/doctype/address/templates/pages/address.html
similarity index 95%
rename from website/templates/pages/address.html
rename to utilities/doctype/address/templates/pages/address.html
index 6544b1225d..f02d687232 100644
--- a/website/templates/pages/address.html
+++ b/utilities/doctype/address/templates/pages/address.html
@@ -1,4 +1,4 @@
-{% extends "app/website/templates/html/page.html" %}
+{% extends base_template %}
{% set title=doc and doc.name or "New Address" %}
{% set docname=(doc and doc.name or "") %}
@@ -40,7 +40,6 @@
@@ -89,7 +88,7 @@
wn.call({
btn: $(this),
type: "POST",
- method: "website.helpers.cart.save_address",
+ method: "selling.utils.cart.save_address",
args: { fields: fields, address_fieldname: get_url_arg("address_fieldname") },
callback: function(r) {
if(r.exc) {
diff --git a/utilities/doctype/address/templates/pages/address.py b/utilities/doctype/address/templates/pages/address.py
new file mode 100644
index 0000000000..d968c92eda
--- /dev/null
+++ b/utilities/doctype/address/templates/pages/address.py
@@ -0,0 +1,30 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import webnotes
+from webnotes.utils import cint
+
+no_cache = True
+
+def get_context():
+ def _get_fields(fieldnames):
+ return [webnotes._dict(zip(["label", "fieldname", "fieldtype", "options"],
+ [df.label, df.fieldname, df.fieldtype, df.options]))
+ for df in webnotes.get_doctype("Address", processed=True).get({"fieldname": ["in", fieldnames]})]
+
+ bean = None
+ if webnotes.form_dict.name:
+ bean = webnotes.bean("Address", webnotes.form_dict.name)
+
+ return {
+ "doc": bean.doc if bean else None,
+ "meta": webnotes._dict({
+ "left_fields": _get_fields(["address_title", "address_type", "address_line1", "address_line2",
+ "city", "state", "pincode", "country"]),
+ "right_fields": _get_fields(["email_id", "phone", "fax", "is_primary_address",
+ "is_shipping_address"])
+ }),
+ "cint": cint
+ }
+
diff --git a/website/templates/pages/addresses.html b/utilities/doctype/address/templates/pages/addresses.html
similarity index 89%
rename from website/templates/pages/addresses.html
rename to utilities/doctype/address/templates/pages/addresses.html
index 04fc47ba73..d56c734cb3 100644
--- a/website/templates/pages/addresses.html
+++ b/utilities/doctype/address/templates/pages/addresses.html
@@ -1,4 +1,4 @@
-{% extends "app/website/templates/html/page.html" %}
+{% extends base_template %}
{% set title="My Addresses" %}
@@ -6,7 +6,6 @@
New Address
@@ -26,7 +25,7 @@
var fetch_addresses = function() {
wn.call({
- method: "website.helpers.cart.get_addresses",
+ method: "selling.utils.cart.get_addresses",
callback: function(r) {
$("#address-list .progress").remove();
var $list = $("#address-list");
diff --git a/website/doctype/about_us_team_member/about_us_team_member.py b/utilities/doctype/address/templates/pages/addresses.py
similarity index 52%
rename from website/doctype/about_us_team_member/about_us_team_member.py
rename to utilities/doctype/address/templates/pages/addresses.py
index 784339de7d..24b474a55c 100644
--- a/website/doctype/about_us_team_member/about_us_team_member.py
+++ b/utilities/doctype/address/templates/pages/addresses.py
@@ -1,11 +1,6 @@
# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
# License: GNU General Public License v3. See license.txt
-# For license information, please see license.txt
-
from __future__ import unicode_literals
-import webnotes
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
\ No newline at end of file
+no_cache = True
\ No newline at end of file
diff --git a/website/README.md b/website/README.md
deleted file mode 100644
index 8ad39038f4..0000000000
--- a/website/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-Module for website management.
-
-Contains:
-
-- DocTypes for Web Page, Blogs
-- Templates
-- Settings
-- Generators for Item, Blog Post, Item Group
\ No newline at end of file
diff --git a/website/__init__.py b/website/__init__.py
deleted file mode 100644
index aace68bb64..0000000000
--- a/website/__init__.py
+++ /dev/null
@@ -1,20 +0,0 @@
-from __future__ import unicode_literals
-install_docs = [
- {"doctype":"Role", "role_name":"Blogger", "name":"Blogger"},
- {"doctype":"Role", "role_name":"Website Manager", "name":"Website Manager"},
-]
-
-import webnotes
-
-
-def get_site_address():
- from webnotes.utils import get_request_site_address
- url = get_request_site_address()
-
- if not url or url=='http://localhost':
- new_url = webnotes.conn.get_value('Website Settings', 'Website Settings',
- 'subdomain')
- if new_url:
- url = "http://" + new_url
-
- return url
\ No newline at end of file
diff --git a/website/css/website.css b/website/css/website.css
deleted file mode 100644
index 4cd7ac7735..0000000000
--- a/website/css/website.css
+++ /dev/null
@@ -1,204 +0,0 @@
-.container {
- max-width: 728px !important;
-}
-
-h1, h2, h3, h4, h5 {
- font-weight: bold;
-}
-
-a {
- cursor: pointer;
-}
-
-img {
- max-width: 100%;
-}
-
-.content {
- padding-bottom: 30px;
-}
-
-.banner {
- margin-top: 20px;
- padding: 0px 20px;
-}
-
-.missing-image {
- background-color: #eee;
- padding: 40px;
- width: 112px;
- font-size: 32px;
- color: #888;
-}
-
-.social-icons {
- font-size: 120%;
- float: right;
- text-align: right;
-}
-.social-icons a:hover {
- text-decoration: none;
-}
-.social-icons a i:hover {
- text-decoration: none;
-}
-.social-icons i {
- margin-left: 5px;
-}
-
-div.web-footer {
- padding-top: 10px;
- padding-bottom: 20px;
-}
-
-.web-footer-menu ul {
- list-style: none;
- margin: 0px;
- padding: 0px;
-}
-
-.web-footer-menu ul li {
- display: inline;
- padding: 2px 14px 2px 0px;
- margin: 0px;
-}
-
-.avatar {
- display: inline-block;
- vertical-align: middle;
- overflow: hidden;
- background-color: #ddd;
- border: 1px solid #eee;
-}
-
-.avatar-small {
- margin-right: 5px;
- width: 30px;
- height: 30px;
- border-radius: 30px;
- -moz-border-radius: 30px;
- -webkit-border-radius: 30px;
-}
-.avatar-small img {
- width: 30px;
-}
-
-.avatar-medium {
- margin-right: 5px;
- width: 48px;
- height: 48px;
- border-radius: 48px;
- -moz-border-radius: 48px;
- -webkit-border-radius: 48px;
-}
-.avatar-medium img {
- width: 48px;
-}
-
-.avatar-large {
- margin-right: 10px;
- width: 72px;
- height: 72px;
- border-radius: 72px;
- -moz-border-radius: 72px;
- -webkit-border-radius: 72px;
-}
-.avatar-large img {
- width: 72px;
-}
-
-.avatar-x-large {
- margin-right: 10px;
- width: 100px;
- height: 100px;
- border-radius: 100px;
- -moz-border-radius: 100px;
- -webkit-border-radius: 100px;
-}
-.avatar-x-large img {
- width: 100px;
-}
-
-.carousel-control .icon {
- position: absolute;
- top: 50%;
- left: 50%;
- z-index: 5;
- display: inline-block;
- width: 20px;
- height: 20px;
- margin-top: -10px;
- margin-left: -10px;
-}
-
-.hidden-sm-inline {
- display: none;
-}
-
-@media (min-width: 768px) {
- .hidden-sm-inline {
- display: inline;
- }
-}
-
-.panel-heading,
-.panel-body {
- padding-left: 15px;
-}
-
-
-.breadcrumb {
- margin: 0px -20px;
- margin-bottom: 20px;
-}
-
-fieldset {
- margin-bottom: 20px;
-}
-
-/* buttons */
-
-.btn-default {
- color: #ffffff;
- background-color: #a7a9aa;
- border-color: #a7a9aa;
-}
-
-.dropup .btn-default .caret,
-.btn-default .caret {
- border-bottom-color: #ffffff;
- border-top-color: #ffffff;
-}
-
-.btn-default:hover,
-.btn-default:focus,
-.btn-default:active,
-.btn-default.active,
-.open .dropdown-toggle.btn-default {
- background-color: #9a9c9d;
- border-color: #8d9091;
- color: #ffffff;
-}
-
-.btn-default.disabled,
-.btn-default[disabled],
-fieldset[disabled] .btn-default,
-.btn-default.disabled:hover,
-.btn-default[disabled]:hover,
-fieldset[disabled] .btn-default:hover,
-.btn-default.disabled:focus,
-.btn-default[disabled]:focus,
-fieldset[disabled] .btn-default:focus,
-.btn-default.disabled:active,
-.btn-default[disabled]:active,
-fieldset[disabled] .btn-default:active,
-.btn-default.disabled.active,
-.btn-default[disabled].active,
-fieldset[disabled] .btn-default.active {
- background-color: #a7a9aa;
- border-color: #a7a9aa;
-}
-
-.label {
- padding-top: 0.3em;
-}
\ No newline at end of file
diff --git a/website/doctype/__init__.py b/website/doctype/__init__.py
deleted file mode 100644
index baffc48825..0000000000
--- a/website/doctype/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/website/doctype/about_us_settings/README.md b/website/doctype/about_us_settings/README.md
deleted file mode 100644
index 977a7a35e4..0000000000
--- a/website/doctype/about_us_settings/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Configuration for "About" page in the website that shows company, history and team.
\ No newline at end of file
diff --git a/website/doctype/about_us_settings/about_us_settings.py b/website/doctype/about_us_settings/about_us_settings.py
deleted file mode 100644
index 139abc20c1..0000000000
--- a/website/doctype/about_us_settings/about_us_settings.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
-
- def on_update(self):
- from webnotes.webutils import clear_cache
- clear_cache("about")
-
-def get_args():
- obj = webnotes.get_obj("About Us Settings")
- return {
- "obj": obj
- }
\ No newline at end of file
diff --git a/website/doctype/about_us_settings/about_us_settings.txt b/website/doctype/about_us_settings/about_us_settings.txt
deleted file mode 100644
index 0e34d67083..0000000000
--- a/website/doctype/about_us_settings/about_us_settings.txt
+++ /dev/null
@@ -1,110 +0,0 @@
-[
- {
- "creation": "2013-03-19 12:02:15",
- "docstatus": 0,
- "modified": "2013-07-05 14:23:27",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "allow_attach": 1,
- "description": "Settings for the About Us Page",
- "doctype": "DocType",
- "document_type": "Other",
- "icon": "icon-group",
- "issingle": 1,
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "About Us Settings",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0,
- "read_only": 0
- },
- {
- "create": 1,
- "doctype": "DocPerm",
- "name": "__common__",
- "parent": "About Us Settings",
- "parentfield": "permissions",
- "parenttype": "DocType",
- "permlevel": 0,
- "read": 1,
- "report": 0,
- "role": "Website Manager",
- "submit": 0,
- "write": 1
- },
- {
- "doctype": "DocType",
- "name": "About Us Settings"
- },
- {
- "doctype": "DocField",
- "fieldname": "help",
- "fieldtype": "HTML",
- "label": "Help",
- "options": "
Link for About Us Page is \"/about\"
"
- },
- {
- "description": "Introduce your company to the website visitor.",
- "doctype": "DocField",
- "fieldname": "company_introduction",
- "fieldtype": "Text Editor",
- "label": "Company Introduction"
- },
- {
- "doctype": "DocField",
- "fieldname": "sb0",
- "fieldtype": "Section Break",
- "label": "Company History"
- },
- {
- "description": "\"Company History\"",
- "doctype": "DocField",
- "fieldname": "company_history_heading",
- "fieldtype": "Data",
- "label": "Company History Heading"
- },
- {
- "doctype": "DocField",
- "fieldname": "company_history",
- "fieldtype": "Table",
- "label": "Company History",
- "options": "Company History"
- },
- {
- "doctype": "DocField",
- "fieldname": "sb1",
- "fieldtype": "Section Break",
- "label": "Team Members"
- },
- {
- "description": "\"Team Members\" or \"Management\"",
- "doctype": "DocField",
- "fieldname": "team_members_heading",
- "fieldtype": "Data",
- "label": "Team Members Heading"
- },
- {
- "doctype": "DocField",
- "fieldname": "team_members",
- "fieldtype": "Table",
- "label": "Team Members",
- "options": "About Us Team Member"
- },
- {
- "description": "More content for the bottom of the page.",
- "doctype": "DocField",
- "fieldname": "footer",
- "fieldtype": "Text Editor",
- "label": "Footer"
- },
- {
- "doctype": "DocPerm"
- }
-]
\ No newline at end of file
diff --git a/website/doctype/about_us_team_member/README.md b/website/doctype/about_us_team_member/README.md
deleted file mode 100644
index 98b794f8d4..0000000000
--- a/website/doctype/about_us_team_member/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Details of team member for About Us page.
\ No newline at end of file
diff --git a/website/doctype/about_us_team_member/about_us_team_member.txt b/website/doctype/about_us_team_member/about_us_team_member.txt
deleted file mode 100644
index c5e6d164e9..0000000000
--- a/website/doctype/about_us_team_member/about_us_team_member.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-[
- {
- "creation": "2013-03-07 11:55:11",
- "docstatus": 0,
- "modified": "2013-07-10 14:54:03",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "DocType",
- "istable": 1,
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "in_list_view": 1,
- "name": "__common__",
- "parent": "About Us Team Member",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocType",
- "name": "About Us Team Member"
- },
- {
- "doctype": "DocField",
- "fieldname": "full_name",
- "fieldtype": "Data",
- "label": "Full Name",
- "reqd": 1,
- "width": "150px"
- },
- {
- "doctype": "DocField",
- "fieldname": "image_link",
- "fieldtype": "Select",
- "label": "Image Link",
- "options": "attach_files:",
- "width": "150px"
- },
- {
- "doctype": "DocField",
- "fieldname": "bio",
- "fieldtype": "Small Text",
- "label": "Bio",
- "reqd": 1,
- "width": "200px"
- }
-]
\ No newline at end of file
diff --git a/website/doctype/blog_category/README.md b/website/doctype/blog_category/README.md
deleted file mode 100644
index af14b5dc14..0000000000
--- a/website/doctype/blog_category/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Blog category.
\ No newline at end of file
diff --git a/website/doctype/blog_category/blog_category.py b/website/doctype/blog_category/blog_category.py
deleted file mode 100644
index 7d99e2a968..0000000000
--- a/website/doctype/blog_category/blog_category.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
-
- def on_update(self):
- # for blog footer
- from webnotes.webutils import clear_cache
- clear_cache()
-
\ No newline at end of file
diff --git a/website/doctype/blog_category/blog_category.txt b/website/doctype/blog_category/blog_category.txt
deleted file mode 100644
index b986c441a5..0000000000
--- a/website/doctype/blog_category/blog_category.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-[
- {
- "creation": "2013-03-08 09:41:11",
- "docstatus": 0,
- "modified": "2013-07-05 14:27:02",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "autoname": "field:category_name",
- "doctype": "DocType",
- "document_type": "Master",
- "icon": "icon-tag",
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "fieldname": "category_name",
- "fieldtype": "Data",
- "label": "Category Name",
- "name": "__common__",
- "parent": "Blog Category",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0,
- "reqd": 1
- },
- {
- "doctype": "DocPerm",
- "name": "__common__",
- "parent": "Blog Category",
- "parentfield": "permissions",
- "parenttype": "DocType",
- "permlevel": 0,
- "read": 1
- },
- {
- "doctype": "DocType",
- "name": "Blog Category"
- },
- {
- "doctype": "DocField"
- },
- {
- "cancel": 1,
- "create": 1,
- "doctype": "DocPerm",
- "role": "Website Manager",
- "write": 1
- },
- {
- "doctype": "DocPerm",
- "role": "Blogger"
- }
-]
\ No newline at end of file
diff --git a/website/doctype/blog_post/README.md b/website/doctype/blog_post/README.md
deleted file mode 100644
index 63d3c0f31e..0000000000
--- a/website/doctype/blog_post/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Blog post for "Blogs" section of website.
\ No newline at end of file
diff --git a/website/doctype/blog_post/blog_post.js b/website/doctype/blog_post/blog_post.js
deleted file mode 100644
index af4dcc9677..0000000000
--- a/website/doctype/blog_post/blog_post.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-// License: GNU General Public License v3. See license.txt
-
-cur_frm.cscript.refresh = function(doc) {
- if(!doc.__islocal && doc.published && !doc.email_sent) {
- cur_frm.add_custom_button('Email Subscribers', function() {
- $c_obj(make_doclist(doc.doctype, doc.name), 'send_emails', '', function(r) {
- cur_frm.refresh();
- });
- })
- }
-}
\ No newline at end of file
diff --git a/website/doctype/blog_post/blog_post.py b/website/doctype/blog_post/blog_post.py
deleted file mode 100644
index 48b32069d8..0000000000
--- a/website/doctype/blog_post/blog_post.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-
-import webnotes
-import webnotes.webutils
-from webnotes import _
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
-
- def autoname(self):
- from webnotes.webutils import page_name
- self.doc.name = page_name(self.doc.title)
-
- def validate(self):
- if self.doc.blog_intro:
- self.doc.blog_intro = self.doc.blog_intro[:140]
-
- # update posts
- webnotes.conn.sql("""update tabBlogger set posts=(select count(*) from `tabBlog Post`
- where ifnull(blogger,'')=tabBlogger.name)
- where name=%s""", self.doc.blogger)
-
- def on_update(self):
- webnotes.webutils.update_page_name(self.doc, self.doc.title)
- webnotes.webutils.delete_page_cache("writers")
-
- def prepare_template_args(self):
- import webnotes.utils
- import markdown2
-
- # this is for double precaution. usually it wont reach this code if not published
- if not webnotes.utils.cint(self.doc.published):
- raise Exception, "This blog has not been published yet!"
-
- # temp fields
- from webnotes.utils import global_date_format, get_fullname
- self.doc.full_name = get_fullname(self.doc.owner)
- self.doc.updated = global_date_format(self.doc.published_on)
- self.doc.content_html = self.doc.content
-
- if self.doc.blogger:
- self.doc.blogger_info = webnotes.doc("Blogger", self.doc.blogger).fields
-
- self.doc.description = self.doc.blog_intro or self.doc.content[:140]
- self.doc.meta_description = self.doc.description
-
- self.doc.categories = webnotes.conn.sql_list("select name from `tabBlog Category` order by name")
-
- self.doc.texts = {
- "comments": _("Comments"),
- "first_comment": _("Be the first one to comment"),
- "add_comment": _("Add Comment"),
- "submit": _("Submit"),
- "all_posts_by": _("All posts by"),
- }
-
- comment_list = webnotes.conn.sql("""\
- select comment, comment_by_fullname, creation
- from `tabComment` where comment_doctype="Blog Post"
- and comment_docname=%s order by creation""", self.doc.name, as_dict=1)
-
- self.doc.comment_list = comment_list or []
- for comment in self.doc.comment_list:
- comment['comment_date'] = webnotes.utils.global_date_format(comment['creation'])
- comment['comment'] = markdown2.markdown(comment['comment'])
diff --git a/website/doctype/blog_post/blog_post.txt b/website/doctype/blog_post/blog_post.txt
deleted file mode 100644
index 79c1aee94f..0000000000
--- a/website/doctype/blog_post/blog_post.txt
+++ /dev/null
@@ -1,135 +0,0 @@
-[
- {
- "creation": "2013-03-28 10:35:30",
- "docstatus": 0,
- "modified": "2013-07-05 15:08:30",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "allow_attach": 1,
- "allow_import": 1,
- "doctype": "DocType",
- "icon": "icon-quote-left",
- "max_attachments": 5,
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "Blog Post",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocPerm",
- "name": "__common__",
- "parent": "Blog Post",
- "parentfield": "permissions",
- "parenttype": "DocType",
- "permlevel": 0,
- "read": 1,
- "report": 1,
- "submit": 0
- },
- {
- "doctype": "DocType",
- "name": "Blog Post"
- },
- {
- "doctype": "DocField",
- "fieldname": "title",
- "fieldtype": "Data",
- "label": "Title",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "published",
- "fieldtype": "Check",
- "label": "Published"
- },
- {
- "doctype": "DocField",
- "fieldname": "published_on",
- "fieldtype": "Date",
- "label": "Published On"
- },
- {
- "doctype": "DocField",
- "fieldname": "column_break_3",
- "fieldtype": "Column Break"
- },
- {
- "doctype": "DocField",
- "fieldname": "blogger",
- "fieldtype": "Link",
- "in_list_view": 1,
- "label": "Blogger",
- "options": "Blogger",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "blog_category",
- "fieldtype": "Link",
- "in_list_view": 1,
- "label": "Blog Category",
- "options": "Blog Category"
- },
- {
- "doctype": "DocField",
- "fieldname": "section_break_5",
- "fieldtype": "Section Break"
- },
- {
- "description": "Description for listing page, in plain text, only a couple of lines. (max 140 characters)",
- "doctype": "DocField",
- "fieldname": "blog_intro",
- "fieldtype": "Small Text",
- "in_list_view": 1,
- "label": "Blog Intro",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "content",
- "fieldtype": "Text Editor",
- "label": "Content",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "page_name",
- "fieldtype": "Data",
- "hidden": 1,
- "label": "Page Name",
- "read_only": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "email_sent",
- "fieldtype": "Check",
- "hidden": 1,
- "label": "Email Sent"
- },
- {
- "create": 1,
- "doctype": "DocPerm",
- "role": "Website Manager",
- "write": 1
- },
- {
- "create": 1,
- "doctype": "DocPerm",
- "role": "Blogger",
- "write": 1
- },
- {
- "doctype": "DocPerm",
- "role": "Guest",
- "write": 0
- }
-]
\ No newline at end of file
diff --git a/website/doctype/blog_settings/README.md b/website/doctype/blog_settings/README.md
deleted file mode 100644
index 0a76d4e261..0000000000
--- a/website/doctype/blog_settings/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Blog titles and introduction texts.
\ No newline at end of file
diff --git a/website/doctype/blog_settings/blog_settings.py b/website/doctype/blog_settings/blog_settings.py
deleted file mode 100644
index 784339de7d..0000000000
--- a/website/doctype/blog_settings/blog_settings.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/website/doctype/blog_settings/blog_settings.txt b/website/doctype/blog_settings/blog_settings.txt
deleted file mode 100644
index 27fa5630dd..0000000000
--- a/website/doctype/blog_settings/blog_settings.txt
+++ /dev/null
@@ -1,62 +0,0 @@
-[
- {
- "creation": "2013-03-11 17:48:16",
- "docstatus": 0,
- "modified": "2013-07-05 14:27:31",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "description": "Blog Settings",
- "doctype": "DocType",
- "icon": "icon-cog",
- "issingle": 1,
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "Blog Settings",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "create": 1,
- "doctype": "DocPerm",
- "name": "__common__",
- "parent": "Blog Settings",
- "parentfield": "permissions",
- "parenttype": "DocType",
- "permlevel": 0,
- "read": 1,
- "role": "Website Manager",
- "write": 1
- },
- {
- "doctype": "DocType",
- "name": "Blog Settings"
- },
- {
- "doctype": "DocField",
- "fieldname": "blog_title",
- "fieldtype": "Data",
- "label": "Blog Title"
- },
- {
- "doctype": "DocField",
- "fieldname": "blog_introduction",
- "fieldtype": "Small Text",
- "label": "Blog Introduction"
- },
- {
- "doctype": "DocField",
- "fieldname": "writers_introduction",
- "fieldtype": "Small Text",
- "label": "Writers Introduction"
- },
- {
- "doctype": "DocPerm"
- }
-]
\ No newline at end of file
diff --git a/website/doctype/blogger/README.md b/website/doctype/blogger/README.md
deleted file mode 100644
index 13ddecda70..0000000000
--- a/website/doctype/blogger/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Profile of blog writer in "Blog" section.
\ No newline at end of file
diff --git a/website/doctype/blogger/blogger.py b/website/doctype/blogger/blogger.py
deleted file mode 100644
index 9cb4a44448..0000000000
--- a/website/doctype/blogger/blogger.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import webnotes
-from webnotes import _
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
-
- def on_update(self):
- "if profile is set, then update all older blogs"
-
- from website.helpers.blog import clear_blog_cache
- clear_blog_cache()
-
- if self.doc.profile:
- for blog in webnotes.conn.sql_list("""select name from `tabBlog Post` where owner=%s
- and ifnull(blogger,'')=''""", self.doc.profile):
- b = webnotes.bean("Blog Post", blog)
- b.doc.blogger = self.doc.name
- b.save()
-
-def get_writers_args():
- bloggers = webnotes.conn.sql("""select * from `tabBlogger`
- where ifnull(posts,0) > 0 and ifnull(disabled,0)=0
- order by posts desc""", as_dict=1)
-
- args = {
- "bloggers": bloggers,
- "texts": {
- "all_posts_by": _("All posts by")
- },
- "categories": webnotes.conn.sql_list("select name from `tabBlog Category` order by name")
- }
-
- args.update(webnotes.doc("Blog Settings", "Blog Settings").fields)
- return args
\ No newline at end of file
diff --git a/website/doctype/blogger/blogger.txt b/website/doctype/blogger/blogger.txt
deleted file mode 100644
index 1486c01247..0000000000
--- a/website/doctype/blogger/blogger.txt
+++ /dev/null
@@ -1,102 +0,0 @@
-[
- {
- "creation": "2013-03-25 16:00:51",
- "docstatus": 0,
- "modified": "2013-08-30 16:35:24",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "allow_attach": 1,
- "autoname": "field:short_name",
- "description": "Profile of a Blogger",
- "doctype": "DocType",
- "document_type": "Master",
- "icon": "icon-user",
- "max_attachments": 1,
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "Blogger",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocPerm",
- "name": "__common__",
- "parent": "Blogger",
- "parentfield": "permissions",
- "parenttype": "DocType",
- "permlevel": 0,
- "read": 1,
- "write": 1
- },
- {
- "doctype": "DocType",
- "name": "Blogger"
- },
- {
- "doctype": "DocField",
- "fieldname": "disabled",
- "fieldtype": "Check",
- "label": "Disabled"
- },
- {
- "description": "Will be used in url (usually first name).",
- "doctype": "DocField",
- "fieldname": "short_name",
- "fieldtype": "Data",
- "label": "Short Name",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "full_name",
- "fieldtype": "Data",
- "in_list_view": 1,
- "label": "Full Name",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "profile",
- "fieldtype": "Link",
- "label": "Profile",
- "options": "Profile"
- },
- {
- "doctype": "DocField",
- "fieldname": "bio",
- "fieldtype": "Small Text",
- "label": "Bio"
- },
- {
- "doctype": "DocField",
- "fieldname": "avatar",
- "fieldtype": "Select",
- "label": "Avatar",
- "options": "attach_files:"
- },
- {
- "doctype": "DocField",
- "fieldname": "posts",
- "fieldtype": "Int",
- "in_list_view": 1,
- "label": "Posts",
- "read_only": 1
- },
- {
- "create": 1,
- "doctype": "DocPerm",
- "role": "Website Manager"
- },
- {
- "doctype": "DocPerm",
- "match": "owner:profile",
- "role": "Blogger"
- }
-]
\ No newline at end of file
diff --git a/website/doctype/company_history/README.md b/website/doctype/company_history/README.md
deleted file mode 100644
index 482c8d33d5..0000000000
--- a/website/doctype/company_history/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Company history detail for "About Us" section.
\ No newline at end of file
diff --git a/website/doctype/company_history/company_history.txt b/website/doctype/company_history/company_history.txt
deleted file mode 100644
index c0f230c347..0000000000
--- a/website/doctype/company_history/company_history.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-[
- {
- "creation": "2013-02-22 01:28:08",
- "docstatus": 0,
- "modified": "2013-07-10 14:54:06",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "DocType",
- "istable": 1,
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "in_list_view": 1,
- "name": "__common__",
- "parent": "Company History",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocType",
- "name": "Company History"
- },
- {
- "doctype": "DocField",
- "fieldname": "year",
- "fieldtype": "Data",
- "label": "Year"
- },
- {
- "doctype": "DocField",
- "fieldname": "highlight",
- "fieldtype": "Text",
- "label": "Highlight",
- "print_width": "300px",
- "width": "300px"
- }
-]
\ No newline at end of file
diff --git a/website/doctype/contact_us_settings/README.md b/website/doctype/contact_us_settings/README.md
deleted file mode 100644
index 61f589f796..0000000000
--- a/website/doctype/contact_us_settings/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Settings, introduction for "Contact Us" section.
\ No newline at end of file
diff --git a/website/doctype/contact_us_settings/contact_us_settings.py b/website/doctype/contact_us_settings/contact_us_settings.py
deleted file mode 100644
index 37df106b0b..0000000000
--- a/website/doctype/contact_us_settings/contact_us_settings.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
-
- def onload(self):
- """load address"""
- if self.doc.query_options:
- self.query_options = filter(None, self.doc.query_options.replace(",", "\n").split())
- else:
- self.query_options = ["Sales", "Support", "General"]
- if self.doc.address:
- self.address = webnotes.bean("Address", self.doc.address).doc
-
- def on_update(self):
- from webnotes.webutils import clear_cache
- clear_cache("contact")
\ No newline at end of file
diff --git a/website/doctype/contact_us_settings/contact_us_settings.txt b/website/doctype/contact_us_settings/contact_us_settings.txt
deleted file mode 100644
index 21db27efce..0000000000
--- a/website/doctype/contact_us_settings/contact_us_settings.txt
+++ /dev/null
@@ -1,82 +0,0 @@
-[
- {
- "creation": "2013-02-21 20:12:42",
- "docstatus": 0,
- "modified": "2013-07-05 14:32:24",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "description": "Settings for Contact Us Page",
- "doctype": "DocType",
- "icon": "icon-cog",
- "issingle": 1,
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "Contact Us Settings",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "create": 1,
- "doctype": "DocPerm",
- "name": "__common__",
- "parent": "Contact Us Settings",
- "parentfield": "permissions",
- "parenttype": "DocType",
- "permlevel": 0,
- "read": 1,
- "report": 0,
- "role": "Website Manager",
- "submit": 0,
- "write": 1
- },
- {
- "doctype": "DocType",
- "name": "Contact Us Settings"
- },
- {
- "doctype": "DocField",
- "fieldname": "help",
- "fieldtype": "HTML",
- "label": "Help",
- "options": "
Link for Contact Page is \"/contact\"
"
- },
- {
- "description": "Address to be displayed on the Contact Page",
- "doctype": "DocField",
- "fieldname": "address",
- "fieldtype": "Link",
- "label": "Address",
- "options": "Address"
- },
- {
- "description": "Default: \"Contact Us\"",
- "doctype": "DocField",
- "fieldname": "heading",
- "fieldtype": "Data",
- "label": "Heading"
- },
- {
- "description": "Introductory information for the Contact Us Page",
- "doctype": "DocField",
- "fieldname": "introduction",
- "fieldtype": "Text Editor",
- "label": "Introduction"
- },
- {
- "description": "Contact options, like \"Sales Query, Support Query\" etc each on a new line or separated by commas.",
- "doctype": "DocField",
- "fieldname": "query_options",
- "fieldtype": "Small Text",
- "label": "Query Options"
- },
- {
- "doctype": "DocPerm"
- }
-]
\ No newline at end of file
diff --git a/website/doctype/style_settings/README.md b/website/doctype/style_settings/README.md
deleted file mode 100644
index de9d0cd57f..0000000000
--- a/website/doctype/style_settings/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-Style settings for website. Includes settings for:
-
-- Site colours (background, toolbars)
-- Fonts (family and size)
-- Background (image if any)
-- Custom CSS
\ No newline at end of file
diff --git a/website/doctype/style_settings/__init__.py b/website/doctype/style_settings/__init__.py
deleted file mode 100644
index baffc48825..0000000000
--- a/website/doctype/style_settings/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/website/doctype/style_settings/custom_template.css b/website/doctype/style_settings/custom_template.css
deleted file mode 100644
index 7abdb4b89f..0000000000
--- a/website/doctype/style_settings/custom_template.css
+++ /dev/null
@@ -1,235 +0,0 @@
-{% if doc.at_import %}
-{{ doc.at_import }}
-{% endif %}
-
-body {
-{% if doc.background_image %}
- background: url("../{{ doc.background_image }}") repeat;
-{% elif doc.background_color %}
- background-color: #{{ doc.background_color }};
- background-image: none;
-{% else %}
- background-color: #ffffff;
-{% endif %}
-{% if doc.font or doc.google_web_font_for_text %}
- font-family: '{{ doc.google_web_font_for_text or doc.font }}', 'Helvetica Neue', Arial, Sans !important;
-{% endif %}
- {% if doc.font_size %}font-size: {{ doc.font_size }} !important;{% endif %}
- {% if doc.page_text %}color: #{{ doc.page_text }};{% endif %}
-}
-
-{% if doc.page_links %}a, a:hover {
- color: #{{ doc.page_links }};
-}{% endif %}
-
-{% if doc.font_size %}
-.small {
- font-size: {{ doc.small_font_size }} !important;
-}
-{% endif %}
-
-div.outer {
- background-color: #{{ doc.page_background }};
-}
-
-{% if doc.google_web_font_for_heading or doc.heading_font %}h1, h2, h3, h4, h5 {
- font-family: '{{ doc.google_web_font_for_heading or doc.heading_font }}', 'Helvetica Neue', Arial !important;
-}{% endif %}
-
-{% if doc.heading_text_style %}h1, h2, h3, h4, h5 {
- text-transform: {{ doc.heading_text_style }};
-}{% endif %}
-
-{% if doc.page_headings %}h1, h2, h3, h4, h5 {
- color: #{{ doc.page_headings }};
-}{% endif %}
-
-{% if doc.page_border %}
-/* Page Border*/
-div.outer {
- box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
- -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
- -webkibox-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
-}
-{% else %}
-{% if doc.background_color.lower() == doc.page_background.lower() %}
-div.web-footer {
- border-top: 1px solid #{{ get_hex_shade(doc.page_background, 15) }};
- padding-top: 10px;
-}
-{% endif %}
-{% endif %}
-
-div.web-footer, div.web-footer a {
- font-size: 90%;
- color: #{{ get_hex_shade(doc.background_color, 70) }};
-}
-
-/* Bootstrap Navbar */
-.navbar-default {
- border: 0px;
-}
-
-.navbar {
- box-shadow: none;
- border-radius: 0px;
- background-color: #{{ doc.top_bar_background}};
- background-repeat: repeat-x;
- background-image: none;
- border-bottom: 1px solid {% if doc.top_bar_background.lower() == doc.page_background.lower() -%}
- #{{ get_hex_shade(doc.page_background, 15) }};
- {%- else -%}
- transparent;
- {%- endif %}
-}
-
-.navbar .navbar-brand,
-.navbar .navbar-brand:hover,
-.navbar .navbar-brand:focus,
-.navbar .nav > li > a {
- color: #{{ doc.top_bar_foreground }};
- text-shadow: none;
-}
-
-.navbar .nav > li > a:hover,
-.navbar .nav > li > a:focus {
- color: #{{ doc.top_bar_foreground }};
- background-color: transparent;
-}
-
-.navbar .navbar-text {
- color: #999999;
-}
-
-.navbar .nav .active > a,
-.navbar .nav .active > a:hover,
-.navbar .nav .active > a:focus {
- color: #{{ doc.top_bar_foreground }};
- background-color: transparent;
-}
-
-.navbar .navbar-link {
- color: #444444;
-}
-
-.navbar .navbar-link:hover,
-.navbar .navbar-link:focus {
- color: #{{ doc.top_bar_foreground}};
-}
-
-.navbar-fixed-top,
-.navbar-static-top {
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
-
-}
-.navbar .nav > .active > a,
-.navbar .nav > .active > a:hover,
-.navbar .nav > .active > a:focus {
- color: #424242;
- text-decoration: none;
- background-color: transparent;
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
-}
-
-.navbar .nav li.dropdown > .dropdown-toggle .caret,
-.navbar .nav li.dropdown > .dropdown-toggle:hover .caret {
- border-top-color: #{{ doc.top_bar_foreground}};
- border-bottom-color: #{{ doc.top_bar_foreground}};
-}
-
-.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
-.navbar .nav li.dropdown.open > .dropdown-toggle:hover .caret {
- border-top-color: #{{ doc.top_bar_background}};
- border-bottom-color: #{{ doc.top_bar_background}};
-}
-
-.navbar .nav li.dropdown.open > .dropdown-toggle {
- color: #{{ doc.top_bar_background}};
- background-color: #{{ doc.top_bar_foreground}};
-}
-
-@media (max-width: 800px) {
- .navbar .nav-collapse .nav > li > a,
- .navbar .nav-collapse .dropdown-menu a {
- background-color: #{{ doc.top_bar_background}};
- color: #{{ doc.top_bar_foreground}};
- }
- .navbar .nav-collapse .nav > li > a:hover,
- .navbar .nav-collapse .dropdown-menu a:hover {
- background-color: #{{ doc.top_bar_foreground}};
- color: #{{ doc.top_bar_background}};
- }
-
- .navbar .nav li.dropdown > .dropdown-toggle .caret {
- border-top-color: #{{ doc.top_bar_foreground }};
- border-bottom-color: #{{ doc.top_bar_foreground }};
- }
-
- .navbar .nav li.dropdown > .dropdown-toggle:hover .caret {
- border-top-color: #{{ doc.top_bar_foreground }};
- border-bottom-color: #{{ doc.top_bar_foreground }};
- }
-
- .navbar .nav li.dropdown.open > .dropdown-toggle .caret,
- .navbar .nav li.dropdown.open > .dropdown-toggle:hover .caret {
- border-top-color: #{{ doc.top_bar_background }};
- border-bottom-color: #{{ doc.top_bar_background }};
- }
-
-}
-
-.navbar-default .navbar-toggle .icon-bar {
- background-color: #{{ doc.top_bar_foreground }};
-}
-
-.breadcrumb {
- background-color: #{{ get_hex_shade(doc.page_background, 5) }};
-}
-
-.breadcrumb > li {
- text-shadow: none;
-}
-
-
-.table-striped tbody > tr:nth-child(odd) > td,
-.table-striped tbody > tr:nth-child(odd) > th {
- background-color: #{{ get_hex_shade(doc.page_background, 5) }};
-}
-
-.table-hover tbody tr:hover td,
-.table-hover tbody tr:hover th {
- background-color: #{{ get_hex_shade(doc.page_background, 10) }};
-}
-
-.table-bordered {
- border: 1px solid #{{ get_hex_shade(doc.page_background, 15) }};
-}
-
-.table th,
-.table td {
- border-top: 1px solid #{{ get_hex_shade(doc.page_background, 15) }};
-}
-
-.table-bordered th,
-.table-bordered td {
- border-left: 1px solid #{{ get_hex_shade(doc.page_background, 15) }};
-}
-
-
-
-.hero-unit {
- background-color: #{{ get_hex_shade(doc.page_background, 15) }};
-}
-
-pre, code {
- background-color: #{{ get_hex_shade(doc.page_background, 5) }};
-}
-
-hr {
- border-top: 1px solid #{{ get_hex_shade(doc.page_background, 15) }};
- border-bottom: 1px solid #{{ get_hex_shade(doc.page_background, 5) }};
-}
diff --git a/website/doctype/style_settings/style_settings.js b/website/doctype/style_settings/style_settings.js
deleted file mode 100644
index f94246d22c..0000000000
--- a/website/doctype/style_settings/style_settings.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-// License: GNU General Public License v3. See license.txt
-
-
-cur_frm.cscript.onload_post_render = function() {
- wn.require('lib/public/js/lib/jscolor/jscolor.js');
- $.each(["background_color", "page_background", "page_text", "page_links",
- "top_bar_background", "top_bar_foreground", "page_headings"], function(i, v) {
- $(cur_frm.fields_dict[v].input).addClass('color');
- })
- jscolor.bind();
-}
\ No newline at end of file
diff --git a/website/doctype/style_settings/style_settings.py b/website/doctype/style_settings/style_settings.py
deleted file mode 100644
index 7efe86117b..0000000000
--- a/website/doctype/style_settings/style_settings.py
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import webnotes
-
-from webnotes.utils import cint, cstr
-from webnotes import _
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
-
- def validate(self):
- """make custom css"""
- from jinja2 import Template
- from webnotes.webutils import get_hex_shade
- import os
-
- default_colours = {
- "background_color": "FFFFFF",
- "page_background": "FFFFFF",
- "top_bar_background": "FFFFFF",
- "top_bar_foreground": "444444",
- "page_headings": "222222",
- "page_text": "000000"
- }
-
- for d in default_colours:
- if not self.doc.fields.get(d):
- self.doc.fields[d] = default_colours[d]
-
- self.validate_colors()
-
- with open(os.path.join(
- os.path.dirname(os.path.abspath(__file__)),
- 'custom_template.css'), 'r') as f:
- temp = Template(f.read())
-
- self.prepare()
-
- self.doc.custom_css = temp.render(doc = self.doc, get_hex_shade=get_hex_shade)
- if self.doc.add_css:
- self.doc.custom_css += '\n\n/* User CSS */\n\n' + self.doc.add_css
-
- from webnotes.sessions import clear_cache
- clear_cache('Guest')
-
- from webnotes.webutils import clear_cache
- clear_cache()
-
- for f in ["small_font_size", "at_import", "heading_text_style"]:
- if f in self.doc.fields:
- del self.doc.fields[f]
-
- def validate_colors(self):
- if (self.doc.page_background or self.doc.page_text) and \
- self.doc.page_background==self.doc.page_text:
- webnotes.msgprint(_("Page text and background is same color. Please change."),
- raise_exception=1)
-
- if (self.doc.top_bar_background or self.doc.top_bar_foreground) and \
- self.doc.top_bar_background==self.doc.top_bar_foreground:
- webnotes.msgprint(_("Top Bar text and background is same color. Please change."),
- raise_exception=1)
-
-
- def prepare(self):
- if not self.doc.font_size:
- self.doc.font_size = '13px'
-
- self.doc.small_font_size = cstr(cint(self.doc.font_size[:-2])-2) + 'px'
- self.doc.page_border = cint(self.doc.page_border)
-
- fonts = []
- if self.doc.google_web_font_for_heading:
- fonts.append(self.doc.google_web_font_for_heading)
- if self.doc.google_web_font_for_text:
- fonts.append(self.doc.google_web_font_for_text)
-
- fonts = list(set(fonts))
-
- if self.doc.heading_text_as:
- self.doc.heading_text_style = {
- "UPPERCASE": "uppercase",
- "Title Case":"capitalize",
- "lowercase": "lowercase"
- }.get(self.doc.heading_text_as) or ""
-
- self.doc.at_import = ""
- for f in fonts:
- self.doc.at_import += "\n@import url(https://fonts.googleapis.com/css?family=%s:400,700);" % f.replace(" ", "+")
-
-
- def on_update(self):
- """rebuild pages"""
- from website.helpers.make_web_include_files import make
- make()
\ No newline at end of file
diff --git a/website/doctype/style_settings/style_settings.txt b/website/doctype/style_settings/style_settings.txt
deleted file mode 100644
index 7119d2c250..0000000000
--- a/website/doctype/style_settings/style_settings.txt
+++ /dev/null
@@ -1,201 +0,0 @@
-[
- {
- "creation": "2013-03-25 16:01:33",
- "docstatus": 0,
- "modified": "2013-07-05 14:57:01",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "allow_attach": 1,
- "description": "Set your background color, font and image (tiled)",
- "doctype": "DocType",
- "icon": "icon-cog",
- "issingle": 1,
- "max_attachments": 1,
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "Style Settings",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocPerm",
- "name": "__common__",
- "parent": "Style Settings",
- "parentfield": "permissions",
- "parenttype": "DocType",
- "read": 1,
- "report": 0,
- "role": "Website Manager",
- "submit": 0
- },
- {
- "doctype": "DocType",
- "name": "Style Settings"
- },
- {
- "doctype": "DocField",
- "fieldname": "color",
- "fieldtype": "Section Break",
- "label": "Color"
- },
- {
- "description": "If image is selected, color will be ignored (attach first)",
- "doctype": "DocField",
- "fieldname": "background_image",
- "fieldtype": "Select",
- "label": "Background Image",
- "options": "attach_files:"
- },
- {
- "description": "Solid background color (default light gray)",
- "doctype": "DocField",
- "fieldname": "background_color",
- "fieldtype": "Data",
- "label": "Background Color"
- },
- {
- "doctype": "DocField",
- "fieldname": "page_background",
- "fieldtype": "Data",
- "label": "Page Background"
- },
- {
- "doctype": "DocField",
- "fieldname": "page_border",
- "fieldtype": "Check",
- "label": "Page Border"
- },
- {
- "doctype": "DocField",
- "fieldname": "page_headings",
- "fieldtype": "Data",
- "label": "Page Headings"
- },
- {
- "doctype": "DocField",
- "fieldname": "page_text",
- "fieldtype": "Data",
- "label": "Page Text"
- },
- {
- "doctype": "DocField",
- "fieldname": "page_links",
- "fieldtype": "Data",
- "label": "Page Links"
- },
- {
- "doctype": "DocField",
- "fieldname": "cb0",
- "fieldtype": "Column Break",
- "label": "Top Bar",
- "print_width": "50%",
- "width": "50%"
- },
- {
- "doctype": "DocField",
- "fieldname": "top_bar_background",
- "fieldtype": "Data",
- "label": "Top Bar Background"
- },
- {
- "description": "000 is black, fff is white",
- "doctype": "DocField",
- "fieldname": "top_bar_foreground",
- "fieldtype": "Data",
- "label": "Top Bar Text"
- },
- {
- "doctype": "DocField",
- "fieldname": "fonts",
- "fieldtype": "Section Break",
- "label": "Fonts"
- },
- {
- "doctype": "DocField",
- "fieldname": "heading_font",
- "fieldtype": "Select",
- "label": "Font (Heading)",
- "options": "\nHelvetica Neue\nLucida Grande\nVerdana\nArial\nGeorgia\nTahoma\nLato\nOpen Sans"
- },
- {
- "doctype": "DocField",
- "fieldname": "font",
- "fieldtype": "Select",
- "label": "Font (Text)",
- "options": "\nHelvetica Neue\nLucida Grande\nVerdana\nArial\nGeorgia\nTahoma"
- },
- {
- "doctype": "DocField",
- "fieldname": "font_size",
- "fieldtype": "Select",
- "label": "Font Size (Text)",
- "options": "\n12px\n13px\n14px\n15px\n16px"
- },
- {
- "doctype": "DocField",
- "fieldname": "heading_text_as",
- "fieldtype": "Select",
- "label": "Heading Text As",
- "options": "\nUPPERCASE\nTitle Case\nlowercase"
- },
- {
- "doctype": "DocField",
- "fieldname": "column_break_13",
- "fieldtype": "Column Break"
- },
- {
- "description": "Add the name of
Google Web Font e.g. \"Open Sans\"",
- "doctype": "DocField",
- "fieldname": "google_web_font_for_heading",
- "fieldtype": "Data",
- "label": "Google Web Font (Heading)"
- },
- {
- "description": "Add the name of
Google Web Font e.g. \"Open Sans\"",
- "doctype": "DocField",
- "fieldname": "google_web_font_for_text",
- "fieldtype": "Data",
- "label": "Google Web Font (Text)"
- },
- {
- "doctype": "DocField",
- "fieldname": "css",
- "fieldtype": "Section Break",
- "label": "CSS"
- },
- {
- "description": "add your own CSS (careful!)",
- "doctype": "DocField",
- "fieldname": "add_css",
- "fieldtype": "Code",
- "label": "Add CSS"
- },
- {
- "description": "Auto generated",
- "doctype": "DocField",
- "fieldname": "custom_css",
- "fieldtype": "Code",
- "label": "Custom CSS",
- "read_only": 1
- },
- {
- "create": 1,
- "doctype": "DocPerm",
- "permlevel": 0,
- "write": 1
- },
- {
- "amend": 0,
- "cancel": 0,
- "create": 0,
- "doctype": "DocPerm",
- "permlevel": 1
- }
-]
\ No newline at end of file
diff --git a/website/doctype/top_bar_item/README.md b/website/doctype/top_bar_item/README.md
deleted file mode 100644
index 3300367c7d..0000000000
--- a/website/doctype/top_bar_item/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Link in the header or footer of the website.
\ No newline at end of file
diff --git a/website/doctype/top_bar_item/__init__.py b/website/doctype/top_bar_item/__init__.py
deleted file mode 100644
index baffc48825..0000000000
--- a/website/doctype/top_bar_item/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/website/doctype/top_bar_item/top_bar_item.txt b/website/doctype/top_bar_item/top_bar_item.txt
deleted file mode 100644
index 58d101e12a..0000000000
--- a/website/doctype/top_bar_item/top_bar_item.txt
+++ /dev/null
@@ -1,57 +0,0 @@
-[
- {
- "creation": "2013-02-22 01:28:08",
- "docstatus": 0,
- "modified": "2013-07-10 14:54:25",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "DocType",
- "istable": 1,
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "in_list_view": 1,
- "name": "__common__",
- "parent": "Top Bar Item",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocType",
- "name": "Top Bar Item"
- },
- {
- "doctype": "DocField",
- "fieldname": "label",
- "fieldtype": "Data",
- "label": "Label",
- "print_width": "120px",
- "width": "120px"
- },
- {
- "doctype": "DocField",
- "fieldname": "url",
- "fieldtype": "Data",
- "label": "URL",
- "print_width": "200px",
- "width": "200px"
- },
- {
- "doctype": "DocField",
- "fieldname": "target",
- "fieldtype": "Select",
- "label": "Target",
- "options": "\ntarget = \"_blank\""
- },
- {
- "doctype": "DocField",
- "fieldname": "parent_label",
- "fieldtype": "Select",
- "label": "Parent Label"
- }
-]
\ No newline at end of file
diff --git a/website/doctype/web_page/README.md b/website/doctype/web_page/README.md
deleted file mode 100644
index 1ef179b9e4..0000000000
--- a/website/doctype/web_page/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Static (HTML / JS / CSS) page created by the user for the website.
\ No newline at end of file
diff --git a/website/doctype/web_page/__init__.py b/website/doctype/web_page/__init__.py
deleted file mode 100644
index baffc48825..0000000000
--- a/website/doctype/web_page/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/website/doctype/web_page/web_page.js b/website/doctype/web_page/web_page.js
deleted file mode 100644
index 9e523607e6..0000000000
--- a/website/doctype/web_page/web_page.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-// License: GNU General Public License v3. See license.txt
-
-$.extend(cur_frm.cscript, {
- layout: function(doc) {
- if(!doc.__islocal) {
- if(doc.insert_code) {
- if(!doc.javascript) {
- cur_frm.set_value("javascript",
- 'wn.pages["'+doc.name+'"].onload = function(wrapper) { }');
- }
- }
- if(doc.insert_style) {
- if(!doc.css) {
- cur_frm.set_value("css", '#page-'+doc.name+' { }');
- }
- }
- }
- },
- refresh: function(doc) {
- cur_frm.cscript.layout(doc);
- },
- insert_style: function(doc) {
- cur_frm.cscript.layout(doc);
- },
- insert_code: function(doc) {
- cur_frm.cscript.layout(doc);
- }
-})
\ No newline at end of file
diff --git a/website/doctype/web_page/web_page.py b/website/doctype/web_page/web_page.py
deleted file mode 100644
index dbcd68e24e..0000000000
--- a/website/doctype/web_page/web_page.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType():
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
-
- def autoname(self):
- from webnotes.webutils import page_name
- self.doc.name = page_name(self.doc.title)
-
- def on_update(self):
- from webnotes.webutils import update_page_name
- update_page_name(self.doc, self.doc.title)
- self.if_home_clear_cache()
-
- def if_home_clear_cache(self):
- """if home page, clear cache"""
- if webnotes.conn.get_value("Website Settings", None, "home_page")==self.doc.name:
- from webnotes.sessions import clear_cache
- clear_cache('Guest')
-
- from webnotes.webutils import clear_cache
- clear_cache(self.doc.page_name)
- clear_cache('index')
-
- def prepare_template_args(self):
- if self.doc.slideshow:
- from website.helpers.slideshow import get_slideshow
- get_slideshow(self)
-
- self.doc.meta_description = self.doc.description
diff --git a/website/doctype/web_page/web_page.txt b/website/doctype/web_page/web_page.txt
deleted file mode 100644
index 34fa266928..0000000000
--- a/website/doctype/web_page/web_page.txt
+++ /dev/null
@@ -1,154 +0,0 @@
-[
- {
- "creation": "2013-03-28 10:35:30",
- "docstatus": 0,
- "modified": "2013-07-05 15:02:45",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "allow_attach": 1,
- "description": "Page to show on the website\n",
- "doctype": "DocType",
- "document_type": "Transaction",
- "icon": "icon-file-alt",
- "max_attachments": 20,
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "Web Page",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocPerm",
- "name": "__common__",
- "parent": "Web Page",
- "parentfield": "permissions",
- "parenttype": "DocType",
- "read": 1,
- "role": "Website Manager",
- "submit": 0
- },
- {
- "doctype": "DocType",
- "name": "Web Page"
- },
- {
- "description": "Title / headline of your page",
- "doctype": "DocField",
- "fieldname": "title",
- "fieldtype": "Data",
- "label": "Title",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "cb1",
- "fieldtype": "Column Break",
- "width": "50%"
- },
- {
- "doctype": "DocField",
- "fieldname": "published",
- "fieldtype": "Check",
- "label": "Published"
- },
- {
- "description": "Page url name (auto-generated) (add \".html\")",
- "doctype": "DocField",
- "fieldname": "page_name",
- "fieldtype": "Data",
- "in_list_view": 1,
- "label": "Page Name",
- "read_only": 1
- },
- {
- "description": "Page content",
- "doctype": "DocField",
- "fieldname": "sb1",
- "fieldtype": "Section Break",
- "label": "Content"
- },
- {
- "description": "Begin this page with a slideshow of images",
- "doctype": "DocField",
- "fieldname": "slideshow",
- "fieldtype": "Link",
- "label": "Slideshow",
- "options": "Website Slideshow"
- },
- {
- "description": "Description for page header.",
- "doctype": "DocField",
- "fieldname": "description",
- "fieldtype": "Small Text",
- "label": "Description"
- },
- {
- "description": "Content in markdown format that appears on the main side of your page",
- "doctype": "DocField",
- "fieldname": "main_section",
- "fieldtype": "Text Editor",
- "label": "Main Section"
- },
- {
- "description": "Link to other pages in the side bar and next section",
- "doctype": "DocField",
- "fieldname": "sb2",
- "fieldtype": "Section Break",
- "label": "More"
- },
- {
- "doctype": "DocField",
- "fieldname": "text_align",
- "fieldtype": "Select",
- "label": "Text Align",
- "options": "Left\nCenter\nRight"
- },
- {
- "description": "Add code as <script>",
- "doctype": "DocField",
- "fieldname": "insert_code",
- "fieldtype": "Check",
- "label": "Insert Code"
- },
- {
- "doctype": "DocField",
- "fieldname": "javascript",
- "fieldtype": "Code",
- "label": "Javascript",
- "options": "Javascript"
- },
- {
- "doctype": "DocField",
- "fieldname": "insert_style",
- "fieldtype": "Check",
- "label": "Insert Style"
- },
- {
- "doctype": "DocField",
- "fieldname": "css",
- "fieldtype": "Code",
- "label": "CSS",
- "options": "CSS"
- },
- {
- "create": 1,
- "doctype": "DocPerm",
- "permlevel": 0,
- "report": 1,
- "write": 1
- },
- {
- "amend": 0,
- "cancel": 0,
- "create": 0,
- "doctype": "DocPerm",
- "permlevel": 1
- }
-]
\ No newline at end of file
diff --git a/website/doctype/website_script/README.md b/website/doctype/website_script/README.md
deleted file mode 100644
index 65af2a13d2..0000000000
--- a/website/doctype/website_script/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Custom javascript to be appended at the end of the page. Used to include 3rd party tracking / analytics tools.
\ No newline at end of file
diff --git a/website/doctype/website_script/website_script.py b/website/doctype/website_script/website_script.py
deleted file mode 100644
index 2a5b9e2f3a..0000000000
--- a/website/doctype/website_script/website_script.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
-
- def on_update(self):
- # make js and css
- from website.helpers.make_web_include_files import make
- make()
\ No newline at end of file
diff --git a/website/doctype/website_script/website_script.txt b/website/doctype/website_script/website_script.txt
deleted file mode 100644
index ae22a345dc..0000000000
--- a/website/doctype/website_script/website_script.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-[
- {
- "creation": "2012-12-27 11:51:24",
- "docstatus": 0,
- "modified": "2013-07-05 15:02:48",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "description": "Script to attach to all web pages.",
- "doctype": "DocType",
- "document_type": "Other",
- "icon": "icon-code",
- "issingle": 1,
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "fieldname": "javascript",
- "fieldtype": "Code",
- "label": "Javascript",
- "name": "__common__",
- "options": "Javascript",
- "parent": "Website Script",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "create": 1,
- "doctype": "DocPerm",
- "name": "__common__",
- "parent": "Website Script",
- "parentfield": "permissions",
- "parenttype": "DocType",
- "permlevel": 0,
- "read": 1,
- "role": "Website Manager",
- "write": 1
- },
- {
- "doctype": "DocType",
- "name": "Website Script"
- },
- {
- "doctype": "DocField"
- },
- {
- "doctype": "DocPerm"
- }
-]
\ No newline at end of file
diff --git a/website/doctype/website_settings/README.md b/website/doctype/website_settings/README.md
deleted file mode 100644
index 8e654fca58..0000000000
--- a/website/doctype/website_settings/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Overall website settings. Including banners, items appearing in the top and bottom menus, tracking code for Google Analytics etc.
\ No newline at end of file
diff --git a/website/doctype/website_settings/__init__.py b/website/doctype/website_settings/__init__.py
deleted file mode 100644
index baffc48825..0000000000
--- a/website/doctype/website_settings/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/website/doctype/website_settings/website_settings.js b/website/doctype/website_settings/website_settings.js
deleted file mode 100644
index 21b55be5ea..0000000000
--- a/website/doctype/website_settings/website_settings.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-// License: GNU General Public License v3. See license.txt
-
-// update parent select
-
-$.extend(cur_frm.cscript, {
- refresh: function(doc) {
- cur_frm.add_custom_button("Auto Build Website", function() {
- cur_frm.call({
- doc: cur_frm.doc,
- method: "make_website"
- })
- }, 'icon-magic')
- },
- onload_post_render: function(doc) {
- this.set_parent_label_options();
- },
-
- label: function(doc, cdt, cdn) {
- var item = wn.model.get_doc(cdt, cdn);
- if(item.parentfield === "top_bar_items") {
- this.set_parent_label_options();
- }
- },
-
- parent_label: function(doc, cdt, cdn) {
- this.label(doc, cdt, cdn);
- },
-
- url: function(doc, cdt, cdn) {
- this.label(doc, cdt, cdn);
- },
-
- set_parent_label_options: function() {
- wn.meta.get_docfield("Top Bar Item", "parent_label", cur_frm.docname).options =
- this.get_parent_options("top_bar_items");
-
- if($(cur_frm.fields_dict.top_bar_items.grid.wrapper).find(".grid-row-open")) {
- cur_frm.fields_dict.top_bar_items.grid.refresh();
- }
- },
-
- // get labels of parent items
- get_parent_options: function(table_field) {
- var items = getchildren('Top Bar Item', cur_frm.doc.name, table_field);
- var main_items = [''];
- for(var i in items) {
- var d = items[i];
- if(!d.parent_label && !d.url && d.label) {
- main_items.push(d.label);
- }
- }
- return main_items.join('\n');
- }
-});
-
-cur_frm.cscript.set_banner_from_image = function(doc) {
- if(!doc.banner_image) {
- msgprint(wn._("Select a Banner Image first."));
- }
- var src = doc.banner_image;
- cur_frm.set_value("banner_html", "
");
-}
\ No newline at end of file
diff --git a/website/doctype/website_settings/website_settings.py b/website/doctype/website_settings/website_settings.py
deleted file mode 100644
index 5d6c874d70..0000000000
--- a/website/doctype/website_settings/website_settings.py
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import webnotes
-from webnotes import _, msgprint
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
-
- def validate(self):
- self.set_home_page()
- self.validate_top_bar_items()
- self.validate_footer_items()
-
- def make_website(self):
- # set item pages
- for name in webnotes.conn.sql_list("""select name from tabItem where
- ifnull(show_in_website, 0)=0 and is_sales_item ='Yes' """):
- webnotes.msgprint("Setting 'Show in Website' for:" + name)
- item = webnotes.bean("Item", name)
- item.doc.show_in_website = 1
- item.doc.website_warehouse = item.doc.default_warehouse
- item.doc.website_image = item.doc.image
- item.save()
-
- # set item group pages
- for name in webnotes.conn.sql_list("""select name from `tabItem Group` where
- ifnull(show_in_website, 0)=0 and exists (select name from tabItem where
- ifnull(show_in_website, 0)=1)"""):
- webnotes.msgprint("Setting 'Show in Website' for:" + name)
- item_group = webnotes.bean("Item Group", name)
- item_group.doc.show_in_website = 1
- item_group.save()
-
- def validate_top_bar_items(self):
- """validate url in top bar items"""
- for top_bar_item in self.doclist.get({"parentfield": "top_bar_items"}):
- if top_bar_item.parent_label:
- parent_label_item = self.doclist.get({"parentfield": "top_bar_items",
- "label": top_bar_item.parent_label})
-
- if not parent_label_item:
- # invalid item
- msgprint(_(self.meta.get_label("parent_label", parentfield="top_bar_items")) +
- (" \"%s\": " % top_bar_item.parent_label) + _("does not exist"), raise_exception=True)
-
- elif not parent_label_item[0] or parent_label_item[0].url:
- # parent cannot have url
- msgprint(_("Top Bar Item") + (" \"%s\": " % top_bar_item.parent_label) +
- _("cannot have a URL, because it has child item(s)"), raise_exception=True)
-
- def validate_footer_items(self):
- """clear parent label in footer"""
- for footer_item in self.doclist.get({"parentfield": "footer_items"}):
- footer_item.parent_label = None
-
- def on_update(self):
- # make js and css
- from website.helpers.make_web_include_files import make
- make()
-
- # clear web cache (for menus!)
- from webnotes.webutils import clear_cache
- clear_cache()
-
- def set_home_page(self):
- from webnotes.model.doc import Document
- webnotes.conn.sql("""delete from `tabDefault Home Page` where role='Guest'""")
-
- d = Document('Default Home Page')
- d.parent = 'Control Panel'
- d.parenttype = 'Control Panel'
- d.parentfield = 'default_home_pages'
- d.role = 'Guest'
- d.home_page = self.doc.home_page
- d.save()
\ No newline at end of file
diff --git a/website/doctype/website_settings/website_settings.txt b/website/doctype/website_settings/website_settings.txt
deleted file mode 100644
index f8ceafe162..0000000000
--- a/website/doctype/website_settings/website_settings.txt
+++ /dev/null
@@ -1,249 +0,0 @@
-[
- {
- "creation": "2013-04-30 12:58:46",
- "docstatus": 0,
- "modified": "2013-07-10 20:37:38",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "allow_attach": 1,
- "doctype": "DocType",
- "document_type": "Other",
- "icon": "icon-cog",
- "issingle": 1,
- "max_attachments": 10,
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "Website Settings",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocPerm",
- "name": "__common__",
- "parent": "Website Settings",
- "parentfield": "permissions",
- "parenttype": "DocType",
- "read": 1,
- "report": 0,
- "submit": 0
- },
- {
- "doctype": "DocType",
- "name": "Website Settings"
- },
- {
- "doctype": "DocField",
- "fieldname": "sb0",
- "fieldtype": "Section Break",
- "label": "Landing Page"
- },
- {
- "description": "The \"Web Page\" that is the website home page",
- "doctype": "DocField",
- "fieldname": "home_page",
- "fieldtype": "Link",
- "label": "Home Page",
- "options": "Web Page",
- "reqd": 0
- },
- {
- "description": "The name of your company / website as you want to appear on browser title bar. All pages will have this as the prefix to the title.",
- "doctype": "DocField",
- "fieldname": "title_prefix",
- "fieldtype": "Data",
- "label": "Title Prefix"
- },
- {
- "doctype": "DocField",
- "fieldname": "cb4",
- "fieldtype": "Column Break"
- },
- {
- "description": "If checked, the Home page will be the default Item Group for the website.",
- "doctype": "DocField",
- "fieldname": "home_page_is_products",
- "fieldtype": "Check",
- "label": "Home Page is Products"
- },
- {
- "description": "Add a banner to the site. (small banners are usually good)",
- "doctype": "DocField",
- "fieldname": "banner",
- "fieldtype": "Section Break",
- "label": "Banner"
- },
- {
- "description": "Select an image of approx width 150px with a transparent background for best results.",
- "doctype": "DocField",
- "fieldname": "banner_image",
- "fieldtype": "Select",
- "label": "Banner Image",
- "options": "attach_files:"
- },
- {
- "doctype": "DocField",
- "fieldname": "set_banner_from_image",
- "fieldtype": "Button",
- "label": "Set Banner from Image"
- },
- {
- "description": "Banner is above the Top Menu Bar.",
- "doctype": "DocField",
- "fieldname": "banner_html",
- "fieldtype": "Small Text",
- "label": "Banner HTML"
- },
- {
- "description": "Menu items in the Top Bar. For setting the color of the Top Bar, go to
Style Settings ",
- "doctype": "DocField",
- "fieldname": "top_bar",
- "fieldtype": "Section Break",
- "label": "Top Bar"
- },
- {
- "description": "Brand is what appears on the top-right of the toolbar. If it is an image, make sure it\nhas a transparent background and use the <img /> tag. Keep size as 200px x 30px",
- "doctype": "DocField",
- "fieldname": "brand_html",
- "fieldtype": "Small Text",
- "label": "Brand HTML"
- },
- {
- "doctype": "DocField",
- "fieldname": "top_bar_items",
- "fieldtype": "Table",
- "label": "Top Bar Items",
- "options": "Top Bar Item"
- },
- {
- "doctype": "DocField",
- "fieldname": "footer",
- "fieldtype": "Section Break",
- "label": "Footer"
- },
- {
- "description": "Address and other legal information you may want to put in the footer.",
- "doctype": "DocField",
- "fieldname": "address",
- "fieldtype": "Text Editor",
- "label": "Address"
- },
- {
- "doctype": "DocField",
- "fieldname": "copyright",
- "fieldtype": "Data",
- "label": "Copyright"
- },
- {
- "doctype": "DocField",
- "fieldname": "footer_items",
- "fieldtype": "Table",
- "label": "Footer Items",
- "options": "Top Bar Item"
- },
- {
- "doctype": "DocField",
- "fieldname": "integrations",
- "fieldtype": "Section Break",
- "label": "Integrations"
- },
- {
- "description": "Add Google Analytics ID: eg. UA-89XXX57-1. Please search help on Google Analytics for more information.",
- "doctype": "DocField",
- "fieldname": "google_analytics_id",
- "fieldtype": "Data",
- "label": "Google Analytics ID"
- },
- {
- "doctype": "DocField",
- "fieldname": "column_break_17",
- "fieldtype": "Column Break"
- },
- {
- "doctype": "DocField",
- "fieldname": "google_plus_one",
- "fieldtype": "Check",
- "label": "Google Plus One"
- },
- {
- "doctype": "DocField",
- "fieldname": "facebook_share",
- "fieldtype": "Check",
- "label": "Facebook Share"
- },
- {
- "doctype": "DocField",
- "fieldname": "linked_in_share",
- "fieldtype": "Check",
- "label": "Linked In Share"
- },
- {
- "doctype": "DocField",
- "fieldname": "twitter_share",
- "fieldtype": "Check",
- "label": "Twitter Share"
- },
- {
- "description": "Tweet will be shared via your user account (if specified)",
- "doctype": "DocField",
- "fieldname": "twitter_share_via",
- "fieldtype": "Data",
- "label": "Twitter Share via"
- },
- {
- "doctype": "DocField",
- "fieldname": "misc_section",
- "fieldtype": "Section Break",
- "label": "Misc"
- },
- {
- "description": "An icon file with .ico extension. Should be 16 x 16 px. Generated using a favicon generator. [
favicon-generator.org ]",
- "doctype": "DocField",
- "fieldname": "favicon",
- "fieldtype": "Select",
- "label": "FavIcon",
- "options": "attach_files:"
- },
- {
- "description": "Sub-domain provided by erpnext.com",
- "doctype": "DocField",
- "fieldname": "subdomain",
- "fieldtype": "Text",
- "label": "Subdomain",
- "read_only": 1,
- "reqd": 0
- },
- {
- "doctype": "DocField",
- "fieldname": "column_break_28",
- "fieldtype": "Column Break"
- },
- {
- "description": "Disable Customer Signup link in Login page",
- "doctype": "DocField",
- "fieldname": "disable_signup",
- "fieldtype": "Check",
- "label": "Disable Signup"
- },
- {
- "create": 1,
- "doctype": "DocPerm",
- "permlevel": 0,
- "role": "Website Manager",
- "write": 1
- },
- {
- "amend": 0,
- "cancel": 0,
- "create": 0,
- "doctype": "DocPerm",
- "permlevel": 1,
- "role": "All"
- }
-]
\ No newline at end of file
diff --git a/website/doctype/website_slideshow/README.md b/website/doctype/website_slideshow/README.md
deleted file mode 100644
index e6afaed16e..0000000000
--- a/website/doctype/website_slideshow/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Image slide show for Web Page, Product (Item) page, Item Group page.
\ No newline at end of file
diff --git a/website/doctype/website_slideshow/website_slideshow.js b/website/doctype/website_slideshow/website_slideshow.js
deleted file mode 100644
index a28e1c75ec..0000000000
--- a/website/doctype/website_slideshow/website_slideshow.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-// License: GNU General Public License v3. See license.txt
-
-cur_frm.cscript.refresh = function(doc) {
- cur_frm.set_intro("");
- if(doc.__islocal) {
- cur_frm.set_intro("First set the name and save the record.");
- }
- else {
- cur_frm.set_intro("Attach files / urls and add in table.");
- }
-}
\ No newline at end of file
diff --git a/website/doctype/website_slideshow/website_slideshow.py b/website/doctype/website_slideshow/website_slideshow.py
deleted file mode 100644
index 8bc0447ef0..0000000000
--- a/website/doctype/website_slideshow/website_slideshow.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
-
- def on_update(self):
- # a slide show can be in use and any change in it should get reflected
- from webnotes.webutils import clear_cache
- clear_cache()
\ No newline at end of file
diff --git a/website/doctype/website_slideshow/website_slideshow.txt b/website/doctype/website_slideshow/website_slideshow.txt
deleted file mode 100644
index e8ca08e4f6..0000000000
--- a/website/doctype/website_slideshow/website_slideshow.txt
+++ /dev/null
@@ -1,82 +0,0 @@
-[
- {
- "creation": "2013-03-07 15:53:15",
- "docstatus": 0,
- "modified": "2013-07-05 15:03:30",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "allow_attach": 1,
- "autoname": "field:slideshow_name",
- "description": "Slideshow like display for the website",
- "doctype": "DocType",
- "document_type": "Transaction",
- "icon": "icon-play",
- "max_attachments": 10,
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "Website Slideshow",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "cancel": 1,
- "create": 1,
- "doctype": "DocPerm",
- "name": "__common__",
- "parent": "Website Slideshow",
- "parentfield": "permissions",
- "parenttype": "DocType",
- "permlevel": 0,
- "read": 1,
- "report": 1,
- "role": "Website Manager",
- "submit": 0,
- "write": 1
- },
- {
- "doctype": "DocType",
- "name": "Website Slideshow"
- },
- {
- "doctype": "DocField",
- "fieldname": "slideshow_name",
- "fieldtype": "Data",
- "label": "Slideshow Name",
- "read_only": 0,
- "reqd": 1
- },
- {
- "depends_on": "eval:!doc.__islocal",
- "description": "Note: For best results, images must be of the same size and width must be greater than height.",
- "doctype": "DocField",
- "fieldname": "sb0",
- "fieldtype": "Section Break",
- "label": "Slideshow Items"
- },
- {
- "depends_on": "eval:!doc.__islocal",
- "doctype": "DocField",
- "fieldname": "slideshow_items",
- "fieldtype": "Table",
- "label": "Slideshow Items",
- "options": "Website Slideshow Item"
- },
- {
- "depends_on": "eval:!doc.__islocal",
- "description": "This goes above the slideshow.",
- "doctype": "DocField",
- "fieldname": "header",
- "fieldtype": "Text Editor",
- "label": "Header"
- },
- {
- "doctype": "DocPerm"
- }
-]
\ No newline at end of file
diff --git a/website/doctype/website_slideshow_item/README.md b/website/doctype/website_slideshow_item/README.md
deleted file mode 100644
index 2f52d24794..0000000000
--- a/website/doctype/website_slideshow_item/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Slide (image) details for Website Slideshow.
\ No newline at end of file
diff --git a/website/doctype/website_slideshow_item/website_slideshow_item.py b/website/doctype/website_slideshow_item/website_slideshow_item.py
deleted file mode 100644
index 784339de7d..0000000000
--- a/website/doctype/website_slideshow_item/website_slideshow_item.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/website/doctype/website_slideshow_item/website_slideshow_item.txt b/website/doctype/website_slideshow_item/website_slideshow_item.txt
deleted file mode 100644
index c6fd78caf0..0000000000
--- a/website/doctype/website_slideshow_item/website_slideshow_item.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-[
- {
- "creation": "2013-03-07 12:26:33",
- "docstatus": 0,
- "modified": "2013-07-10 14:54:25",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "allow_attach": 0,
- "doctype": "DocType",
- "istable": 1,
- "max_attachments": 10,
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "in_list_view": 1,
- "name": "__common__",
- "parent": "Website Slideshow Item",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocType",
- "name": "Website Slideshow Item"
- },
- {
- "doctype": "DocField",
- "fieldname": "image",
- "fieldtype": "Select",
- "label": "Image",
- "options": "attach_files:"
- },
- {
- "doctype": "DocField",
- "fieldname": "heading",
- "fieldtype": "Data",
- "label": "Heading",
- "print_width": "200px",
- "width": "200px"
- },
- {
- "doctype": "DocField",
- "fieldname": "description",
- "fieldtype": "Text",
- "label": "Description",
- "print_width": "200px",
- "width": "200px"
- }
-]
\ No newline at end of file
diff --git a/website/helpers/blog.py b/website/helpers/blog.py
deleted file mode 100644
index 3f6d94fa6c..0000000000
--- a/website/helpers/blog.py
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import webnotes
-import webnotes.webutils
-from webnotes import _
-
-def clear_blog_cache():
- for blog in webnotes.conn.sql_list("""select page_name from
- `tabBlog Post` where ifnull(published,0)=1"""):
- webnotes.webutils.delete_page_cache(blog)
-
- webnotes.webutils.delete_page_cache("writers")
-
-@webnotes.whitelist(allow_guest=True)
-def get_blog_list(start=0, by=None, category=None):
- import webnotes
- condition = ""
- if by:
- condition = " and t1.blogger='%s'" % by.replace("'", "\'")
- if category:
- condition += " and t1.blog_category='%s'" % category.replace("'", "\'")
- query = """\
- select
- t1.title, t1.name, t1.page_name, t1.published_on as creation,
- ifnull(t1.blog_intro, t1.content) as content,
- t2.full_name, t2.avatar, t1.blogger,
- (select count(name) from `tabComment` where
- comment_doctype='Blog Post' and comment_docname=t1.name) as comments
- from `tabBlog Post` t1, `tabBlogger` t2
- where ifnull(t1.published,0)=1
- and t1.blogger = t2.name
- %(condition)s
- order by published_on desc, name asc
- limit %(start)s, 20""" % {"start": start, "condition": condition}
-
- result = webnotes.conn.sql(query, as_dict=1)
-
- # strip html tags from content
- import webnotes.utils
-
- for res in result:
- from webnotes.utils import global_date_format
- res['published'] = global_date_format(res['creation'])
- if not res['content']:
- res['content'] = webnotes.webutils.get_html(res['page_name'])
- res['content'] = res['content'][:140]
-
- return result
-
-@webnotes.whitelist(allow_guest=True)
-def add_comment(args=None):
- """
- args = {
- 'comment': '',
- 'comment_by': '',
- 'comment_by_fullname': '',
- 'comment_doctype': '',
- 'comment_docname': '',
- 'page_name': '',
- }
- """
- import webnotes
- import webnotes.utils, markdown2
-
- if not args: args = webnotes.form_dict
- args['comment'] = unicode(markdown2.markdown(args.get('comment') or ''))
- args['doctype'] = "Comment"
-
- page_name = args.get("page_name")
- if "page_name" in args:
- del args["page_name"]
- if "cmd" in args:
- del args["cmd"]
-
- comment = webnotes.bean(args)
- comment.ignore_permissions = True
- comment.insert()
-
- # since comments are embedded in the page, clear the web cache
- webnotes.webutils.clear_cache(page_name)
-
- args['comment_date'] = webnotes.utils.global_date_format(comment.doc.creation)
- template_args = { 'comment_list': [args], 'template': 'app/website/templates/html/comment.html' }
-
- # get html of comment row
- comment_html = webnotes.webutils.build_html(template_args)
-
- # notify commentors
- commentors = [d[0] for d in webnotes.conn.sql("""select comment_by from tabComment where
- comment_doctype='Blog Post' and comment_docname=%s and
- ifnull(unsubscribed, 0)=0""", args.get('comment_docname'))]
-
- blog = webnotes.doc("Blog Post", args.get("comment_docname"))
- blogger_profile = webnotes.conn.get_value("Blogger", blog.blogger, "profile")
- blogger_email = webnotes.conn.get_value("Profile", blogger_profile, "email")
-
- from webnotes.utils.email_lib.bulk import send
- send(recipients=list(set(commentors + [blogger_email])),
- doctype='Comment',
- email_field='comment_by',
- subject='New Comment on Blog: ' + blog.title,
- message='%(comment)s
By %(comment_by_fullname)s
' % args,
- ref_doctype='Blog Post', ref_docname=blog.name)
-
- return comment_html.replace("\n", "")
-
-def get_blog_content(blog_page_name):
- import webnotes.webutils
- content = webnotes.webutils.get_html(blog_page_name)
- import webnotes.utils
- content = webnotes.utils.escape_html(content)
- return content
-
-def get_blog_template_args():
- args = {
- "categories": webnotes.conn.sql_list("select name from `tabBlog Category` order by name")
- }
- args.update(webnotes.doc("Blog Settings", "Blog Settings").fields)
- return args
diff --git a/website/helpers/blog_feed.py b/website/helpers/blog_feed.py
deleted file mode 100644
index 577cde6123..0000000000
--- a/website/helpers/blog_feed.py
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-"""
-Generate RSS feed for blog
-"""
-
-rss = u"""
-
-
- %(title)s
- %(description)s
- %(link)s
- %(modified)s
- %(modified)s
- 1800
- %(items)s
-
- """
-
-rss_item = u"""
-
-
-
%(title)s
- %(content)s
- %(link)s
- %(name)s
- %(published_on)s
- """
-
-def generate():
- """generate rss feed"""
- import os, urllib
- import webnotes
- from webnotes.model.doc import Document
- from webnotes.utils import escape_html
-
- host = (os.environ.get('HTTPS') and 'https://' or 'http://') + os.environ.get('HTTP_HOST')
-
- items = ''
- blog_list = webnotes.conn.sql("""\
- select page_name as name, published_on, modified, title, content from `tabBlog Post`
- where ifnull(published,0)=1
- order by published_on desc limit 20""", as_dict=1)
-
- for blog in blog_list:
- blog.link = urllib.quote(host + '/' + blog.name + '.html')
- blog.content = escape_html(blog.content or "")
-
- items += rss_item % blog
-
- modified = max((blog['modified'] for blog in blog_list))
-
- ws = Document('Website Settings', 'Website Settings')
- return (rss % {
- 'title': ws.title_prefix,
- 'description': ws.description or (ws.title_prefix + ' Blog'),
- 'modified': modified,
- 'items': items,
- 'link': host + '/blog.html'
- }).encode('utf-8', 'ignore')
diff --git a/website/helpers/contact.py b/website/helpers/contact.py
deleted file mode 100644
index 35446a3d24..0000000000
--- a/website/helpers/contact.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-
-import webnotes
-from webnotes.utils import now
-
-max_communications_per_hour = 300
-
-@webnotes.whitelist(allow_guest=True)
-def send_message(subject="Website Query", message="", sender="", status="Open"):
- if not message:
- webnotes.response["message"] = 'Please write something'
- return
-
- if not sender:
- webnotes.response["message"] = 'Email Id Required'
- return
-
- # make lead / communication
- from selling.doctype.lead.get_leads import add_sales_communication
- message = add_sales_communication(subject or "Website Query", message, sender, sender,
- mail=None, status=status)
-
- # guest method, cap max writes per hour
- if webnotes.conn.sql("""select count(*) from `tabCommunication`
- where TIMEDIFF(%s, modified) < '01:00:00'""", now())[0][0] > max_communications_per_hour:
- webnotes.response["message"] = "Sorry: we believe we have received an unreasonably high number of requests of this kind. Please try later"
- return
-
- webnotes.response.status = "okay"
diff --git a/website/helpers/make_web_include_files.py b/website/helpers/make_web_include_files.py
deleted file mode 100644
index a9df23bb1c..0000000000
--- a/website/helpers/make_web_include_files.py
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-import os
-import webnotes
-
-def make():
- from startup.webutils import get_home_page
-
- if not webnotes.conn:
- webnotes.connect()
-
- home_page = get_home_page()
-
- fname = 'js/wn-web.js'
- if os.path.basename(os.path.abspath('.'))!='public':
- fname = os.path.join('public', fname)
-
- with open(fname, 'w') as f:
- f.write(get_web_script())
-
- fname = 'css/wn-web.css'
- if os.path.basename(os.path.abspath('.'))!='public':
- fname = os.path.join('public', fname)
-
- # style - wn.css
- with open(fname, 'w') as f:
- f.write(get_web_style())
-
-def get_web_script():
- """returns web startup script"""
- user_script = ""
-
- ws = webnotes.doc("Website Settings", "Website Settings")
-
- if ws.google_analytics_id:
- user_script += google_analytics_template % ws.google_analytics_id
-
- user_script += (webnotes.conn.get_value('Website Script', None, 'javascript') or '')
-
- return user_script
-
-def get_web_style():
- """returns web css"""
- return webnotes.conn.get_value('Style Settings', None, 'custom_css') or ''
-
-google_analytics_template = """
-
-// Google Analytics template
-
-window._gaq = window._gaq || [];
-window._gaq.push(['_setAccount', '%s']);
-window._gaq.push(['_trackPageview']);
-
-(function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-})();
-"""
\ No newline at end of file
diff --git a/website/helpers/partner.py b/website/helpers/partner.py
deleted file mode 100644
index 404894e53c..0000000000
--- a/website/helpers/partner.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import webnotes
-
-def get_partner_args():
- return {
- "partners": webnotes.conn.sql("""select * from `tabSales Partner`
- where show_in_website=1 order by name asc""", as_dict=True),
- }
\ No newline at end of file
diff --git a/website/helpers/sitemap.py b/website/helpers/sitemap.py
deleted file mode 100644
index fb0d0707ea..0000000000
--- a/website/helpers/sitemap.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-
-frame_xml = """
-
%s
- """
-
-link_xml = """\n
%s %s """
-
-# generate the sitemap XML
-def generate(domain):
- global frame_xml, link_xml
- import urllib, os
- import webnotes
- import webnotes.webutils
- from webnotes.utils import nowdate
-
- # settings
- max_items = 1000
- count = 0
-
- site_map = ''
- if domain:
- today = nowdate()
-
- # generated pages
- for doctype, opts in webnotes.webutils.get_generators().items():
- pages = webnotes.conn.sql("""select page_name, `modified`
- from `tab%s` where ifnull(%s,0)=1
- order by modified desc""" % (doctype, opts.get("condition_field")))
-
- for p in pages:
- if count >= max_items: break
- if p[0]:
- page_url = os.path.join(domain, urllib.quote(p[0]))
- modified = p[1].strftime('%Y-%m-%d')
- site_map += link_xml % (page_url, modified)
- count += 1
-
- if count >= max_items: break
-
- # standard pages
- for page, opts in webnotes.get_config()["web"]["pages"].items():
- if "no_cache" in opts:
- continue
-
- if count >= max_items: break
- page_url = os.path.join(domain, urllib.quote(page))
- modified = today
- site_map += link_xml % (page_url, modified)
- count += 1
-
- return frame_xml % site_map
diff --git a/website/helpers/slideshow.py b/website/helpers/slideshow.py
deleted file mode 100644
index 7e3c398bf4..0000000000
--- a/website/helpers/slideshow.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-import webnotes
-
-def get_slideshow(obj):
- slideshow = webnotes.bean("Website Slideshow", obj.doc.slideshow)
- obj.slides = slideshow.doclist.get({"doctype":"Website Slideshow Item"})
- obj.doc.slideshow_header = slideshow.doc.header or ""
-
\ No newline at end of file
diff --git a/website/helpers/transaction.py b/website/helpers/transaction.py
deleted file mode 100644
index 8943575c6c..0000000000
--- a/website/helpers/transaction.py
+++ /dev/null
@@ -1,139 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import webnotes
-from webnotes.utils import cint, formatdate
-import json
-
-def get_transaction_list(doctype, start):
- # find customer id
- customer = webnotes.conn.get_value("Contact", {"email_id": webnotes.session.user},
- "customer")
-
- if customer:
- transactions = webnotes.conn.sql("""select name, creation, currency, grand_total_export
- from `tab%s` where customer=%s and docstatus=1
- order by creation desc
- limit %s, 20""" % (doctype, "%s", "%s"), (customer, cint(start)), as_dict=True)
- for doc in transactions:
- doc.items = ", ".join(webnotes.conn.sql_list("""select item_name
- from `tab%s Item` where parent=%s limit 5""" % (doctype, "%s"), doc.name))
- doc.creation = formatdate(doc.creation)
- return transactions
- else:
- return []
-
-def get_common_args():
- return {
- "global_number_format": webnotes.conn.get_default("number_format") or "#,###.##",
- "currency": webnotes.conn.get_default("currency"),
- "currency_symbols": json.dumps(dict(webnotes.conn.sql("""select name, symbol
- from tabCurrency where ifnull(enabled,0)=1""")))
- }
-
-@webnotes.whitelist()
-def get_orders(start=0):
- return get_transaction_list("Sales Order", start)
-
-def order_list_args():
- args = get_common_args()
- args.update({
- "title": "My Orders",
- "method": "website.helpers.transaction.get_orders",
- "icon": "icon-list",
- "empty_list_message": "No Orders Yet",
- "page": "order",
- })
- return args
-
-@webnotes.whitelist()
-def get_invoices(start=0):
- return get_transaction_list("Sales Invoice", start)
-
-def invoice_list_args():
- args = get_common_args()
- args.update({
- "title": "Invoices",
- "method": "website.helpers.transaction.get_invoices",
- "icon": "icon-file-text",
- "empty_list_message": "No Invoices Found",
- "page": "invoice"
- })
- return args
-
-@webnotes.whitelist()
-def get_shipments(start=0):
- return get_transaction_list("Delivery Note", start)
-
-def shipment_list_args():
- args = get_common_args()
- args.update({
- "title": "Shipments",
- "method": "website.helpers.transaction.get_shipments",
- "icon": "icon-truck",
- "empty_list_message": "No Shipments Found",
- "page": "shipment"
- })
- return args
-
-@webnotes.whitelist()
-def get_tickets(start=0):
- tickets = webnotes.conn.sql("""select name, subject, status, creation
- from `tabSupport Ticket` where raised_by=%s
- order by modified desc
- limit %s, 20""", (webnotes.session.user, cint(start)), as_dict=True)
- for t in tickets:
- t.creation = formatdate(t.creation)
-
- return tickets
-
-def ticket_list_args():
- return {
- "title": "My Tickets",
- "method": "website.helpers.transaction.get_tickets",
- "icon": "icon-ticket",
- "empty_list_message": "No Tickets Raised",
- "page": "ticket"
- }
-
-def get_transaction_args(doctype, name):
- customer = webnotes.conn.get_value("Contact", {"email_id": webnotes.session.user},
- "customer")
-
- bean = webnotes.bean(doctype, name)
- if bean.doc.customer != customer:
- return {
- "doc": {"name": "Not Allowed"}
- }
- else:
- return {
- "doc": bean.doc,
- "doclist": bean.doclist,
- "webnotes": webnotes,
- "utils": webnotes.utils
- }
-
-def get_order_args():
- args = get_transaction_args("Sales Order", webnotes.form_dict.name)
- args.update({
- "parent_link": "orders",
- "parent_title": "My Orders"
- })
- return args
-
-def get_invoice_args():
- args = get_transaction_args("Sales Invoice", webnotes.form_dict.name)
- args.update({
- "parent_link": "invoices",
- "parent_title": "Invoices"
- })
- return args
-
-def get_shipment_args():
- args = get_transaction_args("Delivery Note", webnotes.form_dict.name)
- args.update({
- "parent_link": "shipments",
- "parent_title": "Shipments"
- })
- return args
diff --git a/website/page/__init__.py b/website/page/__init__.py
deleted file mode 100644
index baffc48825..0000000000
--- a/website/page/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/website/page/website_home/__init__.py b/website/page/website_home/__init__.py
deleted file mode 100644
index baffc48825..0000000000
--- a/website/page/website_home/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/website/page/website_home/website_home.js b/website/page/website_home/website_home.js
deleted file mode 100644
index a197f69638..0000000000
--- a/website/page/website_home/website_home.js
+++ /dev/null
@@ -1,111 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-// License: GNU General Public License v3. See license.txt"
-
-wn.module_page["Website"] = [
- {
- title: wn._("Web Content"),
- icon: "icon-copy",
- top: true,
- items: [
- {
- label: wn._("Web Page"),
- description: wn._("Content web page."),
- doctype:"Web Page"
- },
- {
- label: wn._("Blog Post"),
- description: wn._("Single Post (article)."),
- doctype:"Blog Post"
- },
- ]
- },
- {
- title: wn._("Documents"),
- icon: "icon-edit",
- items: [
- {
- label: wn._("Website Slideshow"),
- description: wn._("Embed image slideshows in website pages."),
- doctype:"Website Slideshow"
- },
- {
- label: wn._("Blogger"),
- description: wn._("Profile of a blog writer."),
- doctype:"Blogger"
- },
- {
- label: wn._("Blog Category"),
- description: wn._("Categorize blog posts."),
- doctype:"Blog Category"
- },
- {
- label: wn._("Blog Settings"),
- description: wn._("Write titles and introductions to your blog."),
- doctype:"Blog Settings",
- route: "Form/Blog Settings"
- },
- ]
- },
-
- {
- title: wn._("Website Overall Settings"),
- icon: "icon-wrench",
- right: true,
- items: [
- {
- "route":"Form/Website Settings",
- "label":wn._("Website Settings"),
- "description":wn._("Setup of top navigation bar, footer and logo."),
- doctype:"Website Settings"
- },
- {
- "route":"Form/Style Settings",
- "label":wn._("Style Settings"),
- "description":wn._("Setup of fonts and background."),
- doctype:"Style Settings"
- },
- {
- "route":"Form/Shopping Cart Settings",
- "label":wn._("Shopping Cart Settings"),
- "description":wn._("Setup of Shopping Cart."),
- doctype:"Shopping Cart Settings"
- },
- ]
- },
- {
- title: wn._("Special Page Settings"),
- icon: "icon-wrench",
- right: true,
- items: [
- {
- "route":"Form/About Us Settings",
- "label":wn._("About Us Settings"),
- "description":wn._("Settings for About Us Page."),
- doctype:"About Us Settings"
- },
- {
- "route":"Form/Contact Us Settings",
- "label":wn._("Contact Us Settings"),
- "description":wn._("Settings for Contact Us Page."),
- doctype:"Contact Us Settings"
- },
- ]
- },
- {
- title: wn._("Advanced Scripting"),
- icon: "icon-wrench",
- right: true,
- items: [
- {
- "route":"Form/Website Script",
- "label":wn._("Website Script"),
- "description":wn._("Javascript to append to the head section of the page."),
- doctype:"Website Script"
- },
- ]
- }
-]
-
-pscript['onload_website-home'] = function(wrapper) {
- wn.views.moduleview.make(wrapper, "Website");
-}
\ No newline at end of file
diff --git a/website/page/website_home/website_home.txt b/website/page/website_home/website_home.txt
deleted file mode 100644
index eeede04589..0000000000
--- a/website/page/website_home/website_home.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-[
- {
- "creation": "2012-02-21 13:23:51",
- "docstatus": 0,
- "modified": "2013-07-11 14:45:29",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "Page",
- "icon": "icon-th",
- "module": "Website",
- "name": "__common__",
- "page_name": "website-home",
- "standard": "Yes",
- "title": "Website Home"
- },
- {
- "doctype": "Page",
- "name": "website-home"
- }
-]
\ No newline at end of file
diff --git a/website/templates/__init__.py b/website/templates/__init__.py
deleted file mode 100644
index baffc48825..0000000000
--- a/website/templates/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/website/templates/css/blog.css b/website/templates/css/blog.css
deleted file mode 100644
index 199df1ac77..0000000000
--- a/website/templates/css/blog.css
+++ /dev/null
@@ -1,7 +0,0 @@
-
\ No newline at end of file
diff --git a/website/templates/css/blog_page.css b/website/templates/css/blog_page.css
deleted file mode 100644
index 8f56cd2fec..0000000000
--- a/website/templates/css/blog_page.css
+++ /dev/null
@@ -1,13 +0,0 @@
-
\ No newline at end of file
diff --git a/website/templates/html/blog_footer.html b/website/templates/html/blog_footer.html
deleted file mode 100644
index e71b3eccb1..0000000000
--- a/website/templates/html/blog_footer.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
- {% if categories %}
-
Explore posts by categories
-
-
- {% endif %}
-
Show posts by everyone . Meet the writers of this blog
-
diff --git a/website/templates/html/blog_page.html b/website/templates/html/blog_page.html
deleted file mode 100644
index 90f6a79f2b..0000000000
--- a/website/templates/html/blog_page.html
+++ /dev/null
@@ -1,58 +0,0 @@
-{% extends "app/website/templates/html/page.html" %}
-
-{% block javascript %}
- {% include "app/website/templates/js/blog_page.js" %}
-{% endblock %}
-
-{% block css %}
- {% include "app/website/templates/css/blog_page.css" %}
-{% endblock %}
-
-{% block content %}
-
-
{{ title }}
-
-
-
- {{ blogger_info and blogger_info.full_name or full_name }} /
- {{ updated }}
-
-
- {{ content_html }}
-
-
- {% if blogger_info %}
-
- {% include "app/website/templates/html/blogger.html" %}
- {% endif %}
-
-
{{ texts.comments }}
-
-
-
-
-{% include 'app/website/templates/html/blog_footer.html' %}
-{% endblock %}
\ No newline at end of file
diff --git a/website/templates/html/blog_subscribe.html b/website/templates/html/blog_subscribe.html
deleted file mode 100644
index 1238d837f0..0000000000
--- a/website/templates/html/blog_subscribe.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
Subscribe
-
-
-Get Updates via Email
-
-
-
-RSS Feed
-
\ No newline at end of file
diff --git a/website/templates/html/blogger.html b/website/templates/html/blogger.html
deleted file mode 100644
index 90c3571e7b..0000000000
--- a/website/templates/html/blogger.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/website/templates/html/comment.html b/website/templates/html/comment.html
deleted file mode 100644
index 27baaad54d..0000000000
--- a/website/templates/html/comment.html
+++ /dev/null
@@ -1,17 +0,0 @@
-{#
- this template generates comment rows for a blog
- it is to be included in the blog/blog.html template
-#}
-
-
- {% for comment in comment_list %}
-
- {% endfor %}
-
\ No newline at end of file
diff --git a/website/templates/html/footer.html b/website/templates/html/footer.html
deleted file mode 100644
index e391794dd1..0000000000
--- a/website/templates/html/footer.html
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
diff --git a/website/templates/html/navbar.html b/website/templates/html/navbar.html
deleted file mode 100644
index 9e827c4ebe..0000000000
--- a/website/templates/html/navbar.html
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
diff --git a/website/templates/html/outer.html b/website/templates/html/outer.html
deleted file mode 100644
index 3ecb0573e6..0000000000
--- a/website/templates/html/outer.html
+++ /dev/null
@@ -1,34 +0,0 @@
-{% extends "lib/templates/base.html" %}
-
-{% block body %}
- {% include "app/website/templates/html/navbar.html" %}
-
-
-
-
|
- {% if shopping_cart_enabled -%}
-
- |
- {%- endif %}
-
-
-
- {% if banner_html %}
{% endif %}
-
-
- {%- block content -%}
- {%- endblock -%}
-
-
-
- {% include "app/website/templates/html/footer.html" %}
-
-{% endblock %}
\ No newline at end of file
diff --git a/website/templates/html/page.html b/website/templates/html/page.html
deleted file mode 100644
index c9fbec449a..0000000000
--- a/website/templates/html/page.html
+++ /dev/null
@@ -1,20 +0,0 @@
-{% extends "app/website/templates/html/outer.html" %}
-
-{% block title -%}{{ title }}{%- endblock %}
-
-{% block header -%}
- {{ super() }}
-
- {% block css -%}
- {% if insert_style -%}
-
- {%- endif %}
- {%- endblock %}
-{%- endblock -%}
-
-{%- block content -%}
- {{ content }}
-{%- endblock %}
\ No newline at end of file
diff --git a/website/templates/html/slideshow.html b/website/templates/html/slideshow.html
deleted file mode 100644
index b148cb1ce8..0000000000
--- a/website/templates/html/slideshow.html
+++ /dev/null
@@ -1,39 +0,0 @@
-{% if slideshow %}
-{{ slideshow_header }}
-
-
-
-
-
- {% for slide in obj.slides %}
-
- {% endfor %}
-
-
-
-
- {% for slide in obj.slides %}
-
-
- {% if slide.heading or slide.description %}
-
- {% if slide.heading %}
{{ slide.heading }} {% endif %}
- {% if slide.description %}
{{ slide.description }}
{% endif %}
-
- {% endif %}
-
- {% endfor %}
-
-
-
-
-
-
-
-
-
-
-
-
-{% endif %}
diff --git a/website/templates/html/web_page.html b/website/templates/html/web_page.html
deleted file mode 100644
index c857263816..0000000000
--- a/website/templates/html/web_page.html
+++ /dev/null
@@ -1,14 +0,0 @@
-{% extends "app/website/templates/html/page.html" %}
-
-{% block javascript %}
- {% if insert_code %}
- {{ javascript }}
- {% endif %}
-{% endblock %}
-
-{% block content %}
-
- {% include "app/website/templates/html/slideshow.html" %}
- {{ main_section }}
-
-{% endblock %}
\ No newline at end of file
diff --git a/website/templates/js/blog.js b/website/templates/js/blog.js
deleted file mode 100644
index 8134b635d1..0000000000
--- a/website/templates/js/blog.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-// License: GNU General Public License v3. See license.txt
-
-// js inside blog page
-
-$(document).ready(function() {
- // make list of blogs
- blog.get_list();
-
- $("#next-page").click(function() {
- blog.get_list();
- })
-
- if(get_url_arg("by_name")) {
- $("#blot-subtitle").html("Posts by " + get_url_arg("by_name")).toggle(true);
- }
-
- if(get_url_arg("category")) {
- $("#blot-subtitle").html("Posts filed under " + get_url_arg("category")).toggle(true);
- }
-
-});
-
-var blog = {
- start: 0,
- get_list: function() {
- $.ajax({
- method: "GET",
- url: "server.py",
- data: {
- cmd: "website.helpers.blog.get_blog_list",
- start: blog.start,
- by: get_url_arg("by"),
- category: get_url_arg("category")
- },
- dataType: "json",
- success: function(data) {
- $(".progress").toggle(false);
- if(data.exc) console.log(data.exc);
- blog.render(data.message);
- }
- });
- },
- render: function(data) {
- var $wrap = $("#blog-list");
- $.each(data, function(i, b) {
- // comments
- if(!b.comments) {
- b.comment_text = 'No comments yet.'
- } else if (b.comments===1) {
- b.comment_text = '1 comment.'
- } else {
- b.comment_text = b.comments + ' comments.'
- }
-
- b.page_name = encodeURIComponent(b.page_name);
-
- $(repl('
\
-
\
-
\
-
\
-
\
-
\
-
\
-
\
-
%(content)s
\
-
\
- \
- %(full_name)s wrote this on %(published)s / %(comment_text)s
\
-
\
-
', b)).appendTo($wrap);
- });
- blog.start += (data.length || 0);
- if(!data.length || data.length < 20) {
- if(blog.start) {
- $("#next-page").toggle(false)
- .parent().append("
Nothing more to show.
");
- } else {
- $("#next-page").toggle(false)
- .parent().append("
No blogs written yet.
");
- }
- } else {
- $("#next-page").toggle(true);
- }
- }
-}
\ No newline at end of file
diff --git a/website/templates/js/blog_page.js b/website/templates/js/blog_page.js
deleted file mode 100644
index ee56d9087b..0000000000
--- a/website/templates/js/blog_page.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-// License: GNU General Public License v3. See license.txt
-
-// js inside blog page
-
-$(document).ready(function() {
- var n_comments = $(".comment-row").length;
-
- if(n_comments) {
- $(".no_comment").toggle(false);
- }
- if(n_comments > 50) {
- $(".add-comment").toggle(false)
- .parent().append("
Comments are closed.
")
- }
- $(".add-comment").click(function() {
- $("#comment-form").toggle();
- $("#comment-form input, #comment-form, textarea").val("");
- })
- $("#submit-comment").click(function() {
- var args = {
- comment_by_fullname: $("[name='comment_by_fullname']").val(),
- comment_by: $("[name='comment_by']").val(),
- comment: $("[name='comment']").val(),
- cmd: "website.helpers.blog.add_comment",
- comment_doctype: "Blog Post",
- comment_docname: "{{ name }}",
- page_name: "{{ page_name }}",
- _type: "POST"
- }
-
- $("#comment-form .alert").toggle(false);
-
- if(!args.comment_by_fullname || !args.comment_by || !args.comment) {
- $("#comment-form .alert")
- .html("All fields are necessary to submit the comment.")
- .toggle(true);
- return false;
- }
-
-
- $.ajax({
- type: "POST",
- url: "server.py",
- data: args,
- dataType: "json",
- success: function(data) {
- if(data.exc) {
- $("#comment-form .alert")
- .html(data.exc)
- .toggle(true)
- } else {
- $(data.message).appendTo(".blog-comments");
- $(".no_comment").toggle(false);
- $(".add-comment").toggle(false);
- $("#comment-form")
- .replaceWith("
Thank you for your comment!
")
- }
- }
- })
-
- return false;
- })
-})
\ No newline at end of file
diff --git a/website/templates/js/contact.js b/website/templates/js/contact.js
deleted file mode 100644
index dece898755..0000000000
--- a/website/templates/js/contact.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-// License: GNU General Public License v3. See license.txt
-
-$(document).ready(function() {
-
- $('.btn-send').click(function() {
- var email = $('[name="email"]').val();
- var message = $('[name="message"]').val();
-
- if(!(email && message)) {
- msgprint("Please enter both your email and message so that we \
- can get back to you. Thanks!");
- return false;
- }
-
- if(!valid_email(email)) {
- msgprint("You seem to have written your name instead of your email. \
- Please enter a valid email address so that we can get back.");
- $('[name="email"]').focus();
- return false;
- }
-
- $("#contact-alert").toggle(false);
- erpnext.send_message({
- subject: $('[name="subject"]').val(),
- sender: email,
- message: message,
- callback: function(r) {
- if(r.status==="okay") {
- msgprint(r.message || "Thank you for your message.")
- } else {
- msgprint("There were errors");
- console.log(r.exc);
- }
- $(':input').val('');
- }
- });
- return false;
- });
-
-});
-
-var msgprint = function(txt) {
- if(txt) $("#contact-alert").html(txt).toggle(true);
-}
diff --git a/website/templates/pages/about.html b/website/templates/pages/about.html
deleted file mode 100644
index 277f790cf7..0000000000
--- a/website/templates/pages/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-{% extends "app/website/templates/html/page.html" %}
-
-{% set title="About Us" %}
-
-{% block content %}
-
- {{ obj.doc.company_introduction or "
About Us Some Introduction about your company that you would like your website visitor to know. More people than you think will read your About page. People always like to know who the are doing business with. Be authentic and avoid using jargon like 'value added services' etc. Be sure to update your company history and list of key team members in Website > About Us Settings
" }}
- {% if obj.doclist.get({"doctype":"Company History"}) %}
-
{{ obj.doc.company_history_heading or "Company History" }}
- {% for d in obj.doclist.get({"doctype":"Company History"}) %}
-
-
{{ d.year }}
-
{{ d.highlight }}
-
- {% endfor %}
- {% endif %}
- {% if obj.doclist.get({"doctype":"About Us Team Member"}) %}
-
{{ obj.doc.team_members_heading or "Team Members" }}
- {% for d in obj.doclist.get({"doctype":"About Us Team Member"}) %}
-
-
-
-
-
-
-
{{ d.full_name }}
- {{ d.bio }}
-
-
- {% endfor %}
- {% endif %}
- {{ obj.doc.footer or "" }}
-
-{% endblock %}
\ No newline at end of file
diff --git a/website/templates/pages/account.html b/website/templates/pages/account.html
deleted file mode 100644
index 2a5acf67e3..0000000000
--- a/website/templates/pages/account.html
+++ /dev/null
@@ -1,27 +0,0 @@
-{% extends "app/website/templates/html/page.html" %}
-
-{% set title="My Account" %}
-
-{% block content %}
-
-{% endblock %}
\ No newline at end of file
diff --git a/website/templates/pages/blog.html b/website/templates/pages/blog.html
deleted file mode 100644
index 9bd1abf178..0000000000
--- a/website/templates/pages/blog.html
+++ /dev/null
@@ -1,33 +0,0 @@
-{% extends "app/website/templates/html/page.html" %}
-
-{% block javascript %}
- {% include "app/website/templates/js/blog.js" %}
-{% endblock %}
-
-{% block css %}
- {% include "app/website/templates/css/blog.css" %}
-{% endblock %}
-
-{% set title="Blog" %}
-
-{% block content %}
-
-
{{ blog_title }}
- {% if blog_introduction %}
-
{{ blog_introduction }}
- {% endif %}
-
-
-
-
-
-
-
- More...
-
-
-{% include 'app/website/templates/html/blog_footer.html' %}
-{% endblock %}
\ No newline at end of file
diff --git a/website/templates/pages/contact.html b/website/templates/pages/contact.html
deleted file mode 100644
index 86be163f8e..0000000000
--- a/website/templates/pages/contact.html
+++ /dev/null
@@ -1,60 +0,0 @@
-{% extends "app/website/templates/html/page.html" %}
-
-{% block javascript %}
- {% include "app/website/templates/js/contact.js" %}
-{% endblock %}
-
-{% set title="Contact Us" %}
-
-{% block content %}
-
-
{{ obj.doc.heading or "Contact Us"}}
-
-
- {% if obj.doc.address %}
-
-
{{ obj.address.address_title }}
- {% if obj.address.address_line1 %}
- {{ obj.address.address_line1 }}
- {% endif %}
- {% if obj.address.address_line2 %}
- {{ obj.address.address_line2 }}
- {% endif %}
- {% if obj.address.city %}
- {{ obj.address.city }}
- {% endif %}
- {% if obj.address.state %}
- {{ obj.address.state }}
- {% endif %}
- {% if obj.address.pincode %}
- {{ obj.address.pincode }}
- {% endif %}
- {% if obj.address.country %}
- {{ obj.address.country }}
- {% endif %}
-
- {% endif %}
-
- {{ obj.doc.introduction }}
-
-{% endblock %}
\ No newline at end of file
diff --git a/website/templates/pages/index.html b/website/templates/pages/index.html
deleted file mode 100644
index 761da0c8da..0000000000
--- a/website/templates/pages/index.html
+++ /dev/null
@@ -1 +0,0 @@
-{% extends "app/website/templates/html/web_page.html" %}
\ No newline at end of file
diff --git a/website/templates/pages/invoice.html b/website/templates/pages/invoice.html
deleted file mode 100644
index 26ddea43d2..0000000000
--- a/website/templates/pages/invoice.html
+++ /dev/null
@@ -1,88 +0,0 @@
-{% extends "app/website/templates/html/page.html" %}
-
-{% set title=doc.name %}
-
-{% block content %}
-
-
-
{{ doc.name }}
-
- {%- if doc.status -%}
-
-
-
-
- {{ utils.formatdate(doc.transaction_date) }}
-
-
-
-
-
-
-
-
- Sr
- Item Name
- Description
- Qty
- UoM
- Basic Rate
- Amount
-
- {%- for row in doclist.get({"doctype":"Sales Order Item"}) %}
-
- {{ row.idx }}
- {{ row.item_name }}
- {{ row.description }}
- {{ row.qty }}
- {{ row.stock_uom }}
- {{ utils.fmt_money(row.export_rate, currency=doc.currency) }}
- {{ utils.fmt_money(row.export_amount, currency=doc.currency) }}
-
- {% endfor -%}
-
-
-
-
-
-
-
-
-
-
- Net Total
- {{
- utils.fmt_money(doc.net_total/doc.conversion_rate, currency=doc.currency)
- }}
-
- {%- for charge in doclist.get({"doctype":"Sales Taxes and Charges"}) -%}
- {%- if not charge.included_in_print_rate -%}
-
- {{ charge.description }}
- {{ utils.fmt_money(charge.tax_amount / doc.conversion_rate, currency=doc.currency) }}
-
- {%- endif -%}
- {%- endfor -%}
-
- Grand Total
- {{ utils.fmt_money(doc.grand_total_export, currency=doc.currency) }}
-
-
- Rounded Total
- {{ utils.fmt_money(doc.rounded_total_export, currency=doc.currency) }}
-
-
-
-
-
-
- {%- endif -%}
-
-{% endblock %}
\ No newline at end of file
diff --git a/website/templates/pages/messages.html b/website/templates/pages/messages.html
deleted file mode 100644
index e1ea8d0fe3..0000000000
--- a/website/templates/pages/messages.html
+++ /dev/null
@@ -1,31 +0,0 @@
-{% extends "app/website/templates/html/transactions.html" %}
-
-{% block javascript -%}
-{{ super() }}
-
-var render = function(doc) {
- doc.sender = doc.sender ? doc.sender : "To ";
- doc.recipients = doc.recipients ? (" to " + doc.recipients) : "";
- doc.content = remove_script_and_style(doc.content);
-
- if(!is_html(doc.content)) {
- doc.content = doc.content.replace("\n", "
");
- }
-
- $(repl('
\
- %(subject)s
\
- \
-
%(sender)s%(recipients)s
\
-
%(creation)s
\
-
\
-
%(content)s\
- ', doc))
- .appendTo($list)
- .on("click", function() {
- $(this).find(".msg-content").toggle();
- });
-
-
-}
-
-{%- endblock %}
\ No newline at end of file
diff --git a/website/templates/pages/sales_transactions.html b/website/templates/pages/sales_transactions.html
deleted file mode 100644
index 7215339c0d..0000000000
--- a/website/templates/pages/sales_transactions.html
+++ /dev/null
@@ -1,25 +0,0 @@
-{% extends "app/website/templates/html/transactions.html" %}
-
-{% block javascript -%}
-global_number_format = "{{ global_number_format }}";
-currency = "{{ currency }}";
-wn.currency_symbols = {{ currency_symbols }};
-
-{{ super() }}
-
-var render = function(doc) {
- doc.grand_total_export = format_currency(doc.grand_total_export, doc.currency);
-
- $(repl('
\
- \
-
\
-
%(name)s
\
-
%(items)s...
\
-
\
-
%(grand_total_export)s
\
-
%(creation)s
\
-
\
- ', doc)).appendTo($list);
-};
-
-{%- endblock %}
\ No newline at end of file
diff --git a/website/templates/pages/ticket.html b/website/templates/pages/ticket.html
deleted file mode 100644
index 6622ed1589..0000000000
--- a/website/templates/pages/ticket.html
+++ /dev/null
@@ -1,67 +0,0 @@
-{% extends "app/website/templates/html/page.html" %}
-
-{% set title=doc.name %}
-
-{% set status_label = {
- "Open": "label-success",
- "To Reply": "label-danger",
- "Closed": "label-default"
-} %}
-
-{% block content %}
-
-
-
{{ doc.name }}
- {% if doc.name == "Not Allowed" -%}
-
- {% else %}
-
- {%- if doc.status -%}
- {% if doc.status == "Waiting for Customer" -%}
- {% set status = "To Reply" %}
- {% else %}
- {% set status = doc.status %}
- {%- endif -%}
-
-
- {{ status }}
-
-
-
- {{ utils.formatdate(doc.creation) }}
-
-
-
-
Messages
- {%- if doclist.get({"doctype":"Communication"}) -%}
-
-
-
- {%- for comm in doclist.get({"doctype":"Communication"}) %}
-
-
-
- {{ comm.sender }} on {{ utils.formatdate(doc.modified) }}
-
- {{ webnotes.utils.is_html(comm.content) and comm.content or
- comm.content.replace("\n", " ")}}
-
-
- {% endfor -%}
-
-
-
- {%- else -%}
-
No messages
- {%- endif -%}
- {%- endif -%}
- {% endif -%}
-
-{% endblock %}
\ No newline at end of file
diff --git a/website/templates/pages/tickets.html b/website/templates/pages/tickets.html
deleted file mode 100644
index 166dbcd4d4..0000000000
--- a/website/templates/pages/tickets.html
+++ /dev/null
@@ -1,31 +0,0 @@
-{% extends "app/website/templates/html/transactions.html" %}
-
-{% block javascript -%}
-{{ super() }}
-
-var status_label = {
- "Open": "label-success",
- "Waiting for Customer": "label-danger",
- "Closed": "label-default"
-}
-
-var render = function(doc) {
- doc.status = doc.status.trim();
- doc.label_class = status_label[doc.status] || "label-default";
- if(doc.status==="Waiting for Customer") doc.status = "To Reply";
-
- $(repl('
\
- \
-
\
- %(status)s
\
-
\
-
%(name)s
\
-
%(subject)s
\
-
\
-
\
- %(creation)s \
-
\
-
\
- ', doc)).appendTo($list);
-};
-{%- endblock %}
\ No newline at end of file
diff --git a/website/templates/pages/transaction_list.html b/website/templates/pages/transaction_list.html
deleted file mode 100644
index 967a6a8324..0000000000
--- a/website/templates/pages/transaction_list.html
+++ /dev/null
@@ -1,77 +0,0 @@
-{% extends "app/website/templates/html/page.html" %}
-
-{% block content %}
-
-{% endblock %}
-
-{% block javascript %}
-global_number_format = "{{ global_number_format }}";
-currency = "{{ currency }}";
-wn.currency_symbols = {{ currency_symbols }};
-
-$(document).ready(function() {
- var start = 0;
- var $list = $(".transaction-list");
-
- var $show_more = $(".btn-show-more").on("click", function() {
- get_transactions(this);
- });
-
- var get_transactions = function(btn) {
- wn.call({
- method: "{{ method }}",
- args: { start: start },
- btn: btn,
- callback: function(r) {
- $list.find(".progress").remove();
- $show_more.toggle(!(r.message && r.message.length===20));
-
- if(!(r.message && r.message.length)) {
- console.log("empty");
- if(!$list.html().trim()) {
- $list.html("
\
- {{ empty_list_message }}
");
- }
- return;
- }
-
- start += r.message.length;
-
- $.each(r.message, function(i, doc) {
- render(doc);
- });
- }
- })
- };
-
- var render = function(doc) {
- doc.grand_total_export = format_currency(doc.grand_total_export, doc.currency);
-
- var $row = $(repl('
\
- \
-
\
-
%(name)s
\
-
%(items)s...
\
-
\
-
%(grand_total_export)s
\
-
%(creation)s
\
-
\
- ', doc)).appendTo($list);
- };
-
- get_transactions();
-});
-{% endblock %}
\ No newline at end of file
diff --git a/website/templates/pages/writers.html b/website/templates/pages/writers.html
deleted file mode 100644
index 5b254b0407..0000000000
--- a/website/templates/pages/writers.html
+++ /dev/null
@@ -1,17 +0,0 @@
-{% extends "app/website/templates/html/page.html" %}
-
-{% set title="Blog Writers" %}
-
-{% block content %}
-
-
Blog Writers
- {% if writers_introduction %}
-
{{ writers_introduction }}
- {% endif %}
-
- {% for blogger_info in bloggers %}
- {% include "app/website/templates/html/blogger.html" %}
- {% endfor %}
-
-{% include 'app/website/templates/html/blog_footer.html' %}
-{% endblock %}
\ No newline at end of file