Merge pull request #1697 from KanchanChauhan/UXChanges

[WIP] Do not merge
This commit is contained in:
Rushabh Mehta 2016-04-21 11:36:05 +05:30
commit 49768bf86a
36 changed files with 904 additions and 327 deletions

View file

@ -449,12 +449,12 @@ pre {
color: inherit;
}
a.btn-primary {
color: #fff;
color: #7575ff;
}
a.btn-primary:hover,
a.btn-primary:focus,
a.btn-primary:visited {
color: #fff;
color: #7575ff;
}
.btn-next-wrapper {
margin-top: 32px;

View file

@ -411,6 +411,7 @@ a.no-decoration:active {
.web-footer {
padding: 20px 0px;
min-height: 140px;
border-top: 1px solid #d1d8dd;
}
.carousel-control .icon {
position: absolute;
@ -458,7 +459,6 @@ a.no-decoration:active {
padding-left: 15px;
}
.page-header-actions-block {
padding-top: 20px;
text-align: right;
}
fieldset {
@ -489,9 +489,8 @@ fieldset {
}
.page-container {
padding: 0px;
}
.page-content {
padding-bottom: 20px;
max-width: 970px;
margin: auto;
}
.page-content hr {
margin-left: -15px;
@ -570,39 +569,40 @@ fieldset {
.blog-list-content .website-list .result {
border: 0px;
}
.blog-list-content .web-list-item {
padding: 0px;
}
.blog-list-content .web-list-item:hover {
background: transparent;
}
.longform {
padding: 15px 0px;
line-height: 1.5;
font-size: 1.1em;
max-width: 700px;
}
.longform p {
margin-bottom: 30px;
}
.blog-category {
margin-top: 60px;
text-transform: uppercase;
font-size: 12px;
text-align: center;
margin-bottom: 20px;
}
.blogger {
padding: 10px 15px;
padding-top: 30px;
padding-bottom: 15px;
border-top: 1px solid #d1d8dd;
margin: 0px -15px;
}
.blog-comments,
.help-article-comments {
margin: 0px -15px;
border-top: 1px solid #d1d8dd;
padding: 5px 15px 15px;
padding: 5px 15px 15px 70px;
}
.comment-view {
background-color: #fafbfc;
position: relative;
}
.comment-view:before {
content: "";
background-color: #fafbfc;
position: absolute;
height: 100%;
width: 4000px;
left: -2000px;
z-index: -1;
}
.blog-comment-row {
margin: 0px -15px;
padding: 15px;
border-bottom: 1px solid #d1d8dd;
}
.blog-comment-row:last-child {
margin-bottom: 30px;
@ -643,9 +643,6 @@ a.active {
pointer-events: none;
cursor: default;
}
.page-breadcrumbs {
padding-top: 20px;
}
.page-breadcrumbs .breadcrumb {
padding: 0px;
background-color: transparent;
@ -829,3 +826,96 @@ body {
.btn-next-wrapper {
margin-top: 60px;
}
.footer-group-label {
display: inline-block;
padding-bottom: 4px;
text-transform: uppercase;
font-size: 12px;
}
.item-list {
padding-top: 20px;
}
.sidebar-block,
.content-block {
padding-top: 50px;
padding-bottom: 50px;
}
.content-header {
padding-bottom: 20px;
}
.selected-p-item {
color: #7575ff;
}
a:hover,
a:visited,
a:link,
a:active {
text-decoration: none;
}
.blog-header {
font-size: 36px;
margin-bottom: 20px;
}
.blog-dot:before {
padding-right: 8px;
padding-left: 8px;
content: "\2022";
}
.blog-list-item {
margin-top: 25px;
margin-bottom: 25px;
border: none;
}
.post-description {
margin-top: 0px;
}
.post-by {
margin-top: 4px;
margin-bottom: 4px;
text-transform: uppercase;
font-size: 12px;
}
li .footer-child-item {
margin-bottom: 4px !important;
}
li .social-child-item {
margin-bottom: 4px !important;
}
.blog-info {
text-align: center;
margin-top: 30px;
}
.blog-text {
text-align: justify;
padding-top: 50px;
padding-bottom: 50px;
font-size: 18px;
max-width: 700px;
margin: auto;
}
.blog-text p {
margin-bottom: 50px;
}
.blogger-name {
font-size: 24px;
}
.comment-header {
font-size: 20px;
padding-top: 30px;
padding-bottom: 20px;
}
#item-search {
position: relative;
outline: none;
border: none;
}
.vert-line {
overflow: hidden;
}
.vert-line > div + div {
border-left: 1px solid #d1d8dd;
}
.vert-line > div {
padding-bottom: 2000px;
margin-bottom: -2000px;
}

View file

@ -203,9 +203,9 @@ pre {
}
a.btn-primary& {
color: #fff;
color: #7575ff;
&:hover, &:focus, &:visited {
color: #fff;
color: #7575ff;;
}
}

View file

@ -68,6 +68,7 @@
.web-footer {
padding: 20px 0px;
min-height: 140px;
border-top: 1px solid #d1d8dd;
}
.carousel-control .icon {
@ -123,7 +124,6 @@
}
.page-header-actions-block {
padding-top: 20px;
text-align: right;
}
@ -159,10 +159,11 @@ fieldset {
.page-container {
padding: 0px;
max-width: 970px;
margin: auto;
}
.page-content {
padding-bottom: 20px;
hr {
margin-left: -15px;
margin-right: -15px;
@ -223,7 +224,6 @@ fieldset {
.website-list .result {
margin-top: 15px;
// border: 1px solid @border-color;
}
.web-list-item {
@ -261,46 +261,46 @@ fieldset {
border: 0px;
}
.blog-list-content .web-list-item {
padding: 0px;
}
.blog-list-content .web-list-item:hover {
background: transparent;
}
.longform {
padding: 15px 0px;
line-height: 1.5;
font-size: 1.1em;
max-width: 700px;
p {
margin-bottom: 30px;
}
}
.blog-category {
margin-top: 60px;
text-transform: uppercase;
font-size: 12px;
text-align: center;
margin-bottom: 20px;
}
.blogger {
padding: 10px 15px;
padding-top: 30px;
padding-bottom: 15px;
border-top: 1px solid @border-color;
margin: 0px -15px;
}
.blog-comments,
.help-article-comments {
margin: 0px -15px;
border-top: 1px solid @border-color;
padding: 5px 15px 15px;
padding: 5px 15px 15px 70px;
}
.comment-view {
background-color: #fafbfc;
position: relative;
}
.comment-view:before {
content:"";
background-color:#fafbfc;
position: absolute;
height: 100%;
width: 4000px;
left: -2000px;
z-index: -1;
}
.blog-comment-row {
margin: 0px -15px;
padding: 15px;
border-bottom: 1px solid @border-color;
}
.blog-comment-row:last-child {
@ -355,10 +355,6 @@ a.active {
// background-color: #ffa;
// }
.page-breadcrumbs {
padding-top: 20px;
}
.page-breadcrumbs .breadcrumb {
padding: 0px;
background-color: transparent;
@ -423,3 +419,106 @@ a.active {
.btn-next-wrapper {
margin-top: 60px;
}
.footer-group-label{
display:inline-block;
padding-bottom: 4px;
text-transform: uppercase;
font-size: 12px;
}
.item-list{
padding-top: 20px;
}
.sidebar-block, .content-block {
padding-top:50px;
padding-bottom:50px;
}
.content-header {
padding-bottom:20px;
}
.selected-p-item {
color:#7575ff;
}
a:hover, a:visited, a:link, a:active
{
text-decoration: none;
}
.blog-header{
font-size:36px;
margin-bottom: 20px;
}
.blog-dot:before{
padding-right:8px;
padding-left:8px;
content:"\2022";
}
.blog-list-item {
margin-top:25px;
margin-bottom:25px;
border:none;
}
.post-description{
margin-top:0px;
}
.post-by {
margin-top:4px;
margin-bottom:4px;
text-transform: uppercase;
font-size: 12px;
}
li .footer-child-item {
margin-bottom:4px !important;
}
li .social-child-item {
margin-bottom:4px !important;
}
.blog-info{
text-align:center;
margin-top: 30px;
}
.blog-text{
text-align:justify;
padding-top: 50px;
padding-bottom: 50px;
font-size: 18px;
max-width:700px;
margin:auto;
p {
margin-bottom: 50px;
}
}
.blogger-name{
font-size:24px;
}
.comment-header{
font-size:20px;
padding-top:30px;
padding-bottom:20px;
}
#item-search {
position: relative;
outline:none;
border:none;
}
.vert-line {overflow:hidden;}
.vert-line>div+div{border-left:1px solid #d1d8dd;}
.vert-line>div{
padding-bottom:2000px; margin-bottom:-2000px;}

View file

@ -1,36 +1,36 @@
{% extends "templates/web.html" %}
{% block header %}
<h1 itemprop="name headline" itemscope itemtype="http://schema.org/BlogPost">
{{ title }}
</h1>
{% endblock %}
{% block breadcrumbs %}
{% include "templates/includes/breadcrumbs.html" %}
<div class="page-breadcrumbs" data-html-block="breadcrumbs">
<ul class="breadcrumb">
<li>
<a href="/blog" class="blog-header text-extra-muted">{{ blog_title or "Blog" }}</a>
</li>
</ul>
</div>
{% endblock %}
{% block page_content %}
<article class="blog-content" itemscope itemtype="http://schema.org/BlogPost">
<!-- begin blog content -->
<p class="small text-muted blog-info">
<span itemprop="author">{{ blogger_info and blogger_info.full_name or full_name }}</span>,
<span itemprop="dateCreated">{{ updated }}</span>
</p>
<div class="blog-info">
<div class="text-muted blog-category">{{blog_category}}</div>
<div class="blog-header">
{{ title }}
</div>
<p class="post-by text-muted"><a href="/blog?by={{ blogger }}&by_name={{ full_name }}" class="no-decoration">
BY {{ blogger_info and blogger_info.full_name or full_name }}</a> <i class="blog-dot"></i> {{ frappe.format_date(published_on) }} <i class="blog-dot"></i>{{ comment_text }}</p>
</div>
<div itemprop="articleBody" class="longform blog-text">
{{ content }}
</div>
<p class="text-muted blog-category">
<a href="/{{ parent_website_route }}" class="no-decoration">
{{ _("This post is filed under {0}").format(blog_category) }}</a>
</p>
<!-- end blog content -->
</article>
{% if blogger_info %}
<div class="post-by text-muted" style="margin-bottom:20px;">Author</div>
{% include "templates/includes/blog/blogger.html" %}
{% endif %}
<div class="blog-comments">
<h2>Comments</h2>
{% include 'templates/includes/comments/comments.html' %}
</div>

View file

@ -1,19 +1,12 @@
{% extends "templates/web.html" %}
{% block title %}{{ blog_title or "Blog" }}{% endblock %}
{% block header %}<div class="blog-header text-extra-muted">{{ blog_title or "Blog" }}</div>{% endblock %}
{% block hero %}{% endblock %}
{% block page_content %}
<!-- no-header -->
<!-- no-breadcrumbs -->
{% if blog_subtitle %}
<div class="list-hero">
<h1>
{{ blog_subtitle }}
</h1>
</div>
{% endif %}
<div class="blog-list-content">
<div id="blog-list">
{% include "templates/includes/list/list.html" %}

View file

@ -1,16 +1,12 @@
{%- set post = doc -%}
<div class="row web-list-item">
<div class="web-list-item blog-list-item">
<div class="row">
<div class="col-xs-12">
<h3><a href="/{{ post.page_name }}">{{ post.title }}</a></h3>
<div class="blog-header"><a href="/{{ post.page_name }}">{{ post.title }}</a></div>
<p class="post-by text-muted"><a href="/blog?by={{ post.blogger }}&by_name={{ post.full_name }}" class="no-decoration">
BY {{ post.full_name }}</a> <i class="blog-dot"></i> {{ frappe.format_date(post.published_on) }} <i class="blog-dot"></i> <a href="/{{ post.parent_website_route }}" class="no-decoration">{{ post.blog_category }}</a> <i class="blog-dot"></i> {{ post.comment_text }}</p>
<p class="post-description">{{ post.content }}</p>
<p class="text-muted small post-meta">
<a href="/blog?by={{ post.blogger }}&by_name={{ post.full_name }}" class="no-decoration">
{{ post.full_name }}</a> / {{ frappe.format_date(post.published_on) }} /
<a href="/{{ post.parent_website_route }}" class="no-decoration">{{ post.blog_category }}</a> /
{{ post.comment_text }}</p>
</div>
<!-- <div class="col-xs-2 text-center text-muted">
<h1 class="blog-day" style="margin-bottom: 5px;">{{ post.day }}</h1>
<div class="small">{{ post.month }} {{ post.year }}</div>
</div> -->
</div>
</div>
</div>

View file

@ -5,7 +5,7 @@
</div>
</div>
<div class="inline-block" style="width: calc(100% - 100px)">
<h4>About {{ blogger_info.full_name }}</h4>
<div class="blogger-name">{{ blogger_info.full_name }}</div>
<p class="text-muted">{{ blogger_info.bio }}</p>
<p><a href="/blog?by={{ blogger_info.name }}&by_name={{ blogger_info.full_name }}">
All Posts By {{ blogger_info.full_name }}</a></p>

View file

@ -6,8 +6,8 @@
</div>
<div class="inline-block" style="width: calc(100% - 100px)">
<h4 itemprop="name">{{ comment.sender_full_name }}
<br>
<small class="text-muted">
<small class="text-muted pull-right">
<span itemprop="commentTime">{{ comment.creation|global_date_format }}</span>
</small>
</h4>

View file

@ -1,3 +1,5 @@
<div class="comment-view">
<div class="comment-header">{{ comment_text }}</div>
{% if not comment_list %}
<div class="no-comment">
<p class="text-muted">{{ _("Start a new discussion.") }}</p>
@ -5,11 +7,12 @@
</div>
{% endif %}
<div itemscope itemtype="http://schema.org/UserComments" id="comment-list">
<div itemscope itemtype="http://schema.org/UserComments" id="comment-list">
{% for comment in comment_list %}
{% include "templates/includes/comments/comment.html" %}
{% endfor %}
</div>
</div>
<div class="add-comment-section">
<div class="text-muted hidden login-required">
@ -17,9 +20,8 @@
</div>
<div class="comment-form-wrapper">
<a class="add-comment btn btn-default btn-sm">{{ _("Add Comment") }}</a>
<div style="display: none;" id="comment-form">
<p>{{ _("Add Comment") }}</p>
<div id="comment-form">
<p>{{ _("Leave a Comment") }}</p>
<div class="alert" style="display:none;"></div>
<form>
<fieldset>
@ -35,7 +37,7 @@
</div>
<textarea class="form-control" name="comment" rows=10
placeholder="{{ _("Comment") }}"></textarea>
<p>
<p style="text-align:center;">
<button class="btn btn-primary btn-sm" id="submit-comment">
{{ _("Submit") }}</button>
</p>
@ -60,10 +62,7 @@
if(n_comments > 50) {
$(".add-comment").toggle(false)
.parent().append("<div class='text-muted'>Comments are closed.</div>")
}
$(".add-comment").click(function() {
$(this).toggle(false);
$("#comment-form").toggle();
}
var full_name = "", user_id = "";
if(frappe.is_user_logged_in()) {
@ -75,7 +74,7 @@
}
}
$("#comment-form textarea").val("");
})
$("#submit-comment").click(function() {
var args = {
comment_by_fullname: $("[name='comment_by_fullname']").val(),

View file

@ -1,56 +1,58 @@
<footer class="web-footer">
<section class="footer-links">
<div class="container">
<div class="row">
<div class="col-xs-9 web-footer-menu">
<ul class="list-inline">
{% for item in footer_items %}
<li><a href="{{ item.url }}" {{ item.target }}
data-label="{{ item.label }}">{{ item.label }}</a></li>
{% endfor %}
</ul>
<div class="row">
<div class="col-sm-6 text-left">
{% if facebook_share or google_plus_one or twitter_share or linked_in_share %}
<ul class="list-unstyled small" style="float:left;">
<span class="footer-group-label text-extra-muted">Share</span>
{% if google_plus_one %}
<li style="margin-bottom:4px;"><a href="https://plus.google.com/share?url={{ url }}"
target="_blank">Google +</a></li>
{% endif %}
{% if twitter_share %}
<li style="margin-bottom:4px;"><a href="https://twitter.com/intent/tweet?url={{ url }}&text={{ encoded_title }}"
target="_blank" >Twitter</a></li>
{% endif %}
{% if facebook_share %}
<li style="margin-bottom:4px;"><a href="https://www.facebook.com/sharer.php?u={{ url }}&t={{ encoded_title }}&via={{ twitter_share_via }}"
target="_blank">Facebook</a></li>
{% endif %}
{% if linked_in_share %}
<li style="margin-bottom:4px;"> <a href="http://www.linkedin.com/shareArticle?mini=true&url={{ url }}&title={{ encoded_title }}"
target="_blank">Linkedin</a></li>
{% endif %}
</ul>
{% endif %}
{% if footer_items -%}
<ul class="list-unstyled navbar-nav">
{% include "templates/includes/footer/footer_items.html" %}
</ul>
{% endif %}
</div>
<div class="col-sm-6 text-right">
{% block extension %}{% include "templates/includes/footer/footer_extension.html" %}{% endblock %}
</div>
</div>
<div class="row">
<div class="col-sm-8">
{% if copyright %}<div class="web-footer-copyright text-muted small">&copy; {{ copyright }}</div>{% endif %}
{% if footer_address %}{{ footer_address }}{% endif %}
</div>
<div class="col-sm-4 text-right">
{% if facebook_share or google_plus_one or twitter_share or linked_in_share %}
<div class="social-icons text-muted small" style="margin-bottom: 15px;">
<span>
{{ share_text or "Share this page on: "}}</span>
{% if google_plus_one %}
<a href="https://plus.google.com/share?url={{ url }}"
target="_blank"><i class="icon-google-plus"></i></a>
{% endif %}
{% if twitter_share %}
<a href="https://twitter.com/intent/tweet?url={{ url }}&text={{ encoded_title }}"
target="_blank" ><i class="icon-twitter"></i></a>
{% endif %}
{% if facebook_share %}
<a href="https://www.facebook.com/sharer.php?u={{ url }}&t={{ encoded_title }}&via={{ twitter_share_via }}"
target="_blank"><i class="icon-facebook"></i></a>
{% endif %}
{% if linked_in_share %}
<a href="http://www.linkedin.com/shareArticle?mini=true&url={{ url }}&title={{ encoded_title }}"
target="_blank"><i class="icon-linkedin"></i></a>
{% endif %}
</div>
<div class="text-muted small col-sm-6">
{% if copyright %}
&copy; {{ copyright }}
{% elif footer_address%}
{{ footer_address }}
{% endif %}
{# powered #}
<div class="text-right footer-powered">
</div>
{# powered #}
<div class="text-muted small col-sm-6 text-right footer-powered">
{% block powered %}
{% include "templates/includes/footer/footer_powered.html" %}
{% endblock %}
</div>
</div>
</div>
</div>
</section>
<section>
{% block extension %}{% include "templates/includes/footer/footer_extension.html" %}{% endblock %}
</div>
</section>
</footer>

View file

@ -0,0 +1,24 @@
{% for page in footer_items %}
{% if not page.parent_label -%}
<li style="margin-left:65px;" data-label='{{ page.label }}' {% if page.child_items %} {% endif %}>
<a {% if not page.child_items -%} href="{{ (page.url or '')|abs_url }}" {%- endif %}
{% if page.child_items %} onclick="return false;" {% endif %}
{{ page.target or ''}}>
{%- if page.child_items -%}
<span class="footer-group-label text-extra-muted">{{ page.label }}<span>
</a>
<ul class="list-unstyled small">
{%- for child in page.child_items -%}
<li class="footer-child-item" data-label='{{ child.label }}'>
<a {% if child.indent %} style="padding-left: {{((child.indent|int)+1)*15 }}px"{% endif %}
href="{{ child.url | abs_url }}" {{ child.target or '' }}>{{ child.label }}</a>
</li>
{%- endfor -%}
</ul>
{%- else -%}
{{ page.label }}
</a>
{%- endif -%}
</li>
{%- endif -%}
{% endfor %}

View file

@ -7,13 +7,37 @@
width: 100%;
}
.blue {
color: #7575ff;
}
.icon-facebook, .icon-facebook-sign{
color: #3b5998;
}
.icon-google-plus, .icon-google-plus-sign{
color: #C63D2D;
}
.icon-github, .icon-github-sign{
color: black;
}
.icon-twitter, .icon-twitter-sign{
color: #00a0d1;
}
.icon-linkedin, .icon-linkedin-sign{
color: #4875B4;
}
#wrap {
background-color: #fafbfc;
background-color: #7575ff;
}
.form-signin {
max-width: 360px;
padding: 30px;
padding-right: 30px;
padding-left: 30px;
padding-top: 10px;
margin: 0 auto;
border-radius: 5px;
background-color: #fff;
@ -42,3 +66,50 @@
.btn-social {
margin: 10px;
}
h5 {
position: relative;
text-align: center;
margin-top:20px;
margin-bottom:20px;
}
h5 span {
background: #fff;
padding: 0 15px;
position: relative;
z-index: 1;
}
h5:before {
background: #ddd;
content: "";
display: block;
height: 1px;
position: absolute;
top: 50%;
width: 100%;
}
h5:before {
left: 0;
}
.login_header{
font-size: 36px;
position: relative;
text-align: center;
margin-bottom:20px;
}
p{
margin-bottom:20px;
}
.btn-login, .btn-signup, .btn-forgot {
background: #7575ff;
color: white;
}
.content-block {
padding-top:10px;
padding-bottom:30px;
}

View file

@ -13,5 +13,6 @@
{% include "templates/includes/navbar/navbar_link.html" %}
{%- endif -%}
{%- endfor %}
<li class="shopping-cart" style="padding-top:9px;"></li>
{% include "templates/includes/navbar/navbar_login.html" %}
</ul>

View file

@ -0,0 +1,30 @@
<div class="item-search text-muted pull-right">
<input type="text" id="item-search" placeholder="Quick Search" autocomplete="off">
<i class="octicon octicon-search"></i>
</div>
<div class="clearfix pull-right" style="width:300px;">
<h4 class="item-search-results pull-left"></h4>
<p class="pull-right">
<a style="display: none; padding-left:5px;" href="javascript:history.back();" class="octicon octicon-x text-extra-muted clear" title="Clear Search" ></a>
</p>
</div>
<script>
frappe.ready(function() {
if(get_url_arg("q")){
var txt = get_url_arg("q");
$(".item-search-results").html("Search results for : " + txt);
$(".clear").toggle(true);
}
var thread = null;
function findResult(t) {
window.location.href=document.URL + "&q=" + t;
}
$("#item-search").keyup(function() {
clearTimeout(thread);
var $this = $(this); thread = setTimeout(function(){findResult($this.val())}, 1000);
});
$(".form-search").on("submit", function() { return false; });
});
</script>

View file

@ -0,0 +1,49 @@
<div class="web-sidebar">
<div class="your-account-info-sidebar">
<div style="float:left;margin-right:20px;">
<span class="user-image-sidebar"></span>
</div>
<div>
<h4 style="margin-top:0px;margin-bottom:0px;">{{ fullname }}</h4>
<a href="/?cmd=web_logout">
<h6 style="margin-top:0px;" class="text-muted">{{ _("Logout") }}</h6>
</a>
</div>
</div>
<div class="sidebar-items">
<ul class="list-unstyled sidebar" style="margin: 15px 0px;">
<li class="item-list">
<a href="/me">
<h5>My Account
</h5>
</a>
</li>
{% for item in my_account_list -%}
{% if item.count or (not item.reference_doctype) %}
<li class="item-list">
<a href="{{ item.route }}"
{% if item.target %}target="{{ item.target }}"{% endif %}>
<h5>{{ _(item.title) }}
{% if item.reference_doctype %}
<span class="badge">
{{ "20+" if item.count > 20 else item.count }}
</span>
{% endif %}
</h5>
</a>
</li>
{% endif %}
{%- endfor %}
</ul>
</div>
</div>
<script>
frappe.ready(function() {
$('.sidebar a').each(function(index) {
if(this.href.trim() == window.location)
$(this).addClass("selected-p-item");
});
});
</script>

View file

@ -1,7 +1,9 @@
{% extends "templates/web.html" %}
{% block title %}About Us{% endblock %}
{% block page_sidebar %}
{% include "templates/pages/web_sidebar.html" %}
{% endblock %}
{% block page_content %}
<!-- no-sidebar -->
<article class="about-content">

View file

@ -5,4 +5,5 @@ from __future__ import unicode_literals
import frappe
def get_context(context):
context.show_sidebar=True
return { "doc": frappe.get_doc("About Us Settings", "About Us Settings") }

View file

@ -52,6 +52,7 @@ def get(doctype, txt=None, limit_start=0, **kwargs):
for doc in raw_result:
doc.doctype = doctype
new_context = frappe._dict(doc=doc, meta=meta)
new_context.doc = frappe.get_doc(doc)
if not frappe.flags.in_test:
new_context["pathname"] = frappe.local.request.path.strip("/ ")

View file

@ -2,53 +2,59 @@
{% block style %}
<style>
{% include "templates/includes/login/login.css" %}
{% include "templates/includes/login/login.css" %}
</style>
{% endblock %}
{% block page_content %}
<!-- no-header -->
<!-- no-sidebar -->
<div class="login-content" style="padding-top: 30px; padding-bottom:15px">
<div class="login-content">
<form class="form-signin form-login" role="form">
{%- if social_login -%}
<h4 class="form-signin-heading text-center">{{ _("Sign in using") }}</h4>
<p class="text-center" style="margin-top: 15px">
{%- if facebook_login is defined %}
<a href="{{ facebook_login }}" class="grey no-decoration btn-social btn-facebook">
<i class="icon-facebook-sign"></i> {{ _("Facebook") }}</a>
{%- endif -%}
{%- if google_login is defined %}
<a href="{{ google_login }}" class="grey no-decoration btn-social btn-google">
<i class="icon-google-plus-sign"></i> {{ _("Google") }}</a>
{%- endif -%}
{%- if github_login is defined %}
<a href="{{ github_login }}" class="grey no-decoration btn-social btn-github">
<i class="icon-github-sign"></i> {{ _("GitHub") }}</a>
{%- endif -%}
</p>
<p class="text-muted text-center" style="margin: 20px 0px">{{ _("or") }}</p>
{%- endif -%}
<div class="login_header">Login</div>
<input type="text" id="login_email"
class="form-control" placeholder="{{ _('Email address') }}" required autofocus>
<input type="password" id="login_password"
class="form-control" placeholder="{{ _('Password') }}" required>
<!-- <label class="checkbox">
<input type="checkbox" value="remember-me"> Remember me
</label> -->
<br>
<div>
<p style="float:left" class="text-center small"><input type="checkbox" value="remember-me"> Remember me </p>
<p style="float:right" class="text-center small"><a href="#forgot">{{ _("Forgot Password?") }}</a></p>
</div>
<button class="btn btn-lg btn-default btn-block btn-login" type="submit">{{ _("Sign in") }}</button>
<div style="margin-top: 15px">
{%- if not disable_signup -%}
<p class="text-center small">
<a href="#signup" class="grey">{{ _("Not a user yet? Sign up") }}</a>
{# {%- if social_login -%} #}
<h5><span>{{ _("Or login with") }}</span></h5>
<p class="text-center" style="margin-top: 15px">
{#{%- if facebook_login is defined %}#}
<a href="{{ facebook_login }}" class="no-decoration btn-social btn-facebook">
<i class="icon-facebook-sign icon-2x"></i></a>
{#{%- endif -%}
{%- if google_login is defined %}#}
<a href="{{ google_login }}" class="no-decoration btn-social btn-google">
<i class="icon-google-plus-sign icon-2x"></i></a>
{#{%- endif -%}
{%- if github_login is defined %}#}
<a href="{{ github_login }}" class="no-decoration btn-social btn-github">
<i class="icon-github-sign icon-2x"></i></a>
{#{%- endif -%}#}
</p>
{%- endif -%}
{# {%- endif -%} #}
<div style="margin-top: 25px">
{%- if not disable_signup -%}
<p class="text-center small">
<a href="#forgot" class="grey">{{ _("Forgot Password?") }}</a>
{{ _("Dont have an account? ") }}<a class="blue" href="#signup">{{ _("Sign up.") }}</a>
</p>
{%- endif -%}
</div>
</form>
@ -60,9 +66,8 @@
<br>
<button class="btn btn-lg btn-default btn-block btn-signup" type="submit">{{ _("Sign up") }}</button>
<p class="text-center small">
<br><a href="#login" class="grey">{{ _("Have an account? Login") }}</a>
{{ _("Have an account? ") }}<a href="#login" class="blue">{{ _("Login") }}</a>
</p>
</form>
<form class="form-signin form-forgot hide" role="form">
@ -71,15 +76,14 @@
<br>
<button class="btn btn-lg btn-default btn-block btn-forgot" type="submit">{{ _("Send Password") }}</button>
<p class="text-center small">
<br><a href="#login" class="grey">{{ _("Back to Login") }}</a>
</p>
<br><a href="#login" class="blue">{{ _("Back to Login") }}</a>
</p>
</form>
</div>
{% endblock %}
{% block script %}
<script>{% include "templates/includes/login/login.js" %}</script>
<script>{% include "templates/includes/login/login.js" %}</script>
{% endblock %}
{% block sidebar %}{% endblock %}

View file

@ -1,25 +1,21 @@
{% extends "templates/web.html" %}
{% block title %}{{ _("My Account") }}{% endblock %}
{% block header %}<h1>{{ _("My Account") }}</h1>{% endblock %}
{% block page_sidebar %}
{% include "templates/pages/web_sidebar.html" %}
{% endblock %}
{% block page_content %}
<!-- no-sidebar -->
<!-- no-cache -->
<div class="row">
<div class="col-sm-3">
<div class="your-account-info">
<div class="avatar avatar-large">
<a href="/me">
{% if user_image -%}
<img class="user-image" src="{{ user_image }}" /></a>
{% else %}
{% block script %}
<script> $('.avatar-large').append($(frappe.avatar()).find('.standard-image')) </script>
{% endblock %}
{% endif -%}
</div>
<span class="user-image-myaccount"></span>
<div>
<h4>{{ fullname }}</h4>
<ul class="list-unstyled">
<li><a href="/update-password">
<h6 class="text-muted">{{ _("Reset Password") }}</h6>
@ -27,60 +23,19 @@
<li><a href="/edit-profile">
<h6 class="text-muted">{{ _("Edit Profile") }}</h6>
</a></li>
<li><a href="/?cmd=web_logout">
<h6 class="text-muted">{{ _("Logout") }}</h6>
</a></li>
</ul>
</div>
</div>
</div>
<div class="col-sm-9">
<ul class="list-group" style="margin: 15px 0px;">
{% for item in my_account_list -%}
{% if item.count or (not item.reference_doctype) %}
<li class="list-group-item">
<a href="{{ item.route }}" class="no-decoration"
{% if item.target %}target="{{ item.target }}"{% endif %}>
<h4>{{ _(item.title) }}
{% if item.reference_doctype %}
<span class="badge">
{{ "20+" if item.count > 20 else item.count }}
</span>
{% endif %}
</h4>
</a></li>
{% endif %}
{%- endfor %}
</ul>
<div class="col-sm-4">
<p>
<span class="label">User Name</span>
<span class="value"> {{ fullname }}</span>
</p>
</div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
</div>
{% endblock %}
{% block style %}
<style>
.your-account-info {
margin: 15px 0px;
}
.my-account-list {
margin: 0px 0px 15px;
}
.my-account-list > li > a {
margin: 15px 0px;
display: inline-block;
}
.user-options {
margin-top: 15px;
}
.user-options > li > a {
margin: 5px 0px;
display: inline-block;
}
</style>
{% endblock %}

View file

@ -11,16 +11,4 @@ no_cache = 1
no_sitemap = 1
def get_context(context):
if frappe.session.user == "Guest":
frappe.throw(_("You need to be logged in to access this page."), frappe.PermissionError)
context.my_account_list = frappe.get_all('Portal Menu Item',
fields=['title', 'route', 'reference_doctype'], filters={'enabled': 1}, order_by='idx asc')
for item in context.my_account_list:
if item.reference_doctype:
item.count = len(frappe.templates.pages.list.get(item.reference_doctype).get('result'))
info = get_fullname_and_avatar(frappe.session.user)
context["fullname"] = info.fullname
context["user_image"] = info.avatar
context.show_sidebar=True

View file

@ -0,0 +1,14 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# MIT License. See license.txt
from __future__ import unicode_literals
import frappe
from frappe import _
from frappe.utils.user import get_fullname_and_avatar
import frappe.templates.pages.list
no_cache = 1
no_sitemap = 1
def get_context(context):
pass

View file

@ -1,36 +1,44 @@
{% extends base_template_path %}
{% block hero %}{% endblock %}
{% block content %}
<div class="page-container" id="page-{{ name or page_name }}" data-path="{{ pathname }}"
{% if page_or_generator=="Generator" %}data-doctype="{{ doctype }}"{% endif %}>
<div class="page-content">
<div class="page-content-wrapper">
<div class="row">
{% set full_width = (self.breadcrumbs() or self.header()) and not self.header_actions() -%}
<div class="{% if not full_width %} col-sm-8 {% else %} col-sm-12 {% endif %}">
{% if self.breadcrumbs() %}
<div class="page-breadcrumbs" data-html-block="breadcrumbs">
{% block breadcrumbs %}{% endblock %}
</div>
{% endif %}
<div class="page-header-block" data-html-block="header">
{% block header %}{% endblock %}
</div>
</div>
{% if not full_width %}
<div class="col-sm-4">
<div class="page-header-actions-block" data-html-block="header-actions">
{% block header_actions %}{% endblock %}
</div>
</div>
{% if page_or_generator=="Generator" %}data-doctype="{{ doctype }}"{% endif %}>
<div class="page-content">
<div class="row {% if show_sidebar %} vert-line {% endif %} ">
{% if show_sidebar %}
<div class="sidebar-block col-sm-3">
{% include "templates/includes/web_sidebar.html" %}
</div>
{% endif %}
</div>
<div class="page-content-block">
{%- block page_content -%}{%- endblock -%}
</div>
</div>
</div>
<div class="{% if show_sidebar %} content-block show-sidebar col-sm-9 {% else %} content-block col-sm-12 {% endif %}">
<div class="page-content-wrapper">
<div class="row">
{% if self.breadcrumbs() %}
<div class="col-sm-6 page-breadcrumbs" data-html-block="breadcrumbs">
{% block breadcrumbs %}{% endblock %}
</div>
{% endif %}
{% if show_search %}
<div class="col-sm-6 page-search-block pull-right" data-html-block="search-actions">
{% block search %}
{% include 'templates/includes/search_box.html' %}
{% endblock %}
</div>
{% endif %}
</div>
<div class="row">
<div class="col-sm-6 content-header">{% block header %}{% endblock %}</div>
<div class="col-sm-6 page-header-actions-block pull-right" data-html-block="header-actions">
{% block header_actions %}{% endblock %}
</div>
</div>
</div>
<div class="page_content">
{%- block page_content -%}{%- endblock -%}
</div>
</div>
</div>
</div>
</div>
{% endblock %}

View file

@ -62,6 +62,9 @@ def build_context(context):
if hasattr(module, "get_children"):
context.children = module.get_children(context)
if context.show_sidebar:
add_sidebar_data(context)
add_metatags(context)
# determine templates to be used
@ -71,6 +74,22 @@ def build_context(context):
return context
def add_sidebar_data(context):
from frappe.utils.user import get_fullname_and_avatar
context.my_account_list = frappe.get_all('Portal Menu Item',
fields=['title', 'route', 'reference_doctype'], filters={'enabled': 1}, order_by='idx asc')
for item in context.my_account_list:
if item.reference_doctype:
item.count = len(frappe.templates.pages.list.get(item.reference_doctype).get('result'))
info = get_fullname_and_avatar(frappe.session.user)
context["fullname"] = info.fullname
context["user_image"] = info.avatar
def add_metatags(context):
tags = context.get("metatags")
if tags:

View file

@ -46,6 +46,7 @@ class BlogPost(WebsiteGenerator):
clear_cache("writers")
def get_context(self, context):
context.show_search = True
# this is for double precaution. usually it wont reach this code if not published
if not cint(self.published):
raise Exception, "This blog has not been published yet!"
@ -72,6 +73,10 @@ class BlogPost(WebsiteGenerator):
context.metatags["image"] = image
context.comment_list = get_comment_list(self.doctype, self.name)
if not context.comment_list:
context.comment_text = _('No comments yet')
else:
context.comment_text = _('{0} comments').format(len(context.comment_list))
context.children = get_children()
@ -85,7 +90,8 @@ def get_list_context(context=None):
row_template = "templates/includes/blog/blog_row.html",
get_list = get_blog_list,
hide_filters = True,
children = get_children()
children = get_children(),
show_search = True
)
if frappe.local.form_dict.category:

View file

@ -0,0 +1,142 @@
{
"allow_copy": 0,
"allow_import": 0,
"allow_rename": 0,
"creation": "2016-04-12 18:40:16.315024",
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
"document_type": "Other",
"fields": [
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"fieldname": "label",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 1,
"label": "Label",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"print_width": "120px",
"read_only": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"unique": 0,
"width": "120px"
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"description": "",
"fieldname": "group_label",
"fieldtype": "Select",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 1,
"label": "Group Label",
"length": 0,
"no_copy": 0,
"options": "\nCompany\nContact\nPolicy",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"description": "Link to the page you want to open. Leave blank if you want to make it a group parent.",
"fieldname": "url",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 1,
"label": "URL",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"print_width": "200px",
"read_only": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0,
"width": "200px"
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"description": "Select target = \"_blank\" to open in a new page.",
"fieldname": "target",
"fieldtype": "Select",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Target",
"length": 0,
"no_copy": 0,
"options": "\ntarget = \"_blank\"",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
}
],
"hide_heading": 0,
"hide_toolbar": 0,
"idx": 0,
"in_create": 0,
"in_dialog": 0,
"is_submittable": 0,
"issingle": 0,
"istable": 1,
"max_attachments": 0,
"modified": "2016-04-12 22:54:04.416154",
"modified_by": "Administrator",
"module": "Website",
"name": "Footer Item",
"name_case": "",
"owner": "Administrator",
"permissions": [],
"read_only": 0,
"read_only_onload": 0,
"sort_field": "modified",
"sort_order": "ASC",
"track_seen": 0
}

View file

@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2015, Frappe Technologies and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import frappe
from frappe.model.document import Document
class FooterItem(Document):
pass

View file

@ -1,11 +1,16 @@
{
"allow_attach": 0,
"allow_copy": 0,
"allow_email": 0,
"allow_import": 0,
"allow_print": 0,
"allow_rename": 0,
"allow_trash": 0,
"creation": "2013-02-22 01:28:08",
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
"document_type": "Other",
"fields": [
{
"allow_on_submit": 0,
@ -14,14 +19,18 @@
"fieldname": "label",
"fieldtype": "Data",
"hidden": 0,
"ignore_restrictions": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 1,
"label": "Label",
"length": 0,
"no_column": 0,
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
"print_hide_if_no_value": 0,
"print_width": "120px",
"read_only": 0,
"report_hide": 0,
@ -39,14 +48,19 @@
"fieldname": "parent_label",
"fieldtype": "Select",
"hidden": 0,
"ignore_restrictions": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 1,
"label": "Parent Label",
"length": 0,
"no_column": 0,
"no_copy": 0,
"options": "",
"permlevel": 0,
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@ -62,14 +76,18 @@
"fieldname": "url",
"fieldtype": "Data",
"hidden": 0,
"ignore_restrictions": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 1,
"label": "URL",
"length": 0,
"no_column": 0,
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
"print_hide_if_no_value": 0,
"print_width": "200px",
"read_only": 0,
"report_hide": 0,
@ -87,15 +105,19 @@
"fieldname": "target",
"fieldtype": "Select",
"hidden": 0,
"ignore_restrictions": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Target",
"length": 0,
"no_column": 0,
"no_copy": 0,
"options": "\ntarget = \"_blank\"",
"permlevel": 0,
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@ -107,18 +129,23 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"default": "1",
"description": "For top bar",
"fieldname": "right",
"fieldtype": "Check",
"hidden": 0,
"ignore_restrictions": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Right",
"length": 0,
"no_column": 0,
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@ -133,15 +160,22 @@
"in_create": 0,
"in_dialog": 0,
"is_submittable": 0,
"is_transaction_doc": 0,
"issingle": 0,
"istable": 1,
"max_attachments": 0,
"modified": "2015-11-16 06:29:59.696074",
"menu_index": 0,
"modified": "2016-04-12 18:37:05.452208",
"modified_by": "Administrator",
"module": "Website",
"name": "Top Bar Item",
"owner": "Administrator",
"permissions": [],
"read_only": 0,
"read_only_onload": 0
"read_only_onload": 0,
"show_in_menu": 0,
"sort_order": "ASC",
"track_seen": 0,
"use_template": 0,
"version": 0
}

View file

@ -62,6 +62,7 @@ class WebForm(WebsiteGenerator):
# TODO translate options of Select fields like Country
def get_context(self, context):
context.show_sidebar=True
from frappe.templates.pages.list import get_context as get_list_context
frappe.local.form_dict.is_web_form = 1

View file

@ -34,6 +34,9 @@ $.extend(cur_frm.cscript, {
if(item.parentfield === "top_bar_items") {
this.set_parent_label_options();
}
else if(item.parentfield === "footer_items") {
this.set_parent_label_options_footer();
}
},
parent_label: function(doc, cdt, cdn) {
@ -52,6 +55,15 @@ $.extend(cur_frm.cscript, {
cur_frm.fields_dict.top_bar_items.grid.refresh();
}
},
set_parent_label_options_footer: function() {
frappe.meta.get_docfield("Top Bar Item", "parent_label", cur_frm.docname).options =
this.get_parent_options("footer_items");
if($(cur_frm.fields_dict.footer_items.grid.wrapper).find(".grid-row-open")) {
cur_frm.fields_dict.footer_items.grid.refresh();
}
},
// get labels of parent items
get_parent_options: function(table_field) {

View file

@ -984,7 +984,7 @@
"issingle": 1,
"istable": 0,
"max_attachments": 10,
"modified": "2016-02-22 09:38:53.160165",
"modified": "2016-04-12 23:17:55.682407",
"modified_by": "Administrator",
"module": "Website",
"name": "Website Settings",
@ -1004,6 +1004,8 @@
"print": 1,
"read": 1,
"report": 0,
"restrict": 0,
"restricted": 0,
"role": "Website Manager",
"set_user_permissions": 0,
"share": 1,
@ -1024,13 +1026,17 @@
"print": 0,
"read": 1,
"report": 0,
"restrict": 0,
"restricted": 0,
"role": "All",
"set_user_permissions": 0,
"share": 0,
"share": 1,
"submit": 0,
"write": 0
}
],
"read_only": 0,
"read_only_onload": 0
"read_only_onload": 0,
"sort_order": "ASC",
"track_seen": 0
}

View file

@ -39,10 +39,20 @@ class WebsiteSettings(Document):
top_bar_item.idx))
def validate_footer_items(self):
"""clear parent label in footer"""
"""validate url in top bar items"""
for footer_item in self.get("footer_items"):
footer_item.parent_label = None
if footer_item.parent_label:
parent_label_item = self.get("footer_items", {"label": footer_item.parent_label})
if not parent_label_item:
# invalid item
frappe.throw(_("{0} does not exist in row {1}").format(footer_item.parent_label, footer_item.idx))
elif not parent_label_item[0] or parent_label_item[0].url:
# parent cannot have url
frappe.throw(_("{0} in row {1} cannot have both URL and child items").format(footer_item.parent_label,
footer_item.idx))
def on_update(self):
self.clear_cache()
@ -59,32 +69,12 @@ class WebsiteSettings(Document):
frappe.clear_cache()
def get_website_settings():
hooks = frappe.get_hooks()
all_top_items = frappe.db.sql("""\
select * from `tabTop Bar Item`
where parent='Website Settings' and parentfield='top_bar_items'
order by idx asc""", as_dict=1)
top_items = [d for d in all_top_items if not d['parent_label']]
# attach child items to top bar
for d in all_top_items:
if d['parent_label']:
for t in top_items:
if t['label']==d['parent_label']:
if not 'child_items' in t:
t['child_items'] = []
t['child_items'].append(d)
break
context = frappe._dict({
'top_bar_items': top_items,
'footer_items': frappe.db.sql("""\
select * from `tabTop Bar Item`
where parent='Website Settings' and parentfield='footer_items'
order by idx asc""", as_dict=1),
'top_bar_items': get_items('top_bar_items'),
'footer_items': get_items('footer_items'),
"post_login": [
{"label": "My Account", "url": "/me"},
{"class": "divider"},
@ -134,4 +124,23 @@ def get_website_settings():
context["favicon"] = settings.favicon
return context
def get_items(parentfield):
all_top_items = frappe.db.sql("""\
select * from `tabTop Bar Item`
where parent='Website Settings' and parentfield= %s
order by idx asc""", parentfield, as_dict=1)
top_items = [d for d in all_top_items if not d['parent_label']]
# attach child items to top bar
for d in all_top_items:
if d['parent_label']:
for t in top_items:
if t['label']==d['parent_label']:
if not 'child_items' in t:
t['child_items'] = []
t['child_items'].append(d)
break
return top_items

View file

@ -205,7 +205,9 @@ $.extend(frappe, {
$(".full-name").html(frappe.get_cookie("full_name"));
$(".user-image").attr("src", frappe.get_cookie("user_image"));
$('.user-image-wrapper').html(frappe.avatar());
$('.user-image-wrapper').html(frappe.avatar(null, 'avatar-small'));
$('.user-image-sidebar').html(frappe.avatar(null, 'avatar-medium'));
$('.user-image-myaccount').html(frappe.avatar(null, 'avatar-large'));
}
},
freeze_count: 0,

View file

@ -5,12 +5,21 @@
"docstatus": 0,
"doctype": "Website Theme",
"font_size": "14px",
"footer_color": "",
"footer_text_color": "#808080",
"heading_style": "",
"modified": "2015-02-19 20:01:19.478005",
"heading_webfont": "Open Sans",
"idx": 17,
"link_color": "#808080",
"modified": "2016-04-12 23:46:28.476768",
"modified_by": "Administrator",
"module": "Website",
"name": "Standard",
"no_sidebar": 0,
"owner": "Administrator",
"text_color": "#808080",
"text_webfont": "Open Sans",
"theme": "Standard",
"website_theme_templates": []
"top_bar_color": "",
"top_bar_text_color": "#808080"
}