added blog subscriber, unsubscribe
diff --git a/erpnext/website/doctype/blog_subscriber/__init__.py b/erpnext/website/doctype/blog_subscriber/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/website/doctype/blog_subscriber/__init__.py
diff --git a/erpnext/website/doctype/blog_subscriber/blog_subscriber.txt b/erpnext/website/doctype/blog_subscriber/blog_subscriber.txt
new file mode 100644
index 0000000..1b4a987
--- /dev/null
+++ b/erpnext/website/doctype/blog_subscriber/blog_subscriber.txt
@@ -0,0 +1,29 @@
+# DocType, Blog Subscriber
+[
+
+ # These values are common in all dictionaries
+ {
+ 'creation': '2012-01-27 17:18:33',
+ 'docstatus': 0,
+ 'modified': '2012-01-27 17:18:33',
+ 'modified_by': 'Administrator',
+ 'owner': 'Administrator'
+ },
+
+ # These values are common for all DocType
+ {
+ 'colour': 'White:FFF',
+ 'doctype': 'DocType',
+ 'module': 'Website',
+ 'name': '__common__',
+ 'section_style': 'Simple',
+ 'show_in_menu': 0,
+ 'version': 1
+ },
+
+ # DocType, Blog Subscriber
+ {
+ 'doctype': 'DocType',
+ 'name': 'Blog Subscriber'
+ }
+]
\ No newline at end of file
diff --git a/erpnext/website/js/topbar.js b/erpnext/website/js/topbar.js
index 85d975b..788ed62 100644
--- a/erpnext/website/js/topbar.js
+++ b/erpnext/website/js/topbar.js
@@ -20,7 +20,7 @@
$('header').append('<div class="topbar">\
<div class="topbar-inner">\
<div class="container">\
- <a class="brand">[brand]</a>\
+ <a class="brand" href="#!home">[brand]</a>\
<ul class="nav">\
</ul>\
<img src="lib/images/ui/spinner.gif" id="spinner"/>\
diff --git a/erpnext/website/page/blog/blog.html b/erpnext/website/page/blog/blog.html
new file mode 100644
index 0000000..f271e03
--- /dev/null
+++ b/erpnext/website/page/blog/blog.html
@@ -0,0 +1,14 @@
+<div class="layout_wrapper">
+ <div class="web-content" id="content-blog">
+ <h1>Blog</h1>
+ <br>
+ <div class="web-main-section">
+ </div>
+ <div class="web-side-section">
+ <h4>Get Updates</h4>
+ <input name="blog-subscribe">
+ <button class="btn" id="blog-subscribe">Subscribe</button>
+ </div>
+ <div style="clear: both"></div>
+ </div>
+</div>
\ No newline at end of file
diff --git a/erpnext/website/page/blog/blog.js b/erpnext/website/page/blog/blog.js
new file mode 100644
index 0000000..f86e98d
--- /dev/null
+++ b/erpnext/website/page/blog/blog.js
@@ -0,0 +1,39 @@
+wn.require('lib/js/lib/prettydate.js')
+
+pscript.onload_blog = function(wrapper) {
+ wrapper.blog_list = new wn.widgets.Listing({
+ parent: $(wrapper).find('.web-main-section').get(0),
+ query: 'select tabBlog.name, title, left(content, 300) 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',
+ hide_refresh: true,
+ render_row: function(parent, data) {
+ if(data.content.length==300) data.content += '...';
+ data.date = prettyDate(data.modified);
+ parent.innerHTML = repl('<h4><a href="#!%(name)s">%(title)s</a></h4>\
+ <div class="help">By %(first_name)s %(last_name)s on %(date)s</div>\
+ <p><div class="comment">%(content)s</div></p><br>', data);
+ },
+ page_length: 10
+ });
+ wrapper.blog_list.run();
+
+ // subscribe button
+ $('#blog-subscribe').click(function() {
+ var email = $(wrapper).find('input[name="blog-subscribe"]').val();
+ if(!validate_email(email)) {
+ msgprint('Please enter a valid email!');
+ }
+ wn.call({
+ module:'website',
+ page:'blog',
+ method:'subscribe',
+ args:email,
+ btn: this,
+ callback: function() {
+ $(wrapper).find('input[name="blog-subscribe"]').val('');
+ }
+ });
+ })
+}
\ No newline at end of file
diff --git a/erpnext/website/page/blog/blog.py b/erpnext/website/page/blog/blog.py
new file mode 100644
index 0000000..6e7a62e
--- /dev/null
+++ b/erpnext/website/page/blog/blog.py
@@ -0,0 +1,11 @@
+import webnotes
+def subscribe(arg):
+ """subscribe to blog (blog_subscriber)"""
+ if webnotes.conn.sql("""select name from `tabBlog Subscriber` where name=%s""", arg):
+ webnotes.msgprint("Already a subscriber. Thanks!")
+ else:
+ from webnotes.model.doc import Document
+ d = Document('Blog Subscriber')
+ d.name = arg
+ d.save()
+ webnotes.msgprint("Thank you for subscribing!")
\ No newline at end of file
diff --git a/erpnext/website/page/unsubscribe/__init__.py b/erpnext/website/page/unsubscribe/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/website/page/unsubscribe/__init__.py
diff --git a/erpnext/website/page/unsubscribe/unsubscribe.html b/erpnext/website/page/unsubscribe/unsubscribe.html
new file mode 100644
index 0000000..7b2b68e
--- /dev/null
+++ b/erpnext/website/page/unsubscribe/unsubscribe.html
@@ -0,0 +1,13 @@
+<div class="layout_wrapper">
+ <div class="web-content">
+ <h1>Unsubscribe</h1>
+ <br>
+ <div class="web-main-section">
+ <input name="unsubscribe">
+ <button class="btn" id="btn-unsubscribe">Unsubscribe</button>
+ </div>
+ <div class="web-side-section">
+ </div>
+ <div style="clear: both"></div>
+ </div>
+</div>
\ No newline at end of file
diff --git a/erpnext/website/page/unsubscribe/unsubscribe.js b/erpnext/website/page/unsubscribe/unsubscribe.js
new file mode 100644
index 0000000..7cbed37
--- /dev/null
+++ b/erpnext/website/page/unsubscribe/unsubscribe.js
@@ -0,0 +1,21 @@
+pscript.onload_unsubscribe = function(wrapper) {
+ var email = window.location.hash.split('/').splice(-1);
+ $(wrapper).find('input[name="unsubscribe"]').val(email)
+
+ $('#btn-unsubscribe').click(function() {
+ var email = $(wrapper).find('input[name="unsubscribe"]').val();
+ if(email) {
+ var btn = this;
+ wn.call({
+ module:'website',
+ page:'unsubscribe',
+ method:'unsubscribe',
+ args:email,
+ btn: this,
+ callback: function() {
+ $(wrapper).find('input[name="unsubscribe"]').val('');
+ }
+ });
+ }
+ });
+}
\ No newline at end of file
diff --git a/erpnext/website/page/unsubscribe/unsubscribe.py b/erpnext/website/page/unsubscribe/unsubscribe.py
new file mode 100644
index 0000000..57d1d47
--- /dev/null
+++ b/erpnext/website/page/unsubscribe/unsubscribe.py
@@ -0,0 +1,8 @@
+def unsubscribe(arg):
+ """unsubscribe from lists"""
+ import webnotes
+ lists = [['Blog Subscriber', 'name']]
+ for l in lists:
+ webnotes.conn.sql("""delete from `tab%s` where %s=%s""" % (l[0], l[1], '%s'), arg)
+
+ webnotes.msgprint('Unsubscribed!')
\ No newline at end of file
diff --git a/erpnext/website/page/unsubscribe/unsubscribe.txt b/erpnext/website/page/unsubscribe/unsubscribe.txt
new file mode 100644
index 0000000..2cc3b58
--- /dev/null
+++ b/erpnext/website/page/unsubscribe/unsubscribe.txt
@@ -0,0 +1,43 @@
+# Page, unsubscribe
+[
+
+ # These values are common in all dictionaries
+ {
+ 'creation': '2012-01-27 17:19:02',
+ 'docstatus': 0,
+ 'modified': '2012-01-27 17:19:02',
+ 'modified_by': 'Administrator',
+ 'owner': 'Administrator'
+ },
+
+ # These values are common for all Page
+ {
+ 'doctype': 'Page',
+ 'module': 'Website',
+ 'name': '__common__',
+ 'page_name': 'unsubscribe',
+ 'standard': 'Yes',
+ 'title': 'Unsubscribe'
+ },
+
+ # These values are common for all Page Role
+ {
+ 'doctype': 'Page Role',
+ 'name': '__common__',
+ 'parent': 'unsubscribe',
+ 'parentfield': 'roles',
+ 'parenttype': 'Page',
+ 'role': 'Guest'
+ },
+
+ # Page, unsubscribe
+ {
+ 'doctype': 'Page',
+ 'name': 'unsubscribe'
+ },
+
+ # Page Role
+ {
+ 'doctype': 'Page Role'
+ }
+]
\ No newline at end of file