Merge branch 'latest' of github.com:webnotes/erpnext into latest
Conflicts: erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py
This commit is contained in:
commit
707cd06606
@ -11,7 +11,8 @@ from webnotes.utils.scheduler import set_event, cancel_event, Scheduler
|
|||||||
|
|
||||||
in_transaction = webnotes.conn.in_transaction
|
in_transaction = webnotes.conn.in_transaction
|
||||||
convert_to_lists = webnotes.conn.convert_to_lists
|
convert_to_lists = webnotes.conn.convert_to_lists
|
||||||
|
session = webnotes.session
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
from utilities.transaction_base import TransactionBase
|
from utilities.transaction_base import TransactionBase
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
# version info
|
|
||||||
|
|
||||||
version='1.0.0'
|
|
@ -212,7 +212,8 @@ HomeWidgetItem.prototype.delete_item = function() {
|
|||||||
var callback = function(r,rt) {
|
var callback = function(r,rt) {
|
||||||
$(me.wrapper).slideUp();
|
$(me.wrapper).slideUp();
|
||||||
}
|
}
|
||||||
$c_obj('Home Control',this.widget.delete_method, this.widget.get_item_id(this.det) ,callback);
|
$c_obj('Home Control',this.widget.delete_method,
|
||||||
|
this.widget.get_item_id(this.det) ,callback);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -324,7 +325,7 @@ HomeToDo = function(widget) {
|
|||||||
this.widget.get_list_method = 'get_todo_list';
|
this.widget.get_list_method = 'get_todo_list';
|
||||||
this.widget.delete_method = 'remove_todo_item';
|
this.widget.delete_method = 'remove_todo_item';
|
||||||
this.widget.no_items_message = 'Nothing to do?';
|
this.widget.no_items_message = 'Nothing to do?';
|
||||||
this.widget.get_item_id = function(det) { return det[0]; }
|
this.widget.get_item_id = function(det) { return det.name; }
|
||||||
|
|
||||||
this.widget.decorator = this;
|
this.widget.decorator = this;
|
||||||
|
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
# website patch
|
# website patch
|
||||||
|
|
||||||
import webnotes
|
import webnotes
|
||||||
|
from webnotes.model.doc import Document
|
||||||
|
|
||||||
def execute():
|
def execute():
|
||||||
cleanup_file_data()
|
add_website_manager()
|
||||||
return
|
return
|
||||||
|
cleanup_file_data()
|
||||||
update_patch_log()
|
update_patch_log()
|
||||||
from webnotes.modules import reload_doc
|
from webnotes.modules import reload_doc
|
||||||
reload_doc('website', 'Module Def', 'Website')
|
reload_doc('website', 'Module Def', 'Website')
|
||||||
@ -13,6 +16,17 @@ def execute():
|
|||||||
reload_doc('website', 'doctype', 'top_bar_item')
|
reload_doc('website', 'doctype', 'top_bar_item')
|
||||||
reload_doc('website', 'page', 'home')
|
reload_doc('website', 'page', 'home')
|
||||||
|
|
||||||
|
def add_website_manager():
|
||||||
|
"""add website manager to system manager"""
|
||||||
|
for i in webnotes.conn.sql("""select distinct parent from tabUserRole
|
||||||
|
where role='System Manager'"""):
|
||||||
|
if not webnotes.conn.sql("""select parent from tabUserRole
|
||||||
|
where role='Website Manager' and parent=%s""", i[0]):
|
||||||
|
d = Document('UserRole')
|
||||||
|
d.parent = i[0]
|
||||||
|
d.role = 'Website Manager'
|
||||||
|
d.save(1)
|
||||||
|
|
||||||
def cleanup_file_data():
|
def cleanup_file_data():
|
||||||
webnotes.conn.commit()
|
webnotes.conn.commit()
|
||||||
webnotes.conn.sql("""alter table `tabFile Data` drop column blob_content""")
|
webnotes.conn.sql("""alter table `tabFile Data` drop column blob_content""")
|
||||||
|
@ -145,8 +145,10 @@ SidebarItem.prototype.onclick = function() {
|
|||||||
// page type
|
// page type
|
||||||
this.pointer.select();
|
this.pointer.select();
|
||||||
|
|
||||||
$item_set_working(me.pointer.label_area);
|
$(me.pointer.label_area).set_working();
|
||||||
loadpage(this.det.module_page, function() { $item_done_working(me.pointer.label_area); });
|
loadpage(this.det.module_page, function() {
|
||||||
|
$(me.pointer.label_area).done_working();
|
||||||
|
});
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// show sub items
|
// show sub items
|
||||||
@ -190,7 +192,7 @@ SidebarItem.prototype.show_items = function() {
|
|||||||
this.loading = 1;
|
this.loading = 1;
|
||||||
var me = this;
|
var me = this;
|
||||||
|
|
||||||
$item_set_working(this.pointer.label_area);
|
$(this.pointer.label_area).set_working();
|
||||||
var callback = function(r,rt){
|
var callback = function(r,rt){
|
||||||
me.loaded = 1;
|
me.loaded = 1;
|
||||||
me.loading = 0;
|
me.loading = 0;
|
||||||
@ -199,7 +201,7 @@ SidebarItem.prototype.show_items = function() {
|
|||||||
var has_tools = 0;
|
var has_tools = 0;
|
||||||
|
|
||||||
// widget code
|
// widget code
|
||||||
$item_done_working(me.pointer.label_area);
|
$(me.pointer.label_area).done_working();
|
||||||
|
|
||||||
if(r.message.il) {
|
if(r.message.il) {
|
||||||
me.il = r.message.il;
|
me.il = r.message.il;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
h1, h2, h3, h4 {
|
h1, h2, h3, h4 {
|
||||||
font-family: Tahoma, Sans Serif;
|
font-family: Tahoma, Arial, Verdana, sans-serif;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
{
|
{
|
||||||
'creation': '2012-01-23 17:05:32',
|
'creation': '2012-01-23 17:05:32',
|
||||||
'docstatus': 0,
|
'docstatus': 0,
|
||||||
'modified': '2012-01-24 15:57:51',
|
'modified': '2012-01-27 10:14:58',
|
||||||
'modified_by': 'Administrator',
|
'modified_by': 'Administrator',
|
||||||
'owner': 'Administrator'
|
'owner': 'Administrator'
|
||||||
},
|
},
|
||||||
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
# These values are common for all Module Def Item
|
# These values are common for all Module Def Item
|
||||||
{
|
{
|
||||||
|
'doc_type': 'Single DocType',
|
||||||
'doctype': 'Module Def Item',
|
'doctype': 'Module Def Item',
|
||||||
'name': '__common__',
|
'name': '__common__',
|
||||||
'parent': 'Website',
|
'parent': 'Website',
|
||||||
@ -48,7 +49,6 @@
|
|||||||
{
|
{
|
||||||
'display_name': 'Top Bar Settings',
|
'display_name': 'Top Bar Settings',
|
||||||
'doc_name': 'Top Bar Settings',
|
'doc_name': 'Top Bar Settings',
|
||||||
'doc_type': 'Single DocType',
|
|
||||||
'doctype': 'Module Def Item'
|
'doctype': 'Module Def Item'
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -56,7 +56,20 @@
|
|||||||
{
|
{
|
||||||
'display_name': 'Home Settings',
|
'display_name': 'Home Settings',
|
||||||
'doc_name': 'Home Settings',
|
'doc_name': 'Home Settings',
|
||||||
'doc_type': 'Forms',
|
'doctype': 'Module Def Item'
|
||||||
|
},
|
||||||
|
|
||||||
|
# Module Def Item
|
||||||
|
{
|
||||||
|
'display_name': 'Contact Us Settings',
|
||||||
|
'doc_name': 'Contact Us Settings',
|
||||||
|
'doctype': 'Module Def Item'
|
||||||
|
},
|
||||||
|
|
||||||
|
# Module Def Item
|
||||||
|
{
|
||||||
|
'display_name': 'About Us Settings',
|
||||||
|
'doc_name': 'About Us Settings',
|
||||||
'doctype': 'Module Def Item'
|
'doctype': 'Module Def Item'
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -8,6 +8,10 @@ header .topbar .container {
|
|||||||
margin: auto;
|
margin: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.web-content input[type="text"], .web-content input[type="password"], .web-content select {
|
||||||
|
min-width: 180px;
|
||||||
|
}
|
||||||
|
|
||||||
.web-main-section {
|
.web-main-section {
|
||||||
width: 65%;
|
width: 65%;
|
||||||
float: left;
|
float: left;
|
||||||
@ -18,4 +22,7 @@ header .topbar .container {
|
|||||||
width: 30%;
|
width: 30%;
|
||||||
float: right;
|
float: right;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
|
margin-right: 15px;
|
||||||
|
color: #606060;
|
||||||
|
overflow-x: hidden;
|
||||||
}
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
"""
|
||||||
|
generate html
|
||||||
|
"""
|
||||||
|
import webnotes
|
||||||
|
|
||||||
|
class DocType:
|
||||||
|
def __init__(self, d, dl):
|
||||||
|
self.doc, self.doclist = d, dl
|
||||||
|
|
||||||
|
def on_update(self):
|
||||||
|
"""make home html"""
|
||||||
|
from website.utils import make_template
|
||||||
|
import os
|
||||||
|
path = os.path.join(os.path.dirname(__file__), 'template.html')
|
||||||
|
|
||||||
|
self.doc.about_team = webnotes.conn.sql("""select * from `tabAbout Us Team`
|
||||||
|
where parent='About Us Settings'""", as_dict=1)
|
||||||
|
|
||||||
|
import markdown2
|
||||||
|
for t in self.doc.about_team:
|
||||||
|
t['bio'] = markdown2.markdown(t['bio'])
|
||||||
|
|
||||||
|
webnotes.conn.set_value('Page', 'about', 'content', make_template(self.doc, path))
|
106
erpnext/website/doctype/about_us_settings/about_us_settings.txt
Normal file
106
erpnext/website/doctype/about_us_settings/about_us_settings.txt
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
# DocType, About Us Settings
|
||||||
|
[
|
||||||
|
|
||||||
|
# These values are common in all dictionaries
|
||||||
|
{
|
||||||
|
'creation': '2012-01-27 10:13:16',
|
||||||
|
'docstatus': 0,
|
||||||
|
'modified': '2012-01-27 11:36:44',
|
||||||
|
'modified_by': 'Administrator',
|
||||||
|
'owner': 'Administrator'
|
||||||
|
},
|
||||||
|
|
||||||
|
# These values are common for all DocType
|
||||||
|
{
|
||||||
|
'_last_update': '1327641155',
|
||||||
|
'allow_attach': 1,
|
||||||
|
'colour': 'White:FFF',
|
||||||
|
'doctype': 'DocType',
|
||||||
|
'issingle': 1,
|
||||||
|
'max_attachments': 10,
|
||||||
|
'module': 'Website',
|
||||||
|
'name': '__common__',
|
||||||
|
'section_style': 'Simple',
|
||||||
|
'show_in_menu': 0,
|
||||||
|
'version': 4
|
||||||
|
},
|
||||||
|
|
||||||
|
# These values are common for all DocField
|
||||||
|
{
|
||||||
|
'doctype': 'DocField',
|
||||||
|
'name': '__common__',
|
||||||
|
'parent': 'About Us Settings',
|
||||||
|
'parentfield': 'fields',
|
||||||
|
'parenttype': 'DocType',
|
||||||
|
'permlevel': 0
|
||||||
|
},
|
||||||
|
|
||||||
|
# These values are common for all DocPerm
|
||||||
|
{
|
||||||
|
'create': 1,
|
||||||
|
'doctype': 'DocPerm',
|
||||||
|
'name': '__common__',
|
||||||
|
'parent': 'About Us Settings',
|
||||||
|
'parentfield': 'permissions',
|
||||||
|
'parenttype': 'DocType',
|
||||||
|
'permlevel': 0,
|
||||||
|
'read': 1,
|
||||||
|
'role': 'Website Manager',
|
||||||
|
'write': 1
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocType, About Us Settings
|
||||||
|
{
|
||||||
|
'doctype': 'DocType',
|
||||||
|
'name': 'About Us Settings'
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocPerm
|
||||||
|
{
|
||||||
|
'doctype': 'DocPerm'
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocField
|
||||||
|
{
|
||||||
|
'doctype': 'DocField',
|
||||||
|
'fieldname': 'headline',
|
||||||
|
'fieldtype': 'Data',
|
||||||
|
'label': 'Headline'
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocField
|
||||||
|
{
|
||||||
|
'doctype': 'DocField',
|
||||||
|
'fieldname': 'main_section',
|
||||||
|
'fieldtype': 'Code',
|
||||||
|
'label': 'Main Section'
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocField
|
||||||
|
{
|
||||||
|
'doctype': 'DocField',
|
||||||
|
'fieldname': 'team',
|
||||||
|
'fieldtype': 'Table',
|
||||||
|
'label': 'Team',
|
||||||
|
'options': 'About Us Team'
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocField
|
||||||
|
{
|
||||||
|
'doctype': 'DocField',
|
||||||
|
'fieldname': 'side_section',
|
||||||
|
'fieldtype': 'Code',
|
||||||
|
'label': 'Side Section'
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocField
|
||||||
|
{
|
||||||
|
'doctype': 'DocField',
|
||||||
|
'fieldname': 'file_list',
|
||||||
|
'fieldtype': 'Text',
|
||||||
|
'hidden': 1,
|
||||||
|
'label': 'File List',
|
||||||
|
'no_copy': 1,
|
||||||
|
'print_hide': 1
|
||||||
|
}
|
||||||
|
]
|
36
erpnext/website/doctype/about_us_settings/template.html
Normal file
36
erpnext/website/doctype/about_us_settings/template.html
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<div class="layout_wrapper">
|
||||||
|
<div class="web-content" id="content-contact-us">
|
||||||
|
{% if doc.headline %}
|
||||||
|
<h1>{{ doc.headline }}</h1>
|
||||||
|
{% endif %}
|
||||||
|
<div class="web-main-section">
|
||||||
|
{{ doc.main_section_html }}
|
||||||
|
|
||||||
|
{% if doc.about_team %}
|
||||||
|
<h2>Team</h2>
|
||||||
|
<table style="width: 90%">
|
||||||
|
<tbody>
|
||||||
|
{% for p in doc.about_team %}
|
||||||
|
<tr>
|
||||||
|
<td style="width: 110px">
|
||||||
|
<img src="files/{{ p.image }}"
|
||||||
|
style="width: 100px; margin-right: 10px;
|
||||||
|
margin-bottom: 15px;" />
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<h4>{{ p.person_name }}</h4>
|
||||||
|
<div class="comment">{{ p.designation }}</div>
|
||||||
|
<div style="margin-bottom: 15px">{{ p.bio }}</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
<div class="web-side-section">
|
||||||
|
{{ doc.side_section_html }}
|
||||||
|
</div>
|
||||||
|
<div style="clear: both"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
0
erpnext/website/doctype/about_us_team/__init__.py
Normal file
0
erpnext/website/doctype/about_us_team/__init__.py
Normal file
74
erpnext/website/doctype/about_us_team/about_us_team.txt
Normal file
74
erpnext/website/doctype/about_us_team/about_us_team.txt
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
# DocType, About Us Team
|
||||||
|
[
|
||||||
|
|
||||||
|
# These values are common in all dictionaries
|
||||||
|
{
|
||||||
|
'creation': '2012-01-27 10:14:18',
|
||||||
|
'docstatus': 0,
|
||||||
|
'modified': '2012-01-27 11:54:18',
|
||||||
|
'modified_by': 'Administrator',
|
||||||
|
'owner': 'Administrator'
|
||||||
|
},
|
||||||
|
|
||||||
|
# These values are common for all DocType
|
||||||
|
{
|
||||||
|
'colour': 'White:FFF',
|
||||||
|
'doctype': 'DocType',
|
||||||
|
'istable': 1,
|
||||||
|
'module': 'Website',
|
||||||
|
'name': '__common__',
|
||||||
|
'section_style': 'Simple',
|
||||||
|
'show_in_menu': 0,
|
||||||
|
'version': 5
|
||||||
|
},
|
||||||
|
|
||||||
|
# These values are common for all DocField
|
||||||
|
{
|
||||||
|
'doctype': 'DocField',
|
||||||
|
'name': '__common__',
|
||||||
|
'parent': 'About Us Team',
|
||||||
|
'parentfield': 'fields',
|
||||||
|
'parenttype': 'DocType',
|
||||||
|
'permlevel': 0
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocType, About Us Team
|
||||||
|
{
|
||||||
|
'doctype': 'DocType',
|
||||||
|
'name': 'About Us Team'
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocField
|
||||||
|
{
|
||||||
|
'doctype': 'DocField',
|
||||||
|
'fieldname': 'person_name',
|
||||||
|
'fieldtype': 'Data',
|
||||||
|
'label': 'Person Name'
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocField
|
||||||
|
{
|
||||||
|
'doctype': 'DocField',
|
||||||
|
'fieldname': 'designation',
|
||||||
|
'fieldtype': 'Data',
|
||||||
|
'label': 'Designation'
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocField
|
||||||
|
{
|
||||||
|
'doctype': 'DocField',
|
||||||
|
'fieldname': 'image',
|
||||||
|
'fieldtype': 'Select',
|
||||||
|
'label': 'Image',
|
||||||
|
'options': 'attach_files:'
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocField
|
||||||
|
{
|
||||||
|
'doctype': 'DocField',
|
||||||
|
'fieldname': 'bio',
|
||||||
|
'fieldtype': 'Text',
|
||||||
|
'label': 'Bio (markdown)',
|
||||||
|
'width': '300px'
|
||||||
|
}
|
||||||
|
]
|
@ -0,0 +1,16 @@
|
|||||||
|
"""
|
||||||
|
generate html
|
||||||
|
"""
|
||||||
|
import webnotes
|
||||||
|
|
||||||
|
class DocType:
|
||||||
|
def __init__(self, d, dl):
|
||||||
|
self.doc, self.doclist = d, dl
|
||||||
|
|
||||||
|
def on_update(self):
|
||||||
|
"""make home html"""
|
||||||
|
from website.utils import make_template
|
||||||
|
import os
|
||||||
|
path = os.path.join(os.path.dirname(__file__), 'template.html')
|
||||||
|
|
||||||
|
webnotes.conn.set_value('Page', 'contact', 'content', make_template(self.doc, path))
|
@ -0,0 +1,100 @@
|
|||||||
|
# DocType, Contact Us Settings
|
||||||
|
[
|
||||||
|
|
||||||
|
# These values are common in all dictionaries
|
||||||
|
{
|
||||||
|
'creation': '2012-01-25 16:01:33',
|
||||||
|
'docstatus': 0,
|
||||||
|
'modified': '2012-01-25 16:01:33',
|
||||||
|
'modified_by': 'Administrator',
|
||||||
|
'owner': 'Administrator'
|
||||||
|
},
|
||||||
|
|
||||||
|
# These values are common for all DocType
|
||||||
|
{
|
||||||
|
'colour': 'White:FFF',
|
||||||
|
'doctype': 'DocType',
|
||||||
|
'document_type': 'Other',
|
||||||
|
'issingle': 1,
|
||||||
|
'module': 'Website',
|
||||||
|
'name': '__common__',
|
||||||
|
'section_style': 'Simple',
|
||||||
|
'show_in_menu': 0,
|
||||||
|
'version': 1
|
||||||
|
},
|
||||||
|
|
||||||
|
# These values are common for all DocField
|
||||||
|
{
|
||||||
|
'colour': 'White:FFF',
|
||||||
|
'doctype': 'DocField',
|
||||||
|
'name': '__common__',
|
||||||
|
'parent': 'Contact Us Settings',
|
||||||
|
'parentfield': 'fields',
|
||||||
|
'parenttype': 'DocType',
|
||||||
|
'permlevel': 0
|
||||||
|
},
|
||||||
|
|
||||||
|
# These values are common for all DocPerm
|
||||||
|
{
|
||||||
|
'create': 1,
|
||||||
|
'doctype': 'DocPerm',
|
||||||
|
'name': '__common__',
|
||||||
|
'parent': 'Contact Us Settings',
|
||||||
|
'parentfield': 'permissions',
|
||||||
|
'parenttype': 'DocType',
|
||||||
|
'permlevel': 0,
|
||||||
|
'read': 1,
|
||||||
|
'write': 1
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocType, Contact Us Settings
|
||||||
|
{
|
||||||
|
'doctype': 'DocType',
|
||||||
|
'name': 'Contact Us Settings'
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocPerm
|
||||||
|
{
|
||||||
|
'doctype': 'DocPerm',
|
||||||
|
'role': 'Website Manager'
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocPerm
|
||||||
|
{
|
||||||
|
'doctype': 'DocPerm',
|
||||||
|
'role': 'System Manager'
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocField
|
||||||
|
{
|
||||||
|
'default': 'Contact Us',
|
||||||
|
'doctype': 'DocField',
|
||||||
|
'fieldname': 'headline',
|
||||||
|
'fieldtype': 'Data',
|
||||||
|
'label': 'Headline'
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocField
|
||||||
|
{
|
||||||
|
'doctype': 'DocField',
|
||||||
|
'fieldname': 'send_email_notification',
|
||||||
|
'fieldtype': 'Check',
|
||||||
|
'label': 'Send Email Notification'
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocField
|
||||||
|
{
|
||||||
|
'doctype': 'DocField',
|
||||||
|
'fieldname': 'main_section',
|
||||||
|
'fieldtype': 'Code',
|
||||||
|
'label': 'Main Section'
|
||||||
|
},
|
||||||
|
|
||||||
|
# DocField
|
||||||
|
{
|
||||||
|
'doctype': 'DocField',
|
||||||
|
'fieldname': 'side_section',
|
||||||
|
'fieldtype': 'Code',
|
||||||
|
'label': 'Side Section'
|
||||||
|
}
|
||||||
|
]
|
24
erpnext/website/doctype/contact_us_settings/template.html
Normal file
24
erpnext/website/doctype/contact_us_settings/template.html
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<div class="layout_wrapper">
|
||||||
|
<div class="web-content" id="content-contact-us">
|
||||||
|
{% if doc.headline %}
|
||||||
|
<h1>{{ doc.headline }}</h1>
|
||||||
|
{% endif %}
|
||||||
|
<div class="web-main-section">
|
||||||
|
<label>Your Name*</label>
|
||||||
|
<div><input name="contact-name" type="text"/></div>
|
||||||
|
<br>
|
||||||
|
<label>Email*</label>
|
||||||
|
<div><input name="contact-email" type="text"/></div>
|
||||||
|
<br>
|
||||||
|
<label>Message*</label>
|
||||||
|
<div><textarea name="contact-message" style="height: 200px"></textarea></div>
|
||||||
|
<br>
|
||||||
|
<div><button class="btn primary">Send</button></div>
|
||||||
|
{{ doc.main_section_html }}
|
||||||
|
</div>
|
||||||
|
<div class="web-side-section">
|
||||||
|
{{ doc.side_section_html }}
|
||||||
|
</div>
|
||||||
|
<div style="clear: both"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -1,6 +1,7 @@
|
|||||||
"""
|
"""
|
||||||
generate home html
|
generate html
|
||||||
"""
|
"""
|
||||||
|
import webnotes
|
||||||
|
|
||||||
class DocType:
|
class DocType:
|
||||||
def __init__(self, d, dl):
|
def __init__(self, d, dl):
|
||||||
@ -8,19 +9,9 @@ class DocType:
|
|||||||
|
|
||||||
def on_update(self):
|
def on_update(self):
|
||||||
"""make home html"""
|
"""make home html"""
|
||||||
import os, jinja2, markdown2
|
from website.utils import make_template
|
||||||
import webnotes
|
import os
|
||||||
|
path = os.path.join(os.path.dirname(__file__), 'template.html')
|
||||||
|
|
||||||
# markdown
|
webnotes.conn.set_value('Page', 'home', 'content', make_template(self.doc, path))
|
||||||
self.doc.main_section_html = markdown2.markdown(self.doc.main_section or '', \
|
|
||||||
extras=["wiki-tables"])
|
|
||||||
self.doc.side_section_html = markdown2.markdown(self.doc.side_section or '', \
|
|
||||||
extras=["wiki-tables"])
|
|
||||||
|
|
||||||
# write template
|
|
||||||
with open(os.path.join(os.path.dirname(__file__), 'template.html'), 'r') as f:
|
|
||||||
temp = jinja2.Template(f.read())
|
|
||||||
|
|
||||||
html = temp.render(doc = self.doc.fields)
|
|
||||||
webnotes.conn.set_value('Page', 'Home', 'content', html)
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
<div class="layout_wrapper">
|
<div class="layout_wrapper">
|
||||||
<div id="content-home">
|
<div class="web-content" id="content-home">
|
||||||
{% if doc.headline %}
|
{% if doc.headline %}
|
||||||
<h1>{{ doc.headline }}</h1>
|
<h1>{{ doc.headline }}</h1>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
0
erpnext/website/page/about/__init__.py
Normal file
0
erpnext/website/page/about/__init__.py
Normal file
42
erpnext/website/page/about/about.txt
Normal file
42
erpnext/website/page/about/about.txt
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# Page, about
|
||||||
|
[
|
||||||
|
|
||||||
|
# These values are common in all dictionaries
|
||||||
|
{
|
||||||
|
'creation': '2012-01-27 11:37:57',
|
||||||
|
'docstatus': 0,
|
||||||
|
'modified': '2012-01-27 11:37:57',
|
||||||
|
'modified_by': 'Administrator',
|
||||||
|
'owner': 'Administrator'
|
||||||
|
},
|
||||||
|
|
||||||
|
# These values are common for all Page
|
||||||
|
{
|
||||||
|
'doctype': 'Page',
|
||||||
|
'module': 'Website',
|
||||||
|
'name': '__common__',
|
||||||
|
'page_name': 'about',
|
||||||
|
'standard': 'Yes'
|
||||||
|
},
|
||||||
|
|
||||||
|
# These values are common for all Page Role
|
||||||
|
{
|
||||||
|
'doctype': 'Page Role',
|
||||||
|
'name': '__common__',
|
||||||
|
'parent': 'about',
|
||||||
|
'parentfield': 'roles',
|
||||||
|
'parenttype': 'Page',
|
||||||
|
'role': 'Guest'
|
||||||
|
},
|
||||||
|
|
||||||
|
# Page, about
|
||||||
|
{
|
||||||
|
'doctype': 'Page',
|
||||||
|
'name': 'about'
|
||||||
|
},
|
||||||
|
|
||||||
|
# Page Role
|
||||||
|
{
|
||||||
|
'doctype': 'Page Role'
|
||||||
|
}
|
||||||
|
]
|
0
erpnext/website/page/contact/__init__.py
Normal file
0
erpnext/website/page/contact/__init__.py
Normal file
30
erpnext/website/page/contact/contact.js
Normal file
30
erpnext/website/page/contact/contact.js
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
pscript.onload_contact = function(wrapper) {
|
||||||
|
$('#content-contact-us .btn.primary').click(function() {
|
||||||
|
var me = this;
|
||||||
|
var args = {};
|
||||||
|
args.name = $('#content-contact-us [name="contact-name"]').val();
|
||||||
|
args.email = $('#content-contact-us [name="contact-email"]').val();
|
||||||
|
args.message = $('#content-contact-us [name="contact-message"]').val();
|
||||||
|
|
||||||
|
if(!validate_email(args.email)) {
|
||||||
|
msgprint('Please enter a valid email id');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(args.name && args.email && args.message) {
|
||||||
|
$(this).set_working();
|
||||||
|
$c_page('website', 'contact', 'send', args, function(r) {
|
||||||
|
$('#content-contact-us [name*="contact"]').val('');
|
||||||
|
$(me).done_working();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
msgprint("Please enter info in all the fields.")
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#content-contact-us :input').keyup(function(ev) {
|
||||||
|
if(ev.which == 13) {
|
||||||
|
$('#content-contact-us .btn.primary').click();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
15
erpnext/website/page/contact/contact.py
Normal file
15
erpnext/website/page/contact/contact.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import json, webnotes
|
||||||
|
|
||||||
|
def send(args):
|
||||||
|
"""create support ticket"""
|
||||||
|
args = json.loads(args)
|
||||||
|
|
||||||
|
from webnotes.model.doc import Document
|
||||||
|
d = Document('Support Ticket')
|
||||||
|
d.raised_by = args['email']
|
||||||
|
d.description = 'From: ' + args['name'] + '\n\n' + args['message']
|
||||||
|
d.subject = 'Website Query'
|
||||||
|
d.status = 'Open'
|
||||||
|
d.owner = 'Guest'
|
||||||
|
d.save(1)
|
||||||
|
webnotes.msgprint("Thank you for your query. We will respond as soon as we can.")
|
42
erpnext/website/page/contact/contact.txt
Normal file
42
erpnext/website/page/contact/contact.txt
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# Page, contact
|
||||||
|
[
|
||||||
|
|
||||||
|
# These values are common in all dictionaries
|
||||||
|
{
|
||||||
|
'creation': '2012-01-25 16:02:15',
|
||||||
|
'docstatus': 0,
|
||||||
|
'modified': '2012-01-25 16:02:15',
|
||||||
|
'modified_by': 'Administrator',
|
||||||
|
'owner': 'Administrator'
|
||||||
|
},
|
||||||
|
|
||||||
|
# These values are common for all Page
|
||||||
|
{
|
||||||
|
'doctype': 'Page',
|
||||||
|
'module': 'Website',
|
||||||
|
'name': '__common__',
|
||||||
|
'page_name': 'contact',
|
||||||
|
'standard': 'Yes'
|
||||||
|
},
|
||||||
|
|
||||||
|
# These values are common for all Page Role
|
||||||
|
{
|
||||||
|
'doctype': 'Page Role',
|
||||||
|
'name': '__common__',
|
||||||
|
'parent': 'contact',
|
||||||
|
'parentfield': 'roles',
|
||||||
|
'parenttype': 'Page',
|
||||||
|
'role': 'Guest'
|
||||||
|
},
|
||||||
|
|
||||||
|
# Page, contact
|
||||||
|
{
|
||||||
|
'doctype': 'Page',
|
||||||
|
'name': 'contact'
|
||||||
|
},
|
||||||
|
|
||||||
|
# Page Role
|
||||||
|
{
|
||||||
|
'doctype': 'Page Role'
|
||||||
|
}
|
||||||
|
]
|
14
erpnext/website/utils.py
Normal file
14
erpnext/website/utils.py
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
def make_template(doc, path, convert_fields = ['main_section', 'side_section']):
|
||||||
|
"""make template"""
|
||||||
|
import os, jinja2, markdown2
|
||||||
|
|
||||||
|
# markdown
|
||||||
|
for f in convert_fields:
|
||||||
|
doc.fields[f + '_html'] = markdown2.markdown(doc.fields[f] or '', \
|
||||||
|
extras=["wiki-tables"])
|
||||||
|
|
||||||
|
# write template
|
||||||
|
with open(path, 'r') as f:
|
||||||
|
temp = jinja2.Template(f.read())
|
||||||
|
|
||||||
|
return temp.render(doc = doc.fields)
|
@ -3,7 +3,7 @@
|
|||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>ERPNext</title>
|
<title>ERPNext</title>
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<script type="text/javascript">window._version_number="201";
|
<script type="text/javascript">window._version_number="215";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* lib/js/wn/class.js
|
* lib/js/wn/class.js
|
||||||
|
@ -1 +1 @@
|
|||||||
201
|
215
|
Loading…
Reference in New Issue
Block a user