Merge branch 'develop'
This commit is contained in:
commit
84f25b3214
@ -2,7 +2,7 @@
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
|
||||
__version__ = '7.0.0'
|
||||
__version__ = '7.0.1'
|
||||
|
||||
def get_default_company(user=None):
|
||||
'''Get default company for user'''
|
||||
|
@ -1,12 +1,24 @@
|
||||
from frappe import _
|
||||
|
||||
data = {
|
||||
'docstatus': 1,
|
||||
'fieldname': 'purchase_order',
|
||||
'internal_links': {
|
||||
'Material Request': ['items', 'material_request'],
|
||||
'Supplier Quotation': ['items', 'supplier_quotation'],
|
||||
'Project': ['project'],
|
||||
},
|
||||
'transactions': [
|
||||
{
|
||||
'label': _('Related'),
|
||||
'items': ['Purchase Receipt', 'Purchase Invoice', 'Stock Entry']
|
||||
'items': ['Purchase Receipt', 'Purchase Invoice']
|
||||
},
|
||||
{
|
||||
'label': _('Reference'),
|
||||
'items': ['Material Request', 'Supplier Quotation', 'Project']
|
||||
},
|
||||
{
|
||||
'label': _('Sub-contracting'),
|
||||
'items': ['Stock Entry']
|
||||
},
|
||||
]
|
||||
}
|
@ -11,10 +11,24 @@ def get_data():
|
||||
"type": "doctype",
|
||||
"name": "Student"
|
||||
},
|
||||
{
|
||||
"type": "doctype",
|
||||
"name": "Student Batch"
|
||||
},
|
||||
{
|
||||
"type": "doctype",
|
||||
"name": "Student Group"
|
||||
},
|
||||
{
|
||||
"type": "doctype",
|
||||
"name": "Student Group Creation Tool"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": _("Admission"),
|
||||
"items": [
|
||||
|
||||
{
|
||||
"type": "doctype",
|
||||
"name": "Student Applicant"
|
||||
@ -26,10 +40,6 @@ def get_data():
|
||||
{
|
||||
"type": "doctype",
|
||||
"name": "Program Enrollment Tool"
|
||||
},
|
||||
{
|
||||
"type": "doctype",
|
||||
"name": "Student Group Creation Tool"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -47,11 +57,11 @@ def get_data():
|
||||
},
|
||||
{
|
||||
"type": "doctype",
|
||||
"name": "Scheduling Tool"
|
||||
"name": "Examination"
|
||||
},
|
||||
{
|
||||
"type": "doctype",
|
||||
"name": "Examination"
|
||||
"name": "Scheduling Tool"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -78,6 +88,23 @@ def get_data():
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": _("LMS"),
|
||||
"items": [
|
||||
{
|
||||
"type": "doctype",
|
||||
"name": "Announcement"
|
||||
},
|
||||
{
|
||||
"type": "doctype",
|
||||
"name": "Topic"
|
||||
},
|
||||
{
|
||||
"type": "doctype",
|
||||
"name": "Discussion"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": _("Setup"),
|
||||
"items": [
|
||||
|
@ -43,15 +43,15 @@ class Opportunity(TransactionBase):
|
||||
|
||||
def make_new_lead_if_required(self):
|
||||
"""Set lead against new opportunity"""
|
||||
if not (self.lead or self.customer):
|
||||
if not (self.lead or self.customer) and self.contact_email:
|
||||
lead_name = frappe.db.get_value("Lead", {"email_id": self.contact_email})
|
||||
if not lead_name:
|
||||
sender_name = get_fullname(self.contact_email)
|
||||
if sender_name == self.contact_email:
|
||||
sender_name = None
|
||||
|
||||
if not sender_name and self.contact_email.index('@'):
|
||||
email_name = self.contact_email[0:self.contact_email.index('@')]
|
||||
if not sender_name and ('@' in self.contact_email):
|
||||
email_name = self.contact_email.split('@')[0]
|
||||
|
||||
email_split = email_name.split('.')
|
||||
sender_name = ''
|
||||
|
@ -3,11 +3,13 @@
|
||||
"allow_import": 1,
|
||||
"allow_rename": 1,
|
||||
"autoname": "field:employee_type_name",
|
||||
"beta": 0,
|
||||
"creation": "2013-01-10 16:34:14",
|
||||
"custom": 0,
|
||||
"docstatus": 0,
|
||||
"doctype": "DocType",
|
||||
"document_type": "Setup",
|
||||
"editable_grid": 0,
|
||||
"fields": [
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
@ -17,6 +19,7 @@
|
||||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 1,
|
||||
"label": "Employment Type",
|
||||
@ -26,6 +29,7 @@
|
||||
"oldfieldtype": "Data",
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 1,
|
||||
@ -38,13 +42,14 @@
|
||||
"hide_toolbar": 0,
|
||||
"icon": "icon-flag",
|
||||
"idx": 1,
|
||||
"image_view": 0,
|
||||
"in_create": 0,
|
||||
"in_dialog": 0,
|
||||
"is_submittable": 0,
|
||||
"issingle": 0,
|
||||
"istable": 0,
|
||||
"max_attachments": 0,
|
||||
"modified": "2015-11-16 06:29:46.733350",
|
||||
"modified": "2016-07-22 05:34:43.238512",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Employment Type",
|
||||
@ -91,6 +96,9 @@
|
||||
"write": 1
|
||||
}
|
||||
],
|
||||
"quick_entry": 1,
|
||||
"read_only": 0,
|
||||
"read_only_onload": 0
|
||||
"read_only_onload": 0,
|
||||
"sort_order": "DESC",
|
||||
"track_seen": 0
|
||||
}
|
@ -5,6 +5,8 @@ def execute():
|
||||
frappe.reload_doc('portal', 'doctype', 'homepage_featured_product')
|
||||
frappe.reload_doc('portal', 'doctype', 'homepage')
|
||||
frappe.reload_doc('portal', 'doctype', 'products_settings')
|
||||
frappe.reload_doctype('Item')
|
||||
frappe.reload_doctype('Item Group')
|
||||
|
||||
website_settings = frappe.get_doc('Website Settings', 'Website Settings')
|
||||
if frappe.db.exists('Web Page', website_settings.home_page):
|
||||
|
@ -91,9 +91,6 @@ class Timesheet(Document):
|
||||
frappe.throw(_("Row {0}: Completed Qty cannot be more than {0} for operation {1}").format(data.idx, pending_qty, self.operation),
|
||||
OverProductionLoggedError)
|
||||
|
||||
if data.billable and flt(data.billing_rate) == 0.0 and data.activity_type:
|
||||
frappe.throw(_("Row {0}: Billing Rate must be greater than zero.").format(data.idx))
|
||||
|
||||
def update_production_order(self, time_sheet):
|
||||
if self.production_order:
|
||||
pro = frappe.get_doc('Production Order', self.production_order)
|
||||
|
@ -127,8 +127,9 @@
|
||||
.dashboard-list-item:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
.payment-toolbar {
|
||||
margin-left: 35px;
|
||||
.payment-toolbar .row {
|
||||
width: 323px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.payment-mode {
|
||||
cursor: pointer;
|
||||
@ -159,6 +160,38 @@
|
||||
background-color: #FDFDFD;
|
||||
border-color: #e8e8e8;
|
||||
}
|
||||
.multimode-payments {
|
||||
padding-left: 30px;
|
||||
}
|
||||
.payment-toolbar {
|
||||
padding-right: 30px;
|
||||
}
|
||||
body[data-route="pos"] .modal-dialog {
|
||||
width: 750px;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
body[data-route="pos"] .modal-dialog {
|
||||
width: auto;
|
||||
}
|
||||
body[data-route="pos"] .modal-dialog .modal-content {
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.amount-row h3 {
|
||||
font-size: 15px;
|
||||
}
|
||||
.pos-keyboard-key,
|
||||
.delete-btn {
|
||||
height: 50px;
|
||||
}
|
||||
.multimode-payments {
|
||||
padding-left: 15px;
|
||||
}
|
||||
.payment-toolbar {
|
||||
padding-right: 15px;
|
||||
}
|
||||
}
|
||||
.amount-label {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
@ -11,7 +11,6 @@ erpnext.payments = erpnext.stock.StockController.extend({
|
||||
|
||||
this.dialog.show();
|
||||
this.$body = this.dialog.body;
|
||||
this.dialog.$wrapper.find('.modal-dialog').css("width", "750px");
|
||||
this.set_payment_primary_action();
|
||||
this.make_keyboard();
|
||||
},
|
||||
|
@ -1,40 +1,36 @@
|
||||
<div class="pos_payment row">
|
||||
<div class="col-sm-6">
|
||||
<div class="row">
|
||||
<div class="col-xs-6 text-center">
|
||||
<p class="amount-label"> Total <h3>{%= format_currency(grand_total, currency) %} </h3></p>
|
||||
</div>
|
||||
<div class="col-xs-6 text-center">
|
||||
<p class="amount-label"> Paid <h3 class="paid_amount">{%= format_currency(paid_amount, currency) %}</h3></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="multimode-payments">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="row">
|
||||
<div class="col-xs-6 text-center">
|
||||
<p class="amount-label"> Outstanding <h3 class="outstanding_amount">{%= format_currency(outstanding_amount, currency) %} </h3></p>
|
||||
</div>
|
||||
<div class="col-xs-6 text-center">
|
||||
<p class="amount-label"> Change <h3 class="change_amount">{%= format_currency(change_amount, currency) %}</h3></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="payment-toolbar">
|
||||
{% for(var i=0; i<3; i++) { %}
|
||||
<div class="row">
|
||||
{% for(var j=i*3; j<(i+1)*3; j++) { %}
|
||||
<button type="button" class="btn btn-default pos-keyboard-key">{{j+1}}</button>
|
||||
{% } %}
|
||||
</div>
|
||||
{% } %}
|
||||
<div class="row amount-row">
|
||||
<div class="col-xs-6 col-sm-3 text-center">
|
||||
<p class="amount-label"> Total <h3>{%= format_currency(grand_total, currency) %} </h3></p>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3 text-center">
|
||||
<p class="amount-label"> Paid <h3 class="paid_amount">{%= format_currency(paid_amount, currency) %}</h3></p>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3 text-center">
|
||||
<p class="amount-label"> Outstanding <h3 class="outstanding_amount">{%= format_currency(outstanding_amount, currency) %} </h3></p>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3 text-center">
|
||||
<p class="amount-label"> Change <h3 class="change_amount">{%= format_currency(change_amount, currency) %}</h3>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="col-sm-6 multimode-payments">
|
||||
</div>
|
||||
<div class="col-sm-6 payment-toolbar">
|
||||
{% for(var i=0; i<3; i++) { %}
|
||||
<div class="row">
|
||||
<button type="button" class="btn btn-default delete-btn">Del</button>
|
||||
<button type="button" class="btn btn-default pos-keyboard-key">0</button>
|
||||
<button type="button" class="btn btn-default pos-keyboard-key">.</button>
|
||||
{% for(var j=i*3; j<(i+1)*3; j++) { %}
|
||||
<button type="button" class="btn btn-default pos-keyboard-key">{{j+1}}</button>
|
||||
{% } %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% } %}
|
||||
<div class="row">
|
||||
<button type="button" class="btn btn-default delete-btn">Del</button>
|
||||
<button type="button" class="btn btn-default pos-keyboard-key">0</button>
|
||||
<button type="button" class="btn btn-default pos-keyboard-key">.</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -162,7 +162,10 @@
|
||||
}
|
||||
|
||||
.payment-toolbar {
|
||||
margin-left: 35px;
|
||||
.row {
|
||||
width: 323px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
|
||||
.payment-mode {
|
||||
@ -197,6 +200,41 @@
|
||||
border-color: #e8e8e8;
|
||||
}
|
||||
|
||||
.multimode-payments {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.payment-toolbar {
|
||||
padding-right: 30px;
|
||||
}
|
||||
|
||||
body[data-route="pos"] .modal-dialog {
|
||||
width: 750px;
|
||||
|
||||
@media (max-width: @screen-xs) {
|
||||
width: auto;
|
||||
|
||||
.modal-content {
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: @screen-xs) {
|
||||
.amount-row h3 {
|
||||
font-size: 15px;
|
||||
}
|
||||
.pos-keyboard-key, .delete-btn {
|
||||
height: 50px;
|
||||
}
|
||||
.multimode-payments {
|
||||
padding-left: 15px;
|
||||
}
|
||||
.payment-toolbar {
|
||||
padding-right: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
.amount-label {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
@ -126,7 +126,7 @@
|
||||
"label": "Academic Term",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "Academic Year",
|
||||
"options": "Academic Term",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
@ -199,7 +199,7 @@
|
||||
"issingle": 0,
|
||||
"istable": 0,
|
||||
"max_attachments": 0,
|
||||
"modified": "2016-07-22 05:31:12.683404",
|
||||
"modified": "2016-07-22 09:19:51.141234",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Schools",
|
||||
"name": "Student Batch",
|
||||
|
@ -5,8 +5,7 @@
|
||||
"autoname": "naming_series:",
|
||||
"beta": 0,
|
||||
"creation": "2013-05-24 19:29:08",
|
||||
"custom": 0,
|
||||
"default_print_format": "test123",
|
||||
"custom": 0,
|
||||
"docstatus": 0,
|
||||
"doctype": "DocType",
|
||||
"document_type": "Document",
|
||||
|
@ -79,7 +79,7 @@ erpnext.buying.MaterialRequestController = erpnext.buying.BuyingController.exten
|
||||
|
||||
// stop
|
||||
cur_frm.add_custom_button(__('Stop'),
|
||||
cur_frm.cscript['Stop Material Request'], __("Status"));
|
||||
cur_frm.cscript['Stop Material Request']);
|
||||
|
||||
}
|
||||
}
|
||||
@ -102,7 +102,7 @@ erpnext.buying.MaterialRequestController = erpnext.buying.BuyingController.exten
|
||||
|
||||
if(doc.docstatus == 1 && doc.status == 'Stopped')
|
||||
cur_frm.add_custom_button(__('Re-open'),
|
||||
cur_frm.cscript['Unstop Material Request'], __("Status"));
|
||||
cur_frm.cscript['Unstop Material Request']);
|
||||
|
||||
},
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
from frappe import _
|
||||
|
||||
data = {
|
||||
'docstatus': 1,
|
||||
'fieldname': 'material_request',
|
||||
'transactions': [
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user