website updates
diff --git a/css/all-app.css b/css/all-app.css
index 21cf8fb..66229fd 100644
--- a/css/all-app.css
+++ b/css/all-app.css
@@ -1728,7 +1728,6 @@
padding: 0px;
font-size: 14px;
color: #000;
- background-color: #e2e2e2;
}
/* font settings */
@@ -1848,12 +1847,12 @@
div#body_div {
display: none;
padding-right: 7px;
- width: 900px;
- margin: auto;
- margin-top: 56px;
+ padding-top: 70px;
+ padding-bottom: 50px;
}
.content {
+ margin: auto;
width: 900px;
}
@@ -1864,23 +1863,19 @@
transition: background 1s ease-in;
}
-footer {
- width: 900px;
- margin: auto;
-}
header .container {
width: 900px;
margin: auto;
}
@media (max-width: 1200px) {
- div#body_div, header .container, .content, #opened-page-selector, footer {
+ header .container, .content {
width: 900px;
}
}
@media (min-width: 1200px) {
- div#body_div, header .container, .content, #opened-page-selector, footer {
+ header .container, .content {
width: 1100px;
}
}
@@ -1931,7 +1926,6 @@
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
- margin-bottom: 30px;
overflow: hidden;
}
@@ -3581,7 +3575,6 @@
}
body {
- background: url(../images/redbeech.jpg) repeat;
color: #616161;
}
diff --git a/css/all-web.css b/css/all-web.css
index 8ac14cb..c7ab6f8 100644
--- a/css/all-web.css
+++ b/css/all-web.css
@@ -1196,6 +1196,387 @@
}
/*
+ * lib/css/bootstrap/icons.css
+ */
+[class^="icon-"], [class*=" icon-"] {
+ display: inline-block;
+ width: 14px;
+ height: 14px;
+ line-height: 14px;
+ vertical-align: text-top;
+ background-image: url("../lib/images/icons/glyphicons-halflings.png");
+ background-position: 14px 14px;
+ background-repeat: no-repeat;
+ *margin-right: .3em;
+}
+[class^="icon-"]:last-child, [class*=" icon-"]:last-child {
+ *margin-left: 0;
+}
+.icon-white {
+ background-image: url("../lib/images/icons/glyphicons-halflings-white.png");
+}
+.icon-glass {
+ background-position: 0 0;
+}
+.icon-music {
+ background-position: -24px 0;
+}
+.icon-search {
+ background-position: -48px 0;
+}
+.icon-envelope {
+ background-position: -72px 0;
+}
+.icon-heart {
+ background-position: -96px 0;
+}
+.icon-star {
+ background-position: -120px 0;
+}
+.icon-star-empty {
+ background-position: -144px 0;
+}
+.icon-user {
+ background-position: -168px 0;
+}
+.icon-film {
+ background-position: -192px 0;
+}
+.icon-th-large {
+ background-position: -216px 0;
+}
+.icon-th {
+ background-position: -240px 0;
+}
+.icon-th-list {
+ background-position: -264px 0;
+}
+.icon-ok {
+ background-position: -288px 0;
+}
+.icon-remove {
+ background-position: -312px 0;
+}
+.icon-zoom-in {
+ background-position: -336px 0;
+}
+.icon-zoom-out {
+ background-position: -360px 0;
+}
+.icon-off {
+ background-position: -384px 0;
+}
+.icon-signal {
+ background-position: -408px 0;
+}
+.icon-cog {
+ background-position: -432px 0;
+}
+.icon-trash {
+ background-position: -456px 0;
+}
+.icon-home {
+ background-position: 0 -24px;
+}
+.icon-file {
+ background-position: -24px -24px;
+}
+.icon-time {
+ background-position: -48px -24px;
+}
+.icon-road {
+ background-position: -72px -24px;
+}
+.icon-download-alt {
+ background-position: -96px -24px;
+}
+.icon-download {
+ background-position: -120px -24px;
+}
+.icon-upload {
+ background-position: -144px -24px;
+}
+.icon-inbox {
+ background-position: -168px -24px;
+}
+.icon-play-circle {
+ background-position: -192px -24px;
+}
+.icon-repeat {
+ background-position: -216px -24px;
+}
+.icon-refresh {
+ background-position: -240px -24px;
+}
+.icon-list-alt {
+ background-position: -264px -24px;
+}
+.icon-lock {
+ background-position: -287px -24px;
+}
+.icon-flag {
+ background-position: -312px -24px;
+}
+.icon-headphones {
+ background-position: -336px -24px;
+}
+.icon-volume-off {
+ background-position: -360px -24px;
+}
+.icon-volume-down {
+ background-position: -384px -24px;
+}
+.icon-volume-up {
+ background-position: -408px -24px;
+}
+.icon-qrcode {
+ background-position: -432px -24px;
+}
+.icon-barcode {
+ background-position: -456px -24px;
+}
+.icon-tag {
+ background-position: 0 -48px;
+}
+.icon-tags {
+ background-position: -25px -48px;
+}
+.icon-book {
+ background-position: -48px -48px;
+}
+.icon-bookmark {
+ background-position: -72px -48px;
+}
+.icon-print {
+ background-position: -96px -48px;
+}
+.icon-camera {
+ background-position: -120px -48px;
+}
+.icon-font {
+ background-position: -144px -48px;
+}
+.icon-bold {
+ background-position: -167px -48px;
+}
+.icon-italic {
+ background-position: -192px -48px;
+}
+.icon-text-height {
+ background-position: -216px -48px;
+}
+.icon-text-width {
+ background-position: -240px -48px;
+}
+.icon-align-left {
+ background-position: -264px -48px;
+}
+.icon-align-center {
+ background-position: -288px -48px;
+}
+.icon-align-right {
+ background-position: -312px -48px;
+}
+.icon-align-justify {
+ background-position: -336px -48px;
+}
+.icon-list {
+ background-position: -360px -48px;
+}
+.icon-indent-left {
+ background-position: -384px -48px;
+}
+.icon-indent-right {
+ background-position: -408px -48px;
+}
+.icon-facetime-video {
+ background-position: -432px -48px;
+}
+.icon-picture {
+ background-position: -456px -48px;
+}
+.icon-pencil {
+ background-position: 0 -72px;
+}
+.icon-map-marker {
+ background-position: -24px -72px;
+}
+.icon-adjust {
+ background-position: -48px -72px;
+}
+.icon-tint {
+ background-position: -72px -72px;
+}
+.icon-edit {
+ background-position: -96px -72px;
+}
+.icon-share {
+ background-position: -120px -72px;
+}
+.icon-check {
+ background-position: -144px -72px;
+}
+.icon-move {
+ background-position: -168px -72px;
+}
+.icon-step-backward {
+ background-position: -192px -72px;
+}
+.icon-fast-backward {
+ background-position: -216px -72px;
+}
+.icon-backward {
+ background-position: -240px -72px;
+}
+.icon-play {
+ background-position: -264px -72px;
+}
+.icon-pause {
+ background-position: -288px -72px;
+}
+.icon-stop {
+ background-position: -312px -72px;
+}
+.icon-forward {
+ background-position: -336px -72px;
+}
+.icon-fast-forward {
+ background-position: -360px -72px;
+}
+.icon-step-forward {
+ background-position: -384px -72px;
+}
+.icon-eject {
+ background-position: -408px -72px;
+}
+.icon-chevron-left {
+ background-position: -432px -72px;
+}
+.icon-chevron-right {
+ background-position: -456px -72px;
+}
+.icon-plus-sign {
+ background-position: 0 -96px;
+}
+.icon-minus-sign {
+ background-position: -24px -96px;
+}
+.icon-remove-sign {
+ background-position: -48px -96px;
+}
+.icon-ok-sign {
+ background-position: -72px -96px;
+}
+.icon-question-sign {
+ background-position: -96px -96px;
+}
+.icon-info-sign {
+ background-position: -120px -96px;
+}
+.icon-screenshot {
+ background-position: -144px -96px;
+}
+.icon-remove-circle {
+ background-position: -168px -96px;
+}
+.icon-ok-circle {
+ background-position: -192px -96px;
+}
+.icon-ban-circle {
+ background-position: -216px -96px;
+}
+.icon-arrow-left {
+ background-position: -240px -96px;
+}
+.icon-arrow-right {
+ background-position: -264px -96px;
+}
+.icon-arrow-up {
+ background-position: -289px -96px;
+}
+.icon-arrow-down {
+ background-position: -312px -96px;
+}
+.icon-share-alt {
+ background-position: -336px -96px;
+}
+.icon-resize-full {
+ background-position: -360px -96px;
+}
+.icon-resize-small {
+ background-position: -384px -96px;
+}
+.icon-plus {
+ background-position: -408px -96px;
+}
+.icon-minus {
+ background-position: -433px -96px;
+}
+.icon-asterisk {
+ background-position: -456px -96px;
+}
+.icon-exclamation-sign {
+ background-position: 0 -120px;
+}
+.icon-gift {
+ background-position: -24px -120px;
+}
+.icon-leaf {
+ background-position: -48px -120px;
+}
+.icon-fire {
+ background-position: -72px -120px;
+}
+.icon-eye-open {
+ background-position: -96px -120px;
+}
+.icon-eye-close {
+ background-position: -120px -120px;
+}
+.icon-warning-sign {
+ background-position: -144px -120px;
+}
+.icon-plane {
+ background-position: -168px -120px;
+}
+.icon-calendar {
+ background-position: -192px -120px;
+}
+.icon-random {
+ background-position: -216px -120px;
+}
+.icon-comment {
+ background-position: -240px -120px;
+}
+.icon-magnet {
+ background-position: -264px -120px;
+}
+.icon-chevron-up {
+ background-position: -288px -120px;
+}
+.icon-chevron-down {
+ background-position: -313px -119px;
+}
+.icon-retweet {
+ background-position: -336px -120px;
+}
+.icon-shopping-cart {
+ background-position: -360px -120px;
+}
+.icon-folder-close {
+ background-position: -384px -120px;
+}
+.icon-folder-open {
+ background-position: -408px -120px;
+}
+.icon-resize-vertical {
+ background-position: -432px -119px;
+}
+.icon-resize-horizontal {
+ background-position: -456px -118px;
+}
+
+/*
* lib/css/legacy/body.css
*/
html {
@@ -1208,7 +1589,6 @@
padding: 0px;
font-size: 14px;
color: #000;
- background-color: #e2e2e2;
}
/* font settings */
@@ -1328,12 +1708,12 @@
div#body_div {
display: none;
padding-right: 7px;
- width: 900px;
- margin: auto;
- margin-top: 56px;
+ padding-top: 70px;
+ padding-bottom: 50px;
}
.content {
+ margin: auto;
width: 900px;
}
@@ -1344,23 +1724,19 @@
transition: background 1s ease-in;
}
-footer {
- width: 900px;
- margin: auto;
-}
header .container {
width: 900px;
margin: auto;
}
@media (max-width: 1200px) {
- div#body_div, header .container, .content, #opened-page-selector, footer {
+ header .container, .content {
width: 900px;
}
}
@media (min-width: 1200px) {
- div#body_div, header .container, .content, #opened-page-selector, footer {
+ header .container, .content {
width: 1100px;
}
}
@@ -1411,7 +1787,6 @@
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
- margin-bottom: 30px;
overflow: hidden;
}
@@ -1898,7 +2273,6 @@
}
body {
- background: url(../images/redbeech.jpg) repeat;
color: #616161;
}
@@ -1943,12 +2317,13 @@
/*
* erpnext/website/css/website.css
*/
-div#body_div, header .container, .content, #opened-page-selector, footer {
+header .container, .content {
width: 900px;
}
div#body_div {
- margin-top: 90px;
+ padding-top: 90px;
+ min-height: 400px;
}
p, li {
@@ -2007,19 +2382,23 @@
background-color: #444;
}
+
footer {
- color: #777;
+ background-color: #eee;
+ box-shadow: inset 0 10px 10px rgba(0,0,0,0.3), inset 0 3px 3px rgba(0,0,0,0.3);
+ border-top: 1px solid #555;
+ padding-top: 10px;
+ text-align: center;
}
.web-footer {
color: inherit;
- text-align: center;
- margin: 10px;
+ padding: 10px;
line-height: 1.7;
}
.web-footer div, .web-footer a {
- font-size: 14px;
+ font-size: 12px;
}
.web-footer-menu {
@@ -2038,10 +2417,20 @@
border-right: 1px solid #999;
}
+.web-footer-menu ul li:first-child {
+ padding-left: 0px;
+}
+
.web-footer-menu ul li:last-child {
border-right: 0px solid #777 !important;
}
+.web-footer-powered {
+ color: #888;
+ float: right;
+ margin-top: -12px;
+}
+
/* slide view */
.next-slide {
diff --git a/erpnext/startup/startup.css b/erpnext/startup/startup.css
index bd21144..5ba72f3 100644
--- a/erpnext/startup/startup.css
+++ b/erpnext/startup/startup.css
@@ -13,7 +13,6 @@
}
body {
- background: url(../images/redbeech.jpg) repeat;
color: #616161;
}
diff --git a/erpnext/startup/startup.js b/erpnext/startup/startup.js
index 442e7be..9c14d2e 100644
--- a/erpnext/startup/startup.js
+++ b/erpnext/startup/startup.js
@@ -170,7 +170,7 @@
}
erpnext.set_user_background = function(src) {
- set_style(repl('body { background: url("files/%(src)s") repeat;}', {src:src}))
+ set_style(repl('#body_div { background: url("files/%(src)s") repeat;}', {src:src}))
}
// start
diff --git a/erpnext/website/css/website.css b/erpnext/website/css/website.css
index ad8702a..fa27d4a 100644
--- a/erpnext/website/css/website.css
+++ b/erpnext/website/css/website.css
@@ -1,9 +1,10 @@
-div#body_div, header .container, .content, #opened-page-selector, footer {
+header .container, .content {
width: 900px;
}
div#body_div {
- margin-top: 90px;
+ padding-top: 90px;
+ min-height: 400px;
}
p, li {
@@ -62,19 +63,23 @@
background-color: #444;
}
+
footer {
- color: #777;
+ background-color: #eee;
+ box-shadow: inset 0 10px 10px rgba(0,0,0,0.3), inset 0 3px 3px rgba(0,0,0,0.3);
+ border-top: 1px solid #555;
+ padding-top: 10px;
+ text-align: center;
}
.web-footer {
color: inherit;
- text-align: center;
- margin: 10px;
+ padding: 10px;
line-height: 1.7;
}
.web-footer div, .web-footer a {
- font-size: 14px;
+ font-size: 12px;
}
.web-footer-menu {
@@ -93,10 +98,20 @@
border-right: 1px solid #999;
}
+.web-footer-menu ul li:first-child {
+ padding-left: 0px;
+}
+
.web-footer-menu ul li:last-child {
border-right: 0px solid #777 !important;
}
+.web-footer-powered {
+ color: #888;
+ float: right;
+ margin-top: -12px;
+}
+
/* slide view */
.next-slide {
diff --git a/erpnext/website/doctype/blog/blog.py b/erpnext/website/doctype/blog/blog.py
index 1f1b98b..c78a9cc 100644
--- a/erpnext/website/doctype/blog/blog.py
+++ b/erpnext/website/doctype/blog/blog.py
@@ -32,9 +32,11 @@
self.doc.name = website.utils.page_name(self.doc.title)
def validate(self):
- """write/update 'Page' with the blog"""
+ """write/update 'Page' with the blog"""
+ if self.doc.page_name:
+ webnotes.conn.sql("""delete from tabPage where name=%s""", self.doc.page_name)
+
p = website.utils.add_page(self.doc.title)
- self.doc.name = p.name
from jinja2 import Template
import markdown2
@@ -54,11 +56,11 @@
p.save()
website.utils.add_guest_access_to_page(p.name)
+ self.doc.page_name = p.name
# cleanup
for f in ['content_html', 'full_name', 'updated']:
if f in self.doc.fields:
- del self.doc.fields[f]
-
+ del self.doc.fields[f]
\ No newline at end of file
diff --git a/erpnext/website/doctype/blog/blog.txt b/erpnext/website/doctype/blog/blog.txt
index f9ff6fd..ad44d13 100644
--- a/erpnext/website/doctype/blog/blog.txt
+++ b/erpnext/website/doctype/blog/blog.txt
@@ -3,9 +3,9 @@
# These values are common in all dictionaries
{
- 'creation': '2012-03-27 14:36:47',
+ 'creation': '2012-04-02 16:02:43',
'docstatus': 0,
- 'modified': '2012-03-27 14:36:47',
+ 'modified': '2012-04-26 16:58:27',
'modified_by': u'Administrator',
'owner': u'Administrator'
},
@@ -21,7 +21,7 @@
'name': '__common__',
'section_style': u'Simple',
'show_in_menu': 0,
- 'version': 3
+ 'version': 5
},
# These values are common for all DocField
@@ -35,15 +35,12 @@
# These values are common for all DocPerm
{
- 'create': 1,
'doctype': u'DocPerm',
'name': '__common__',
'parent': u'Blog',
'parentfield': u'permissions',
'parenttype': u'DocType',
- 'permlevel': 0,
- 'read': 1,
- 'write': 1
+ 'read': 1
},
# DocType, Blog
@@ -54,14 +51,27 @@
# DocPerm
{
+ 'create': 1,
'doctype': u'DocPerm',
- 'role': u'Website Manager'
+ 'permlevel': 0,
+ 'role': u'Website Manager',
+ 'write': 1
+ },
+
+ # DocPerm
+ {
+ 'create': 1,
+ 'doctype': u'DocPerm',
+ 'permlevel': 0,
+ 'role': u'Blogger',
+ 'write': 1
},
# DocPerm
{
'doctype': u'DocPerm',
- 'role': u'Blogger'
+ 'permlevel': 1,
+ 'role': u'All'
},
# DocField
@@ -70,7 +80,8 @@
'fieldname': u'title',
'fieldtype': u'Data',
'label': u'Title',
- 'permlevel': 0
+ 'permlevel': 0,
+ 'reqd': 1
},
# DocField
@@ -88,7 +99,8 @@
'fieldname': u'content',
'fieldtype': u'Code',
'label': u'Content',
- 'permlevel': 0
+ 'permlevel': 0,
+ 'reqd': 0
},
# DocField
@@ -96,13 +108,22 @@
'doctype': u'DocField',
'fieldname': u'content_html',
'fieldtype': u'Text',
- 'label': u'Preview',
+ 'label': u'Content HTML',
'permlevel': 1
},
# DocField
{
'doctype': u'DocField',
+ 'fieldname': u'page_name',
+ 'fieldtype': u'Data',
+ 'label': u'Page Name',
+ 'permlevel': 0
+ },
+
+ # DocField
+ {
+ 'doctype': u'DocField',
'fieldname': u'file_list',
'fieldtype': u'Text',
'hidden': 1,
diff --git a/erpnext/website/doctype/blog/blog_page.js b/erpnext/website/doctype/blog/blog_page.js
index aa3f4c5..dddc6e0 100644
--- a/erpnext/website/doctype/blog/blog_page.js
+++ b/erpnext/website/doctype/blog/blog_page.js
@@ -18,32 +18,28 @@
pscript['onload_{{ doc.name }}'] = function(wrapper) {
// sidebar
- var side = $(wrapper).find('.web-side-section')
- .append('<h4>Recent Posts</h4>').get(0);
-
wrapper.recent_list = new wn.ui.Listing({
- parent: side,
+ parent: $(wrapper).find('.recent-posts'),
+ no_toolbar: true,
query: 'select name, title, left(content, 100) as content from tabBlog\
- where ifnull(published,1)=1',
+ where ifnull(published,0)=1 and name!="{{ doc.name }}" order by modified desc',
hide_refresh: true,
render_row: function(parent, data) {
- if(data.content.length==100) data.content += '...';
+ console.log(data);
+ if(data.content && data.content.length==100) data.content += '...';
parent.innerHTML = repl('<a href="#!%(name)s">%(title)s</a>\
<div class="comment">%(content)s</div><br>', data);
},
- page_length: 5
+ page_length: 5,
});
wrapper.recent_list.run();
-
-
- // comments
- $(wrapper).find('.web-main-section').append('<hr><h3>Comments</h3>');
-
+
wrapper.comment_list = new wn.ui.Listing({
- parent: $(wrapper).find('.web-main-section').get(0),
+ parent: $(wrapper).find('.blog-comments').get(0),
+ no_toolbar: true,
query: 'select comment, comment_by_fullname, modified\
from `tabComment` where comment_doctype="Page"\
- and comment_docname="{{ doc.name }}"',
+ and comment_docname="{{ doc.name }}" order by modified desc',
no_result_message: 'Be the first one to comment',
render_row: function(parent, data) {
data.comment_date = prettyDate(data.modified);
@@ -57,7 +53,7 @@
wrapper.comment_list.run();
// add comment
- $(wrapper).find('.web-main-section').append('<br><button class="btn add-comment">\
+ $(wrapper).find('.layout-main-section').append('<br><button class="btn add-comment">\
Add Comment</button>');
$(wrapper).find('button.add-comment').click(function(){
d = new wn.widgets.Dialog({
diff --git a/erpnext/website/doctype/blog/template.html b/erpnext/website/doctype/blog/template.html
index 467f301..688ffac 100644
--- a/erpnext/website/doctype/blog/template.html
+++ b/erpnext/website/doctype/blog/template.html
@@ -1,14 +1,18 @@
<div class="layout-wrapper layout-wrapper-background">
<div class="web-content" id="blog-{{ doc.name }}">
<div class="layout-main-section">
- <h1>Blog</h1>
- <h3>{{ doc.title }}</h3>
+ <h2>{{ doc.title }}</h2>
<div class="help">By {{ doc.full_name }} on {{ doc.updated }}</div>
<br>
{{ doc.content_html }}
+ <hr><h3>Comments</h3>
+ <br>
+ <div class="blog-comments"></div>
</div>
<div class="layout-side-section">
<p><a href="#!blog">All Blogs</a></p>
+ <h4>Recent Posts</h4>
+ <div class="recent-posts" style="min-height: 100px;"></div>
<h4>Subscribe</h4>
<p>
<img src="images/feed.png" style="margin-right: 4px; margin-bottom: -4px">
diff --git a/erpnext/website/doctype/style_settings/custom_template.css b/erpnext/website/doctype/style_settings/custom_template.css
index 8c987f8..4866ac7 100644
--- a/erpnext/website/doctype/style_settings/custom_template.css
+++ b/erpnext/website/doctype/style_settings/custom_template.css
@@ -1,4 +1,4 @@
-body {
+#body_div {
{% if doc.background_image %}
background: url("files/{{ doc.background_image }}") repeat;
{% elif doc.background_color %}
diff --git a/erpnext/website/doctype/web_page/template.html b/erpnext/website/doctype/web_page/template.html
index 471c95c..b66aded 100644
--- a/erpnext/website/doctype/web_page/template.html
+++ b/erpnext/website/doctype/web_page/template.html
@@ -28,6 +28,3 @@
<div style="clear: both"></div>
</div>
</div>
-<div class="web-page-status small">
- Last Modified: {{ doc.updated }} <a href="#contact">Feedback</a>
-</div>
diff --git a/erpnext/website/doctype/web_page/web_page.js b/erpnext/website/doctype/web_page/web_page.js
index 0b7b78d..17e7f15 100644
--- a/erpnext/website/doctype/web_page/web_page.js
+++ b/erpnext/website/doctype/web_page/web_page.js
@@ -24,10 +24,10 @@
refresh: function(doc) {
cur_frm.cscript.layout(doc);
},
- insert_style: function() {
+ insert_style: function(doc) {
cur_frm.cscript.layout(doc);
},
- insert_code: function() {
+ insert_code: function(doc) {
cur_frm.cscript.layout(doc);
}
})
\ No newline at end of file
diff --git a/erpnext/website/js/topbar.js b/erpnext/website/js/topbar.js
index aec0f02..8caf8dc 100644
--- a/erpnext/website/js/topbar.js
+++ b/erpnext/website/js/topbar.js
@@ -91,8 +91,7 @@
init: function() {
$('footer').html(repl('<div class="web-footer">\
<div class="web-footer-menu"><ul></ul></div>\
- <div class="web-footer-address">%(address)s</div>\
- <div class="web-footer-copyright">© %(copyright)s</div>\
+ <div class="web-footer-copyright">© %(copyright)s | %(address)s</div>\
<div class="web-footer-powered">Powered by \
<a href="https://erpnext.com">erpnext.com</a></div>\
</div>', wn.boot.website_settings));
diff --git a/erpnext/website/page/blog/blog.html b/erpnext/website/page/blog/blog.html
index ffb8128..8d7cd00 100644
--- a/erpnext/website/page/blog/blog.html
+++ b/erpnext/website/page/blog/blog.html
@@ -3,6 +3,7 @@
<div class="layout-main-section">
<h1>Blog</h1>
<br>
+ <div id="blog-list"></div>
</div>
<div class="layout-side-section">
<!-- for later
diff --git a/erpnext/website/page/blog/blog.js b/erpnext/website/page/blog/blog.js
index 418fc6c..3836f90 100644
--- a/erpnext/website/page/blog/blog.js
+++ b/erpnext/website/page/blog/blog.js
@@ -17,18 +17,22 @@
pscript.onload_blog = function(wrapper) {
wrapper.blog_list = new wn.ui.Listing({
- parent: $(wrapper).find('.layout-main-section').get(0),
- query: 'select tabBlog.name, title, left(content, 300) as content, tabBlog.modified, \
+ parent: $(wrapper).find('#blog-list').get(0),
+ query: 'select tabBlog.name, title, left(content, 1000) as content, tabBlog.modified, \
ifnull(first_name, "") as first_name, ifnull(last_name, "") as last_name \
from tabProfile, tabBlog\
- where ifnull(published,1)=1 and tabBlog.owner = tabProfile.name',
+ where ifnull(published,0)=1 and tabBlog.owner = tabProfile.name',
hide_refresh: true,
+ no_toolbar: true,
render_row: function(parent, data) {
- if(data.content.length==300) data.content += '...';
+ if(data.content && data.content.length==1000) data.content += '... (read on)';
+ data.content = wn.markdown(data.content);
+ if(data.last_name) data.last_name = ' ' + data.last_name;
data.date = prettyDate(data.modified);
- parent.innerHTML = repl('<h3><a href="#!%(name)s">%(title)s</a></h3>\
- <p><div class="help">By %(first_name)s %(last_name)s on %(date)s</div></p>\
- <div class="comment">%(content)s</div><br>', data);
+ parent.innerHTML = repl('<h2>%(title)s</h2>\
+ <p><div class="help">By %(first_name)s%(last_name)s, %(date)s</div></p>\
+ <p>%(content)s</p>\
+ <a href="#!%(name)s">Read Full Text</a><br>', data);
},
page_length: 10
});
diff --git a/js/all-app.js b/js/all-app.js
index bec4220..7e5ce41 100644
--- a/js/all-app.js
+++ b/js/all-app.js
@@ -1288,7 +1288,7 @@
delete locals[dt][dn];}
function get_local(dt,dn){return locals[dt]?locals[dt][dn]:null;}
LocalDB.sync=function(list){if(list._kl)list=expand_doclist(list);for(var i=0;i<list.length;i++){var d=list[i];if(!d.name)
-d.name=LocalDB.get_localname(d.doctype);LocalDB.add(d.doctype,d.name);locals[d.doctype][d.name]=d;if(d.doctype=='DocField')wn.meta.add_field(d);if(d.localname){wn.model.new_names[d.localname]=d.name;$(document).trigger('rename',[d.doctype,d.localname,d.name]);delete locals[d.doctype][d.localname];}}}
+d.name=LocalDB.get_localname(d.doctype);LocalDB.add(d.doctype,d.name);locals[d.doctype][d.name]=d;if(d.doctype=='DocField')wn.meta.add_field(d);if(d.localname){wn.model.new_names[d.localname]=d.name;console.log(d.localname);$(document).trigger('rename',[d.doctype,d.localname,d.name]);delete locals[d.doctype][d.localname];}}}
local_name_idx={};LocalDB.get_localname=function(doctype){if(!local_name_idx[doctype])local_name_idx[doctype]=1;var n='New '+get_doctype_label(doctype)+' '+local_name_idx[doctype];local_name_idx[doctype]++;return n;}
LocalDB.set_default_values=function(doc){var doctype=doc.doctype;var docfields=wn.meta.docfield_list[doctype];if(!docfields){return;}
var fields_to_refresh=[];for(var fid=0;fid<docfields.length;fid++){var f=docfields[fid];if(!in_list(no_value_fields,f.fieldtype)&&doc[f.fieldname]==null){var v=LocalDB.get_default_value(f.fieldname,f.fieldtype,f['default']);if(v){doc[f.fieldname]=v;fields_to_refresh.push(f.fieldname);}}}
@@ -1687,7 +1687,8 @@
/*
* lib/js/legacy/widgets/form/form.js
*/
-wn.provide('_f');_f.frms={};_f.Frm=function(doctype,parent){this.docname='';this.doctype=doctype;this.display=0;var me=this;this.is_editable={};this.opendocs={};this.sections=[];this.grids=[];this.cscript={};this.pformat={};this.fetch_dict={};this.parent=parent;this.tinymce_id_list=[];this.setup_meta(doctype);var me=this;$(document).bind('rename',function(event,dt,old_name,new_name){if(dt==me.doctype)
+wn.provide('_f');_f.frms={};_f.Frm=function(doctype,parent){this.docname='';this.doctype=doctype;this.display=0;var me=this;this.is_editable={};this.opendocs={};this.sections=[];this.grids=[];this.cscript={};this.pformat={};this.fetch_dict={};this.parent=parent;this.tinymce_id_list=[];this.setup_meta(doctype);var me=this;$(document).bind('rename',function(event,dt,old_name,new_name){console.log(arguments)
+if(dt==me.doctype)
me.rename_notify(dt,old_name,new_name)});}
_f.Frm.prototype.check_doctype_conflict=function(docname){var me=this;if(this.doctype=='DocType'&&docname=='DocType'){msgprint('Allowing DocType, DocType. Be careful!')}else if(this.doctype=='DocType'){if(wn.views.formview[docname]){msgprint("Cannot open DocType when its instance is open")
throw'doctype open conflict'}}else{if(wn.views.formview.DocType&&wn.views.formview.DocType.frm.opendocs[this.doctype]){msgprint("Cannot open instance when its DocType is open")
@@ -1709,9 +1710,9 @@
_f.Frm.prototype.email_doc=function(){if(!_e.dialog)_e.make();sel=this.print_sel;var c=$td(_e.dialog.rows['Format'].tab,0,1);if(c.cur_sel){c.removeChild(c.cur_sel);c.cur_sel=null;}
c.appendChild(this.print_sel);c.cur_sel=this.print_sel;_e.dialog.widgets['Send With Attachments'].checked=0;if(cur_frm.doc.file_list){$ds(_e.dialog.rows['Send With Attachments']);}else{$dh(_e.dialog.rows['Send With Attachments']);}
_e.dialog.widgets['Subject'].value=get_doctype_label(this.meta.name)+': '+this.docname;_e.dialog.show();}
-_f.Frm.prototype.rename_notify=function(dt,old,name){this.is_editable[name]=this.is_editable[old];delete this.is_editable[old];if(this.docname==old)
+_f.Frm.prototype.rename_notify=function(dt,old,name){if(this.docname==old)
this.docname=name;else
-return;if(this&&this.opendocs[old]){local_dt[dt][name]=local_dt[dt][old];local_dt[dt][old]=null;}
+return;this.is_editable[name]=this.is_editable[old];delete this.is_editable[old];if(this&&this.opendocs[old]){local_dt[dt][name]=local_dt[dt][old];local_dt[dt][old]=null;}
delete this.opendocs[old];this.opendocs[name]=true;wn.re_route[window.location.hash]='Form/'+encodeURIComponent(this.doctype)+'/'+encodeURIComponent(name);wn.set_route('Form',this.doctype,name);}
_f.Frm.prototype.setup_meta=function(){this.meta=get_local('DocType',this.doctype);this.perm=get_perm(this.doctype);if(this.meta.istable){this.meta.in_dialog=1}
this.setup_print();}
@@ -2232,7 +2233,7 @@
wn.call({method:'startup.startup.get_global_status_messages',callback:set_messages});}else{wn.container.wntoolbar.set_new_comments(0);$('#unread_messages').toggle(false);}}
erpnext.startup.set_periodic_updates=function(){wn.updates={};if(wn.updates.id){clearInterval(wn.updates.id);}
wn.updates.id=setInterval(update_messages,60000);}
-erpnext.set_user_background=function(src){set_style(repl('body { background: url("files/%(src)s") repeat;}',{src:src}))}
+erpnext.set_user_background=function(src){set_style(repl('#body_div { background: url("files/%(src)s") repeat;}',{src:src}))}
$(document).bind('startup',function(){erpnext.startup.start();});
/*
* erpnext/startup/js/modules.js
diff --git a/js/all-web.js b/js/all-web.js
index 6ec421e..4cda922 100644
--- a/js/all-web.js
+++ b/js/all-web.js
@@ -739,7 +739,7 @@
delete locals[dt][dn];}
function get_local(dt,dn){return locals[dt]?locals[dt][dn]:null;}
LocalDB.sync=function(list){if(list._kl)list=expand_doclist(list);for(var i=0;i<list.length;i++){var d=list[i];if(!d.name)
-d.name=LocalDB.get_localname(d.doctype);LocalDB.add(d.doctype,d.name);locals[d.doctype][d.name]=d;if(d.doctype=='DocField')wn.meta.add_field(d);if(d.localname){wn.model.new_names[d.localname]=d.name;$(document).trigger('rename',[d.doctype,d.localname,d.name]);delete locals[d.doctype][d.localname];}}}
+d.name=LocalDB.get_localname(d.doctype);LocalDB.add(d.doctype,d.name);locals[d.doctype][d.name]=d;if(d.doctype=='DocField')wn.meta.add_field(d);if(d.localname){wn.model.new_names[d.localname]=d.name;console.log(d.localname);$(document).trigger('rename',[d.doctype,d.localname,d.name]);delete locals[d.doctype][d.localname];}}}
local_name_idx={};LocalDB.get_localname=function(doctype){if(!local_name_idx[doctype])local_name_idx[doctype]=1;var n='New '+get_doctype_label(doctype)+' '+local_name_idx[doctype];local_name_idx[doctype]++;return n;}
LocalDB.set_default_values=function(doc){var doctype=doc.doctype;var docfields=wn.meta.docfield_list[doctype];if(!docfields){return;}
var fields_to_refresh=[];for(var fid=0;fid<docfields.length;fid++){var f=docfields[fid];if(!in_list(no_value_fields,f.fieldtype)&&doc[f.fieldname]==null){var v=LocalDB.get_default_value(f.fieldname,f.fieldtype,f['default']);if(v){doc[f.fieldname]=v;fields_to_refresh.push(f.fieldname);}}}
@@ -840,7 +840,7 @@
wn.call({method:'startup.startup.get_global_status_messages',callback:set_messages});}else{wn.container.wntoolbar.set_new_comments(0);$('#unread_messages').toggle(false);}}
erpnext.startup.set_periodic_updates=function(){wn.updates={};if(wn.updates.id){clearInterval(wn.updates.id);}
wn.updates.id=setInterval(update_messages,60000);}
-erpnext.set_user_background=function(src){set_style(repl('body { background: url("files/%(src)s") repeat;}',{src:src}))}
+erpnext.set_user_background=function(src){set_style(repl('#body_div { background: url("files/%(src)s") repeat;}',{src:src}))}
$(document).bind('startup',function(){erpnext.startup.start();});
/*
* erpnext/website/js/topbar.js
@@ -863,8 +863,7 @@
item.route=item.url||item.custom_page;$parent_li.find('.dropdown-menu').append(repl('<li data-label="%(label)s">\
<a href="#!%(route)s">%(label)s</a></li>',item))}}}});erpnext.Footer=Class.extend({init:function(){$('footer').html(repl('<div class="web-footer">\
<div class="web-footer-menu"><ul></ul></div>\
- <div class="web-footer-address">%(address)s</div>\
- <div class="web-footer-copyright">© %(copyright)s</div>\
+ <div class="web-footer-copyright">© %(copyright)s | %(address)s</div>\
<div class="web-footer-powered">Powered by \
<a href="https://erpnext.com">erpnext.com</a></div>\
</div>',wn.boot.website_settings));this.make_items();},make_items:function(){var items=wn.boot.website_menus