mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-24 15:39:20 +00:00
website settings social icons
This commit is contained in:
@@ -5,12 +5,17 @@
|
||||
div#body_div {
|
||||
padding: 0px;
|
||||
min-height: 400px;
|
||||
margin: 40px auto;
|
||||
margin: 40px auto 10px auto;
|
||||
box-shadow: 1px 1px 3px 3px #bbb;
|
||||
border-radius: 5px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
footer {
|
||||
width: 720px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.navbar-inner {
|
||||
border: 0px;
|
||||
border-bottom: 1px solid #ddd;
|
||||
@@ -33,6 +38,16 @@ p, li {
|
||||
padding: 30px;
|
||||
}
|
||||
|
||||
.social-icons {
|
||||
font-size: 120%
|
||||
}
|
||||
.social-icons a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
.social-icons a i:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.web-footer-menu {
|
||||
margin-bottom: 7px;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
[
|
||||
{
|
||||
"creation": "2013-01-10 16:34:33",
|
||||
"creation": "2013-01-25 11:35:10",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-01-22 14:59:43",
|
||||
"modified": "2013-02-20 14:31:02",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@@ -24,17 +24,14 @@
|
||||
"permlevel": 0
|
||||
},
|
||||
{
|
||||
"create": 1,
|
||||
"doctype": "DocPerm",
|
||||
"name": "__common__",
|
||||
"parent": "Website Settings",
|
||||
"parentfield": "permissions",
|
||||
"parenttype": "DocType",
|
||||
"permlevel": 0,
|
||||
"read": 1,
|
||||
"report": 0,
|
||||
"submit": 0,
|
||||
"write": 1
|
||||
"submit": 0
|
||||
},
|
||||
{
|
||||
"doctype": "DocType",
|
||||
@@ -128,6 +125,48 @@
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"doctype": "DocField",
|
||||
"fieldname": "misc_section",
|
||||
@@ -170,11 +209,25 @@
|
||||
"print_hide": 1
|
||||
},
|
||||
{
|
||||
"create": 1,
|
||||
"doctype": "DocPerm",
|
||||
"role": "System Manager"
|
||||
"permlevel": 0,
|
||||
"role": "System Manager",
|
||||
"write": 1
|
||||
},
|
||||
{
|
||||
"create": 1,
|
||||
"doctype": "DocPerm",
|
||||
"role": "Website Manager"
|
||||
"permlevel": 0,
|
||||
"role": "Website Manager",
|
||||
"write": 1
|
||||
},
|
||||
{
|
||||
"amend": 0,
|
||||
"cancel": 0,
|
||||
"create": 0,
|
||||
"doctype": "DocPerm",
|
||||
"permlevel": 1,
|
||||
"role": "All"
|
||||
}
|
||||
]
|
||||
@@ -1,11 +1,11 @@
|
||||
# Copyright (c) 2012 Web Notes Technologies Pvt Ltd.
|
||||
# License: GNU General Public License (v3). For more information see license.txt
|
||||
|
||||
import os
|
||||
import webnotes
|
||||
import website.utils
|
||||
|
||||
def make():
|
||||
import os
|
||||
import webnotes
|
||||
import website.utils
|
||||
import startup.event_handlers
|
||||
|
||||
if not webnotes.conn:
|
||||
webnotes.connect()
|
||||
@@ -16,17 +16,45 @@ def make():
|
||||
if os.path.basename(os.path.abspath('.'))!='public':
|
||||
fname = os.path.join('public', fname)
|
||||
|
||||
if hasattr(startup.event_handlers, 'get_web_script'):
|
||||
with open(fname, 'w') as f:
|
||||
script = 'window.home_page = "%s";\n' % home_page
|
||||
script += startup.event_handlers.get_web_script()
|
||||
f.write(script)
|
||||
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
|
||||
if hasattr(startup.event_handlers, 'get_web_style'):
|
||||
with open(fname, 'w') as f:
|
||||
f.write(startup.event_handlers.get_web_style())
|
||||
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);
|
||||
})();
|
||||
"""
|
||||
@@ -3,7 +3,6 @@
|
||||
"",
|
||||
"Settings for Contact Us Page",
|
||||
"Cross Listing of Item in multiple groups",
|
||||
"A Product is shown on the website and is linked to an item.",
|
||||
"Product Category for website",
|
||||
"Slideshow like display for the website",
|
||||
"Page to show on the website",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>{% block title %}{% endblock %}</title>
|
||||
<title>{{ title }}</title>
|
||||
<meta name="generator" content="wnframework">
|
||||
<script type="text/javascript" src="lib/js/lib/jquery/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="js/all-web.min.js"></script>
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
{#
|
||||
requires, brand_html, top_bar_items, footer_items, copyright, content, address
|
||||
#}
|
||||
|
||||
{% extends "html/base.html" %}
|
||||
|
||||
{% block body %}
|
||||
<header>
|
||||
</header>
|
||||
<div id="body_div">
|
||||
<div class="navbar-wrapper">
|
||||
<div class="navbar{% if top_bar_background=="Black" %} navbar-inverse{% endif %}"
|
||||
style="margin-bottom: 0px;">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="brand" href="index.html">{{ brand_html }}</a>
|
||||
<ul class="nav">
|
||||
{% for page in top_bar_items %}
|
||||
{% if not page.parent_label %}
|
||||
<li data-label="{{ page.label }}"
|
||||
{% if page.child_items %}
|
||||
class="dropdown"
|
||||
{% endif %}>
|
||||
<a href="{{ page.url or '#' }}"
|
||||
{% if page.child_items %}
|
||||
class="dropdown-toggle"
|
||||
onclick="return false;"
|
||||
data-toggle="dropdown"
|
||||
{% endif %}
|
||||
{{ page.target or ''}}>
|
||||
{{ page.label }}
|
||||
{% if page.child_items %}
|
||||
<b class="caret"></b>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
{% for child in page.child_items %}
|
||||
<li data-label="{{ child.label }}">
|
||||
<a {% if child.indent %}
|
||||
style="padding-left:
|
||||
{{(int(child.indent)+1)*15 }}px"
|
||||
{% endif %}
|
||||
href="{{ child.url }}" {{ child.target or '' }}>
|
||||
{{ child.label }}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
</a>
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<img src="lib/images/ui/spinner.gif" id="spinner"/>
|
||||
<ul class="nav pull-right">
|
||||
<li id="login-topbar-item"><a href="login.html">Login</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('.dropdown-toggle').dropdown()</script>
|
||||
<div class="content" id="page-{{ name }}" style="display: block;">
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="web-footer">
|
||||
<div class="web-footer-menu"><ul>
|
||||
{% for item in footer_items %}
|
||||
<li><a href="{{ item.url }}" {{ item.target }}
|
||||
data-label="{{ item.label }}">{{ item.label }}</a></li>
|
||||
{% endfor %}
|
||||
</ul></div>
|
||||
{% if copyright %}
|
||||
<div class="web-footer-copyright">© {{ copyright }}</div>
|
||||
{% endif %}
|
||||
{% if address %}
|
||||
{{ address }}
|
||||
{% endif %}
|
||||
<p><a style="font-size: 90%;" href="attributions.html">ERPNext Powered</a></p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
{% endblock %}
|
||||
@@ -1,7 +1,5 @@
|
||||
{% extends "html/page.html" %}
|
||||
|
||||
{% block title %}{{ name }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="layout-wrapper layout-wrapper-background">
|
||||
|
||||
@@ -8,14 +8,6 @@
|
||||
{% include "css/product_page.css" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
{% if item_name != name %}
|
||||
{{ item_name }} [{{ name }}]
|
||||
{% else %}
|
||||
{{ item_name or name }}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="layout-wrapper layout-wrapper-background">
|
||||
<div class="web-content" id="content-product-{{ name }}">
|
||||
|
||||
@@ -162,7 +162,7 @@ def prepare_args(page_name):
|
||||
if not args:
|
||||
return False
|
||||
|
||||
args.update(get_outer_env())
|
||||
args.update(get_outer_env(page_name))
|
||||
|
||||
return args
|
||||
|
||||
@@ -203,7 +203,10 @@ def get_source_doc(page_name):
|
||||
|
||||
return None, None
|
||||
|
||||
def get_outer_env():
|
||||
def get_outer_env(page_name):
|
||||
from webnotes.utils import get_request_site_address
|
||||
from urllib import quote
|
||||
|
||||
all_top_items = webnotes.conn.sql("""\
|
||||
select * from `tabTop Bar Item`
|
||||
where parent='Website Settings' and parentfield='top_bar_items'
|
||||
@@ -243,14 +246,18 @@ def get_outer_env():
|
||||
})
|
||||
|
||||
settings = webnotes.doc("Website Settings", "Website Settings")
|
||||
for k in ["brand_html", "copyright", "address", "top_bar_background", "favicon"]:
|
||||
for k in ["brand_html", "copyright", "address", "top_bar_background", "favicon",
|
||||
"facebook_share", "google_plus_one", "twitter_share", "linked_in_share"]:
|
||||
if k in settings.fields:
|
||||
ret[k] = settings.fields[k]
|
||||
ret[k] = settings.fields.get(k)
|
||||
|
||||
if not ret.brand_html:
|
||||
ret.brand_html = "ERPNext"
|
||||
if not ret.top_bar_background:
|
||||
ret.top_bar_background = "Black"
|
||||
|
||||
ret.url = quote(get_request_site_address(full_address=True), "")
|
||||
|
||||
return ret
|
||||
|
||||
def get_home_page():
|
||||
|
||||
Reference in New Issue
Block a user