From 88ac48554103ef37f5137d08995fb6e10a01bc16 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Mon, 11 Mar 2013 14:57:45 +0530 Subject: [PATCH 1/5] minor fixes in utils, purchase common and task --- .../purchase_common/purchase_common.js | 8 +++--- projects/doctype/task/task.js | 3 ++- public/js/utils.js | 26 +------------------ 3 files changed, 7 insertions(+), 30 deletions(-) diff --git a/buying/doctype/purchase_common/purchase_common.js b/buying/doctype/purchase_common/purchase_common.js index 05b7bcbef84..136ddef3830 100644 --- a/buying/doctype/purchase_common/purchase_common.js +++ b/buying/doctype/purchase_common/purchase_common.js @@ -68,15 +68,15 @@ erpnext.buying.BuyingController = erpnext.utils.Controller.extend({ callback: function(r) { if(!r.exc) { me.price_list_currency(); - if (callback_fn) callback_fn(me.frm.doc, me.frm.doc.doctype, - me.frm.doc.name); + if (typeof callback_fn === "function") + callback_fn(me.frm.doc, me.frm.doc.doctype, me.frm.doc.name); } } }); } else { me.price_list_currency(); - if (callback_fn) callback_fn(me.frm.doc, me.frm.doc.doctype, - me.frm.doc.name); + if (typeof callback_fn === "function") + callback_fn(me.frm.doc, me.frm.doc.doctype, me.frm.doc.name); } } }, diff --git a/projects/doctype/task/task.js b/projects/doctype/task/task.js index 472ca6b98cd..ea3dd6d772b 100644 --- a/projects/doctype/task/task.js +++ b/projects/doctype/task/task.js @@ -29,7 +29,8 @@ erpnext.projects.Task = erpnext.utils.Controller.extend({ project: function() { if(this.frm.doc.project) { - get_server_fields('get_project_details', '','', doc, cdt, cdn, 1); + get_server_fields('get_project_details', '','', this.frm.doc, this.frm.doc.doctype, + this.frm.doc.name, 1); } }, diff --git a/public/js/utils.js b/public/js/utils.js index 0f78705294a..7340cdcb048 100644 --- a/public/js/utils.js +++ b/public/js/utils.js @@ -26,31 +26,7 @@ erpnext.get_currency = function(company) { } // TODO -erpnext.utils.Controller = Class.extend({ - init: function(opts) { - $.extend(this, opts); - this.setup && this.setup(); - }, - - onload_post_render: function() { - if(this.frm.doc.__islocal) { - this.setup_defaults(); - } - }, - - setup_defaults: function() { - var me = this; - - var defaults = { - posting_date: wn.datetime.get_today(), - posting_time: wn.datetime.now_time() - } - - $.each(defaults, function(k, v) { - if(!me.frm.doc[k]) me.frm.set_value(k, v); - }); - }, - +erpnext.utils.Controller = wn.ui.form.Controller.extend({ refresh: function() { erpnext.hide_naming_series(); } From df6ff1385fabd100bc70ce60803b0c942e1d6ccb Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Mon, 11 Mar 2013 19:44:52 +0530 Subject: [PATCH 2/5] fixes in warehouse validation --- .../doctype/sales_invoice/sales_invoice.py | 3 +-- .../purchase_common/purchase_common.js | 2 +- .../doctype/purchase_order/purchase_order.py | 4 ++++ hr/doctype/employee/employee.py | 4 ++-- .../upload_attendance/upload_attendance.js | 2 +- projects/doctype/task/task.js | 2 +- public/js/controllers/stock_controller.js | 2 +- public/js/utils.js | 9 +-------- selling/doctype/sales_order/sales_order.py | 10 +++++----- stock/doctype/delivery_note/delivery_note.py | 19 +++++++++++++----- stock/doctype/item/item.py | 20 +++++++++++++------ .../purchase_receipt/purchase_receipt.py | 5 ++++- stock/doctype/stock_entry/stock_entry.py | 12 +++++++++-- 13 files changed, 59 insertions(+), 35 deletions(-) diff --git a/accounts/doctype/sales_invoice/sales_invoice.py b/accounts/doctype/sales_invoice/sales_invoice.py index b31d54919ca..a4924ac1873 100644 --- a/accounts/doctype/sales_invoice/sales_invoice.py +++ b/accounts/doctype/sales_invoice/sales_invoice.py @@ -537,8 +537,7 @@ class DocType(SellingController): if not w: ps = webnotes.conn.sql("select name, warehouse from `tabPOS Setting` where ifnull(user,'') = '' and company = '%s'" % self.doc.company) if not ps: - msgprint("To make POS entry, please create POS Setting from Accounts --> POS Setting page and refresh the system.") - raise Exception + msgprint("To make POS entry, please create POS Setting from Accounts --> POS Setting page and refresh the system.", raise_exception=True) elif not ps[0][1]: msgprint("Please enter warehouse in POS Setting") else: diff --git a/buying/doctype/purchase_common/purchase_common.js b/buying/doctype/purchase_common/purchase_common.js index 136ddef3830..dacee80e55d 100644 --- a/buying/doctype/purchase_common/purchase_common.js +++ b/buying/doctype/purchase_common/purchase_common.js @@ -21,7 +21,7 @@ wn.provide("erpnext.buying"); -erpnext.buying.BuyingController = erpnext.utils.Controller.extend({ +erpnext.buying.BuyingController = wn.ui.form.Controller.extend({ setup: function() { var me = this; diff --git a/buying/doctype/purchase_order/purchase_order.py b/buying/doctype/purchase_order/purchase_order.py index 438442cf247..218d4bfeee0 100644 --- a/buying/doctype/purchase_order/purchase_order.py +++ b/buying/doctype/purchase_order/purchase_order.py @@ -132,6 +132,10 @@ class DocType(BuyingController): for d in getlist(self.doclist, 'po_details'): #1. Check if is_stock_item == 'Yes' if webnotes.conn.get_value("Item", d.item_code, "is_stock_item") == "Yes": + # this happens when item is changed from non-stock to stock item + if not d.warehouse: + continue + ind_qty, po_qty = 0, flt(d.qty) * flt(d.conversion_factor) if is_stopped: po_qty = flt(d.qty) > flt(d.received_qty) and \ diff --git a/hr/doctype/employee/employee.py b/hr/doctype/employee/employee.py index 2bd79981595..d98c8a7754b 100644 --- a/hr/doctype/employee/employee.py +++ b/hr/doctype/employee/employee.py @@ -17,7 +17,7 @@ from __future__ import unicode_literals import webnotes -from webnotes.utils import getdate, validate_email_add +from webnotes.utils import getdate, validate_email_add, cstr from webnotes.model.doc import make_autoname from webnotes import msgprint, _ @@ -104,7 +104,7 @@ class DocType: fname, fid = file_args.split(",") if self.doc.image == fname: new_file_args = fname + "," + fid - file_list = profile_wrapper.doc.file_list.split("\n") + file_list = cstr(profile_wrapper.doc.file_list).split("\n") if new_file_args not in file_list: file_list += [new_file_args] profile_wrapper.doc.file_list = "\n".join(file_list) diff --git a/hr/doctype/upload_attendance/upload_attendance.js b/hr/doctype/upload_attendance/upload_attendance.js index 008e1cd878b..0c1d7b2574b 100644 --- a/hr/doctype/upload_attendance/upload_attendance.js +++ b/hr/doctype/upload_attendance/upload_attendance.js @@ -18,7 +18,7 @@ wn.require("public/app/js/utils.js"); wn.provide("erpnext.hr"); -erpnext.hr.AttendanceControlPanel = erpnext.utils.Controller.extend({ +erpnext.hr.AttendanceControlPanel = wn.ui.form.Controller.extend({ onload: function() { this.frm.set_value("att_fr_date", get_today()); this.frm.set_value("att_to_date", get_today()); diff --git a/projects/doctype/task/task.js b/projects/doctype/task/task.js index ea3dd6d772b..84939205402 100644 --- a/projects/doctype/task/task.js +++ b/projects/doctype/task/task.js @@ -18,7 +18,7 @@ wn.provide("erpnext.projects"); cur_frm.add_fetch("project", "company", "company"); -erpnext.projects.Task = erpnext.utils.Controller.extend({ +erpnext.projects.Task = wn.ui.form.Controller.extend({ setup: function() { this.frm.fields_dict.project.get_query = function() { return "select name from `tabProject` \ diff --git a/public/js/controllers/stock_controller.js b/public/js/controllers/stock_controller.js index d3511e1c033..15d34e0e335 100644 --- a/public/js/controllers/stock_controller.js +++ b/public/js/controllers/stock_controller.js @@ -16,7 +16,7 @@ wn.provide("erpnext.stock"); -erpnext.stock.StockController = erpnext.utils.Controller.extend({ +erpnext.stock.StockController = wn.ui.form.Controller.extend({ show_stock_ledger: function() { var me = this; this.frm.add_custom_button("Show Stock Ledger", function() { diff --git a/public/js/utils.js b/public/js/utils.js index 7340cdcb048..4df9555ae9b 100644 --- a/public/js/utils.js +++ b/public/js/utils.js @@ -23,11 +23,4 @@ erpnext.get_currency = function(company) { return wn.model.get(":Company", company).default_currency || wn.boot.sysdefaults.currency; else return wn.boot.sysdefaults.currency; -} - -// TODO -erpnext.utils.Controller = wn.ui.form.Controller.extend({ - refresh: function() { - erpnext.hide_naming_series(); - } -}); \ No newline at end of file +} \ No newline at end of file diff --git a/selling/doctype/sales_order/sales_order.py b/selling/doctype/sales_order/sales_order.py index 8205afbd447..5009c4ee261 100644 --- a/selling/doctype/sales_order/sales_order.py +++ b/selling/doctype/sales_order/sales_order.py @@ -156,9 +156,13 @@ class DocType(SellingController): f = [d.item_code, d.description] #check item is stock item - st_itm = sql("select is_stock_item from `tabItem` where name = '%s'"%d.item_code) + st_itm = sql("select is_stock_item from `tabItem` where name = %s", d.item_code) if st_itm and st_itm[0][0] == 'Yes': + if not d.reserved_warehouse: + msgprint("""Please enter Reserved Warehouse for item %s + as it is stock Item""" % d.item_code, raise_exception=1) + if e in check_list: msgprint("Item %s has been entered twice." % d.item_code) else: @@ -333,10 +337,6 @@ class DocType(SellingController): def update_stock_ledger(self, update_stock, is_stopped = 0): for d in self.get_item_list(is_stopped): if webnotes.conn.get_value("Item", d['item_code'], "is_stock_item") == "Yes": - if not d['reserved_warehouse']: - msgprint("""Please enter Reserved Warehouse for item %s - as it is stock Item""" % d['item_code'], raise_exception=1) - args = { "item_code": d['item_code'], "reserved_qty": flt(update_stock) * flt(d['reserved_qty']), diff --git a/stock/doctype/delivery_note/delivery_note.py b/stock/doctype/delivery_note/delivery_note.py index c0b99166ee2..52f96ab7a5e 100644 --- a/stock/doctype/delivery_note/delivery_note.py +++ b/stock/doctype/delivery_note/delivery_note.py @@ -156,7 +156,7 @@ class DocType(SellingController): if not self.doc.billing_status: self.doc.billing_status = 'Not Billed' if not self.doc.installation_status: self.doc.installation_status = 'Not Installed' - + def validate_mandatory(self): if self.doc.amended_from and not self.doc.amendment_date: msgprint("Please Enter Amendment Date") @@ -332,10 +332,10 @@ class DocType(SellingController): self.values = [] for d in self.get_item_list(): if webnotes.conn.get_value("Item", d['item_code'], "is_stock_item") == "Yes": - if not d['warehouse']: - msgprint("Please enter Warehouse for item %s as it is stock item" - % d['item_code'], raise_exception=1) - + # this happens when item is changed from non-stock to stock item + if not d["warehouse"]: + continue + if d['reserved_qty'] < 0 : # Reduce reserved qty from reserved warehouse mentioned in so args = { @@ -395,6 +395,15 @@ class DocType(SellingController): sl.scrub_serial_nos(self) sl.scrub_serial_nos(self, 'packing_details') + self.validate_warehouse() + + def validate_warehouse(self): + for d in self.get_item_list(): + if webnotes.conn.get_value("Item", d['item_code'], "is_stock_item") == "Yes": + if not d['warehouse']: + msgprint("Please enter Warehouse for item %s as it is stock item" + % d['item_code'], raise_exception=1) + def make_gl_entries(self): if not cint(webnotes.defaults.get_global_default("auto_inventory_accounting")): return diff --git a/stock/doctype/item/item.py b/stock/doctype/item/item.py index 334af298e91..74bf3f308c8 100644 --- a/stock/doctype/item/item.py +++ b/stock/doctype/item/item.py @@ -20,15 +20,12 @@ import webnotes from webnotes.utils import cstr, flt from webnotes.model.doc import addchild from webnotes.model.bean import getlist -from webnotes import msgprint +from webnotes import msgprint, _ sql = webnotes.conn.sql -class DocType: - def __init__(self, doc, doclist=[]): - self.doc = doc - self.doclist = doclist - +from webnotes.model.controller import DocListController +class DocType(DocListController): def get_tax_rate(self, tax_type): rate = sql("select tax_rate from tabAccount where name = %s", tax_type) ret = { @@ -196,6 +193,8 @@ class DocType: if self.doc.name: self.old_page_name = webnotes.conn.get_value('Item', self.doc.name, 'page_name') + + self.validate_is_stock_item() def check_non_asset_warehouse(self): if self.doc.is_asset_item == "Yes": @@ -215,6 +214,15 @@ class DocType: 'description' : file and file[0]['description'] or '' } return ret + + def validate_is_stock_item(self): + if not self.doc.fields.get("__islocal"): + if webnotes.conn.get_value("Item", self.doc.name, "is_stock_item")=="Yes" and \ + ((not self.doc.is_stock_item) or self.doc.is_stock_item == "No"): + if self.check_if_sle_exists() == "exists": + webnotes.msgprint(self.meta.get_label("is_stock_item") + ": " + + _("""Cannot change to Yes. Reason: Stock Ledger Entries exist for""") + + """ "%s" """ % self.doc.name, raise_exception=True) def check_if_sle_exists(self): sle = sql("select name from `tabStock Ledger Entry` where item_code = %s and ifnull(is_cancelled, 'No') = 'No'", self.doc.name) diff --git a/stock/doctype/purchase_receipt/purchase_receipt.py b/stock/doctype/purchase_receipt/purchase_receipt.py index 12da0a6ee87..cce1493141f 100644 --- a/stock/doctype/purchase_receipt/purchase_receipt.py +++ b/stock/doctype/purchase_receipt/purchase_receipt.py @@ -125,7 +125,7 @@ class DocType(BuyingController): self.update_raw_materials_supplied("pr_raw_material_details") self.update_valuation_rate("purchase_receipt_details") - + def on_update(self): if self.doc.rejected_warehouse: for d in getlist(self.doclist,'purchase_receipt_details'): @@ -146,6 +146,9 @@ class DocType(BuyingController): self.values = [] for d in getlist(self.doclist, 'purchase_receipt_details'): if webnotes.conn.get_value("Item", d.item_code, "is_stock_item") == "Yes": + if not d.warehouse: + continue + ord_qty = 0 pr_qty = flt(d.qty) * flt(d.conversion_factor) diff --git a/stock/doctype/stock_entry/stock_entry.py b/stock/doctype/stock_entry/stock_entry.py index 278c283284a..74b71d97b38 100644 --- a/stock/doctype/stock_entry/stock_entry.py +++ b/stock/doctype/stock_entry/stock_entry.py @@ -29,9 +29,9 @@ import json sql = webnotes.conn.sql -from utilities.transaction_base import TransactionBase +from controllers.accounts_controller import AccountsController -class DocType(TransactionBase): +class DocType(AccountsController): def __init__(self, doc, doclist=[]): self.doc = doc self.doclist = doclist @@ -44,12 +44,14 @@ class DocType(TransactionBase): pro_obj = self.doc.production_order and \ get_obj('Production Order', self.doc.production_order) or None + self.validate_item() self.validate_warehouse(pro_obj) self.validate_production_order(pro_obj) self.get_stock_and_rate() self.validate_incoming_rate() self.validate_bom() self.validate_finished_goods() + self.validate_return_reference_doc() self.validate_with_material_request() @@ -78,6 +80,12 @@ class DocType(TransactionBase): sl_obj.scrub_serial_nos(self) sl_obj.validate_serial_no(self, 'mtn_details') + def validate_item(self): + for item in self.doclist.get({"parentfield": "mtn_details"}): + if item.item_code not in self.stock_items: + msgprint(_("""Only Stock Items are allowed for Stock Entry"""), + raise_exception=True) + def validate_warehouse(self, pro_obj): """perform various (sometimes conditional) validations on warehouse""" From 9e4b1e691315b5f9f673d1cb301697449f9ab8b0 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Tue, 12 Mar 2013 10:44:35 +0530 Subject: [PATCH 3/5] patch fix: published on should be date of creation --- patches/march_2013/p03_rename_blog_to_blog_post.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/march_2013/p03_rename_blog_to_blog_post.py b/patches/march_2013/p03_rename_blog_to_blog_post.py index 7520f9cf8bc..69902f34bee 100644 --- a/patches/march_2013/p03_rename_blog_to_blog_post.py +++ b/patches/march_2013/p03_rename_blog_to_blog_post.py @@ -6,4 +6,4 @@ def execute(): webnotes.reload_doc('website', 'doctype', 'blog_post') webnotes.conn.sql('''update tabBlogger set posts=(select count(*) from `tabBlog Post` where ifnull(blogger,"")=tabBlogger.name)''') - webnotes.conn.sql("""update `tabBlog Post` set published_on=creation""") + webnotes.conn.sql("""update `tabBlog Post` set published_on=date(creation)""") From 6dc6e7c84a0f32f89ac962f902c8744295d1e2e7 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Tue, 12 Mar 2013 12:51:53 +0530 Subject: [PATCH 4/5] minor fixes in stock entry js --- stock/doctype/stock_entry/stock_entry.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/stock/doctype/stock_entry/stock_entry.js b/stock/doctype/stock_entry/stock_entry.js index 55a86a3799d..ba1f64802ab 100644 --- a/stock/doctype/stock_entry/stock_entry.js +++ b/stock/doctype/stock_entry/stock_entry.js @@ -19,7 +19,6 @@ wn.provide("erpnext.stock"); erpnext.stock.StockEntry = erpnext.stock.StockController.extend({ onload_post_render: function() { - this._super(); if(this.frm.doc.__islocal && (this.frm.doc.production_order || this.frm.doc.bom_no) && !getchildren('Stock Entry Detail', this.frm.doc.name, 'mtn_details').length) { // if production order / bom is mentioned, get items @@ -28,7 +27,7 @@ erpnext.stock.StockEntry = erpnext.stock.StockController.extend({ }, refresh: function() { - this._super(); + erpnext.hide_naming_series(); this.toggle_related_fields(this.frm.doc); this.toggle_enable_bom(); if (this.frm.doc.docstatus==1) { From 11b1fb811f432ce80e72a23a0ab8936134783f85 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Tue, 12 Mar 2013 14:28:29 +0530 Subject: [PATCH 5/5] fixes to about us --- home/page/latest_updates/latest_updates.js | 3 +- setup/page/setup/setup.js | 6 --- .../about_us_settings/about_us_settings.py | 22 ++++----- .../about_us_settings/about_us_settings.txt | 16 +++++-- .../about_us_team_member.txt | 35 ++++++++++----- .../doctype/style_settings/style_settings.txt | 15 ++++--- website/templates/html/product_in_list.html | 1 - website/templates/pages/about.html | 45 ++++++++----------- website/utils.py | 2 +- 9 files changed, 79 insertions(+), 66 deletions(-) diff --git a/home/page/latest_updates/latest_updates.js b/home/page/latest_updates/latest_updates.js index b66fe4c9a17..84db37287ff 100644 --- a/home/page/latest_updates/latest_updates.js +++ b/home/page/latest_updates/latest_updates.js @@ -1,5 +1,6 @@ erpnext.updates = [ - ["5th March", ["Refactored Upload Attendace Tool"]], + ["12th March", ["Updates to website module. Added more options in Style Settings and Website Settings."]], + ["5th March", ["Refactored Upload Attendance Tool"]], ["4th March", ["Lead organization added in Quotation classic/spartan/modern print format"]], ["1st March", [ "Time Log, Time Log Batch: Created feature to batch Time Logs so that they can be tracked for billing.", diff --git a/setup/page/setup/setup.js b/setup/page/setup/setup.js index e970a60c247..394a5f6b56f 100644 --- a/setup/page/setup/setup.js +++ b/setup/page/setup/setup.js @@ -98,12 +98,6 @@ wn.module_page["Setup"] = [ label:wn._("Print Heading"), "description":wn._("Add headers for standard print formats") }, - { - "route":"Form/Style Settings/Style Settings", - doctype:wn._("Style Settings"), - label:wn._("Style Settings"), - "description":wn._("Change background fonts etc") - } ] }, { diff --git a/website/doctype/about_us_settings/about_us_settings.py b/website/doctype/about_us_settings/about_us_settings.py index 6c404f16f82..e291aa85d00 100644 --- a/website/doctype/about_us_settings/about_us_settings.py +++ b/website/doctype/about_us_settings/about_us_settings.py @@ -7,16 +7,16 @@ from website.utils import url_for_website class DocType: def __init__(self, d, dl): self.doc, self.doclist = d, dl - - def onload(self): - """load employee""" - emp_list = [] - for d in self.doclist.get({"doctype":"About Us Team Member"}): - emp = webnotes.doc("Employee", d.employee) - emp.image = url_for_website(emp.image) - emp_list.append(emp) - self.doclist += emp_list - + def on_update(self): from website.utils import clear_cache - clear_cache("about") \ No newline at end of file + clear_cache("about") + +def get_args(): + obj = webnotes.get_obj("About Us Settings") + for d in obj.doclist.get({"doctype":"About Us Team Member"}): + if not "/" in d.image_link: + d.image_link = "files/" + d.image_link + 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 index a42d2f35119..6a27f732b9c 100644 --- a/website/doctype/about_us_settings/about_us_settings.txt +++ b/website/doctype/about_us_settings/about_us_settings.txt @@ -1,12 +1,13 @@ [ { - "creation": "2013-01-10 16:34:32", + "creation": "2013-03-07 15:53:15", "docstatus": 0, - "modified": "2013-01-22 14:12:16", + "modified": "2013-03-12 13:51:29", "modified_by": "Administrator", "owner": "Administrator" }, { + "allow_attach": 1, "description": "Settings for the About Us Page", "doctype": "DocType", "document_type": "Master", @@ -31,7 +32,7 @@ "parenttype": "DocType", "permlevel": 0, "read": 1, - "report": 1, + "report": 0, "role": "Website Manager", "submit": 0, "write": 1 @@ -101,6 +102,15 @@ "fieldtype": "Text Editor", "label": "Footer" }, + { + "doctype": "DocField", + "fieldname": "file_list", + "fieldtype": "Text", + "hidden": 1, + "label": "File List", + "no_copy": 1, + "print_hide": 1 + }, { "doctype": "DocPerm" } 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 index ec77dd78b3a..b1bf6b306a3 100644 --- a/website/doctype/about_us_team_member/about_us_team_member.txt +++ b/website/doctype/about_us_team_member/about_us_team_member.txt @@ -1,8 +1,8 @@ [ { - "creation": "2013-02-22 01:28:07", + "creation": "2013-03-07 11:55:11", "docstatus": 0, - "modified": "2013-03-07 07:03:18", + "modified": "2013-03-12 13:51:02", "modified_by": "Administrator", "owner": "Administrator" }, @@ -14,23 +14,38 @@ }, { "doctype": "DocField", - "fieldname": "employee", - "fieldtype": "Link", - "label": "Employee", "name": "__common__", - "options": "Employee", "parent": "About Us Team Member", "parentfield": "fields", "parenttype": "DocType", - "permlevel": 0, - "print_width": "300px", - "width": "300px" + "permlevel": 0 }, { "doctype": "DocType", "name": "About Us Team Member" }, { - "doctype": "DocField" + "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/style_settings/style_settings.txt b/website/doctype/style_settings/style_settings.txt index fbb4c422f66..3f898e72f21 100644 --- a/website/doctype/style_settings/style_settings.txt +++ b/website/doctype/style_settings/style_settings.txt @@ -2,7 +2,7 @@ { "creation": "2013-03-08 11:36:53", "docstatus": 0, - "modified": "2013-03-12 11:34:32", + "modified": "2013-03-12 13:35:14", "modified_by": "Administrator", "owner": "Administrator" }, @@ -65,6 +65,12 @@ "fieldtype": "Data", "label": "Page Background" }, + { + "doctype": "DocField", + "fieldname": "page_border", + "fieldtype": "Check", + "label": "Page Border" + }, { "doctype": "DocField", "fieldname": "page_headings", @@ -83,16 +89,11 @@ "fieldtype": "Data", "label": "Page Links" }, - { - "doctype": "DocField", - "fieldname": "page_border", - "fieldtype": "Check", - "label": "Page Border" - }, { "doctype": "DocField", "fieldname": "cb0", "fieldtype": "Column Break", + "label": "Top Bar", "print_width": "50%", "width": "50%" }, diff --git a/website/templates/html/product_in_list.html b/website/templates/html/product_in_list.html index 43b0134c1d1..97de5963660 100644 --- a/website/templates/html/product_in_list.html +++ b/website/templates/html/product_in_list.html @@ -8,6 +8,5 @@

{{ item_name }}

-

Item Code: {{ name }}

\ No newline at end of file diff --git a/website/templates/pages/about.html b/website/templates/pages/about.html index 30d9a5d287d..28fb1f6a254 100644 --- a/website/templates/pages/about.html +++ b/website/templates/pages/about.html @@ -7,34 +7,27 @@ {{ 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"}) %} - - - - - {% endfor %} - -

{{ d.year }}

{{ d.highlight }}
+ {% for d in obj.doclist.get({"doctype":"Company History"}) %} +
+

{{ d.year }}

+

{{ d.highlight }}

+
+ {% endfor %} {% endif %} - {% if obj.doclist.get({"doctype":"Employee"}) %} + {% if obj.doclist.get({"doctype":"About Us Team Member"}) %}

{{ obj.doc.team_members_heading or "Team Members" }}

- - - {% for d in obj.doclist.get({"doctype":"Employee"}) %} - - - - - {% endfor %} - -
-
- -
-

{{ d.employee_name }}

-
{{ d.bio }}
+ {% for d in obj.doclist.get({"doctype":"About Us Team Member"}) %} +
+ +
+ +
+
+

{{ d.full_name }}

+
{{ d.bio }}
+
+
+ {% endfor %} {% endif %} {{ obj.doc.footer or "" }} diff --git a/website/utils.py b/website/utils.py index 921d2fc5f1f..0f62d26b630 100644 --- a/website/utils.py +++ b/website/utils.py @@ -40,7 +40,7 @@ page_map = { } page_settings_map = { - "about": "About Us Settings", + "about": "website.doctype.about_us_settings.about_us_settings.get_args", "contact": "Contact Us Settings", "blog": "website.helpers.blog.get_blog_template_args", "writers": "website.helpers.blog.get_writers_args"