Merge branch 'master' of github.com:webnotes/erpnext
This commit is contained in:
commit
a91fb047fc
@ -18,8 +18,10 @@ cur_frm.cscript.onload = function(doc,cdt,cdn){
|
||||
$c_obj(make_doclist(cdt,cdn),'get_series','',function(r,rt){
|
||||
if(r.message) set_field_options('naming_series', r.message);
|
||||
});
|
||||
|
||||
|
||||
cur_frm.set_query("price_list_name", function() {
|
||||
return { filters: { buying_or_selling: "Selling" } };
|
||||
});
|
||||
}
|
||||
|
||||
//cash bank account
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
"creation": "2013-05-24 12:15:51",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-05 14:50:33",
|
||||
"modified": "2013-07-26 11:16:53",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@ -94,11 +94,11 @@
|
||||
{
|
||||
"doctype": "DocField",
|
||||
"fieldname": "price_list_name",
|
||||
"fieldtype": "Select",
|
||||
"fieldtype": "Link",
|
||||
"label": "Price List",
|
||||
"oldfieldname": "price_list_name",
|
||||
"oldfieldtype": "Select",
|
||||
"options": "link:Price List",
|
||||
"options": "Price List",
|
||||
"read_only": 0,
|
||||
"reqd": 1
|
||||
},
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
"creation": "2013-05-24 19:29:05",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-25 16:08:10",
|
||||
"modified": "2013-07-26 11:16:58",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@ -247,11 +247,11 @@
|
||||
{
|
||||
"doctype": "DocField",
|
||||
"fieldname": "price_list_name",
|
||||
"fieldtype": "Select",
|
||||
"fieldtype": "Link",
|
||||
"label": "Price List",
|
||||
"oldfieldname": "price_list_name",
|
||||
"oldfieldtype": "Select",
|
||||
"options": "link:Price List",
|
||||
"options": "Price List",
|
||||
"print_hide": 1,
|
||||
"read_only": 0,
|
||||
"reqd": 1
|
||||
|
@ -70,6 +70,12 @@ class TestPurchaseOrder(unittest.TestCase):
|
||||
po.doc.conversion_rate = 0.0167
|
||||
self.assertRaises(WrongWarehouseCompany, po.insert)
|
||||
|
||||
def test_uom_integer_validation(self):
|
||||
from utilities.transaction_base import UOMMustBeIntegerError
|
||||
po = webnotes.bean(copy=test_records[0])
|
||||
po.doclist[1].qty = 3.4
|
||||
self.assertRaises(UOMMustBeIntegerError, po.insert)
|
||||
|
||||
|
||||
test_dependencies = ["BOM"]
|
||||
|
||||
@ -101,7 +107,7 @@ test_records = [
|
||||
"import_rate": 500.0,
|
||||
"amount": 5000.0,
|
||||
"warehouse": "_Test Warehouse - _TC",
|
||||
"stock_uom": "Nos",
|
||||
"stock_uom": "_Test UOM",
|
||||
"uom": "_Test UOM",
|
||||
"schedule_date": "2013-03-01"
|
||||
}
|
||||
|
@ -87,9 +87,6 @@
|
||||
"no_cache": true,
|
||||
"template": "app/website/templates/pages/account"
|
||||
},
|
||||
"attributions": {
|
||||
"template": "app/website/templates/pages/attributions"
|
||||
},
|
||||
"blog": {
|
||||
"template": "app/website/templates/pages/blog",
|
||||
"args_method": "website.helpers.blog.get_blog_template_args"
|
||||
|
@ -1 +0,0 @@
|
||||
Attributions for software libraries / images used in ERPNext.
|
@ -1 +0,0 @@
|
||||
from __future__ import unicode_literals
|
@ -1,3 +0,0 @@
|
||||
.layout-attributions td:first-child {
|
||||
width: 30%;
|
||||
}
|
@ -1,143 +0,0 @@
|
||||
<div class="appframe col col-lg-12 layout-attributions">
|
||||
<div class="layout-appframe"></div>
|
||||
<div class="layout-main">
|
||||
<h3>ERPNext is made using these Awesome Open Source Projects <i class="icon-heart" style="color: red"></i></h3>
|
||||
<hr>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="https://github.com/webnotes/erpnext">ERPNext</a></td>
|
||||
<td>Web based, Open Source ERP. <br>
|
||||
Get top class hosting and support at <a href="https://erpnext.com">ERPNext.com</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/webnotes/wnframework">wnframework</a></td>
|
||||
<td>The full stack Python + Javascript web application framework on which ERPNext is built.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://en.wikipedia.org/wiki/Linux">Linux Operating System</a></td>
|
||||
<td>The operating system that brought a revolution in Open Source software.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://www.mysql.com/">MySQL Database</a></td>
|
||||
<td>The world's most popular Open Source Database.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://httpd.apache.org">Apache HTTPD web server</a></td>
|
||||
<td>The Number One HTTP Server On The Internet.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://memcached.org/">Memcached</a></td>
|
||||
<td>Free & open source, high-performance, distributed memory object caching system.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://python.org/">Python Programming Language</a></td>
|
||||
<td>The "batteries included" language that lets you write elegant code, quickly.<br><br>Python Libraries:
|
||||
<ul>
|
||||
<li>MySQLdb
|
||||
<li>pytz
|
||||
<li>jinja2
|
||||
<li>markdown2
|
||||
<li>dateutil
|
||||
<li>termcolor
|
||||
<li>python-memcached
|
||||
<li>requests
|
||||
<li>chardet
|
||||
<li>pygeoip
|
||||
<li>dropbox
|
||||
<li>google-api-python-client
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://git-scm.com/">Git - Source Code Management</a></td>
|
||||
<td>Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.<br><br>
|
||||
Kindly hosted on the web by <a href="https://github.com">GitHub</a>: The service that makes it easier for individuals and teams to write better code, faster. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://jquery.com/">JQuery Javascript Libary</a></td>
|
||||
<td>The write less, do more Javascript Library.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://jqueryui.com/">JQuery UI - User Interface Library</a></td>
|
||||
<td>A curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://twitter.github.com/bootstrap/index.html">Bootstrap CSS Framework</a></td>
|
||||
<td>Sleek, intuitive, and powerful front-end framework for faster and easier web development.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://fortawesome.github.com/Font-Awesome/">Font Awesome - Icons</a></td>
|
||||
<td>The iconic font designed for use with Twitter Bootstrap.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://www.tinymce.com/">TinyMCE Rich Text Editor</a></td>
|
||||
<td>TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL by Moxiecode Systems AB.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/mleibman/SlickGrid">SlickGrid</a></td>
|
||||
<td>A lightning fast JavaScript grid/spreadsheet.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://arshaw.com/fullcalendar/">FullCalendar</a></td>
|
||||
<td>FullCalendar is a jQuery plugin that provides a full-sized, drag and drop calendar.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://www.flotcharts.org/">Flot Charting Library</a></td>
|
||||
<td>Attractive JavaScript plotting for jQuery.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://ace.ajax.org/">Ace Code Editor</a></td>
|
||||
<td>High Performance Code Editor for the web.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://taitems.github.com/jQuery.Gantt/">JQuery.Gantt - Gantt Charts</a></td>
|
||||
<td>Draw Gantt charts with the famous jQuery ease of development.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://aehlke.github.io/tag-it/">JQuery Tag-it</a></td>
|
||||
<td>Simple and configurable tag editing widget with autocomplete support.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://jscolor.com/">JSColor - Color Picker</a></td>
|
||||
<td>HTML/Javascript Color Picker.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://qunitjs.com/">QUnit</a></td>
|
||||
<td>A JavaScript Unit Testing framework.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/dcneiner/Downloadify">Downloadify - Flash Download Widget</a></td>
|
||||
<td>A tiny javascript + Flash library that enables the creation and download of text files without server interaction.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://dev.maxmind.com/geoip/geolite">GeoLite data by MaxMind</a></td>
|
||||
<td>GeoLite data created by MaxMind, available from
|
||||
<a href="https://www.maxmind.com">https://www.maxmind.com</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
<h3>ERPNext License: GNU/General Public License</h3>
|
||||
<div class="well">
|
||||
<p><b>ERPNext - Open Source, web based ERP</b></p>
|
||||
<p>Copyright © 2012, Web Notes Technologies Pvt Ltd, India</p>
|
||||
|
||||
<p>This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the <b>GNU General Public License</b> as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.</p>
|
||||
|
||||
<p>This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.</p>
|
||||
|
||||
<p>For complete license see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a></p>
|
||||
</div>
|
||||
<p class="alert">Note: A link to this page must be easily accessible and all other ERPNext branding must remain as it is.</p>
|
||||
<hr>
|
||||
<p>For more information please write to us at support@erpnext.com</p>
|
||||
</div>
|
||||
</div>
|
@ -1,4 +0,0 @@
|
||||
wn.pages['attributions'].onload = function(wrapper) {
|
||||
wrapper.appframe = new wn.ui.AppFrame($(wrapper).find(".layout-appframe"),
|
||||
"Attributions");
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
from __future__ import unicode_literals
|
||||
import webnotes
|
@ -1,22 +0,0 @@
|
||||
[
|
||||
{
|
||||
"creation": "2012-03-01 12:30:42",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-11 14:41:47",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
{
|
||||
"doctype": "Page",
|
||||
"icon": "icon-trophy",
|
||||
"module": "Home",
|
||||
"name": "__common__",
|
||||
"page_name": "attributions",
|
||||
"standard": "Yes",
|
||||
"title": "Attributions"
|
||||
},
|
||||
{
|
||||
"doctype": "Page",
|
||||
"name": "attributions"
|
||||
}
|
||||
]
|
@ -3,13 +3,14 @@ import webnotes
|
||||
import re
|
||||
|
||||
def execute():
|
||||
for name, html in webnotes.conn.sql("""select name, html from `tabPrint Format` where standard='No'"""):
|
||||
changed = False
|
||||
for match in re.findall("(doc.net_total.*doc.conversion_rate)", html):
|
||||
if match.replace(" ", "") == "doc.net_total/doc.conversion_rate":
|
||||
html = html.replace(match, "doc.net_total_export")
|
||||
changed = True
|
||||
for name, html in webnotes.conn.sql("""select name, html from `tabPrint Format` where standard='No'
|
||||
and ifnull(html, '')!=''"""):
|
||||
changed = False
|
||||
for match in re.findall("(doc.net_total.*doc.conversion_rate)", html):
|
||||
if match.replace(" ", "") == "doc.net_total/doc.conversion_rate":
|
||||
html = html.replace(match, "doc.net_total_export")
|
||||
changed = True
|
||||
|
||||
if changed:
|
||||
webnotes.conn.set_value("Print Format", name, "html", html)
|
||||
if changed:
|
||||
webnotes.conn.set_value("Print Format", name, "html", html)
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
"creation": "2013-05-24 19:29:08",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-23 15:27:53",
|
||||
"modified": "2013-07-26 11:16:53",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@ -281,12 +281,12 @@
|
||||
"description": "Select the price list as entered in \"Price List\" master. This will pull the reference rates of items against this price list as specified in \"Item\" master.",
|
||||
"doctype": "DocField",
|
||||
"fieldname": "price_list_name",
|
||||
"fieldtype": "Select",
|
||||
"fieldtype": "Link",
|
||||
"in_filter": 1,
|
||||
"label": "Price List",
|
||||
"oldfieldname": "price_list_name",
|
||||
"oldfieldtype": "Select",
|
||||
"options": "link:Price List",
|
||||
"options": "Price List",
|
||||
"print_hide": 1,
|
||||
"read_only": 0,
|
||||
"reqd": 1,
|
||||
|
@ -70,6 +70,22 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
|
||||
this.frm.fields_dict.lead && this.frm.set_query("lead", function(doc,cdt,cdn) {
|
||||
return{ query:"controllers.queries.lead_query" } });
|
||||
|
||||
if(this.frm.fields_dict.price_list_name) {
|
||||
this.frm.set_query("price_list_name", function() {
|
||||
return { filters: { buying_or_selling: "Selling" } };
|
||||
});
|
||||
|
||||
this.frm.set_query("price_list_currency", function() {
|
||||
return {
|
||||
query: "controllers.queries.get_price_list_currency",
|
||||
filters: {
|
||||
price_list_name: me.frm.doc.price_list_name,
|
||||
buying_or_selling: "Selling"
|
||||
}
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
if(!this.fname) {
|
||||
return;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
"creation": "2013-06-18 12:39:59",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-23 15:27:39",
|
||||
"modified": "2013-07-26 11:16:55",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@ -294,11 +294,11 @@
|
||||
"description": "Select the price list as entered in \"Price List\" master. This will pull the reference rates of items against this price list as specified in \"Item\" master.",
|
||||
"doctype": "DocField",
|
||||
"fieldname": "price_list_name",
|
||||
"fieldtype": "Select",
|
||||
"fieldtype": "Link",
|
||||
"label": "Price List",
|
||||
"oldfieldname": "price_list_name",
|
||||
"oldfieldtype": "Select",
|
||||
"options": "link:Price List",
|
||||
"options": "Price List",
|
||||
"print_hide": 1,
|
||||
"reqd": 1,
|
||||
"width": "100px"
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
"creation": "2013-01-25 11:35:09",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-23 12:03:25",
|
||||
"modified": "2013-07-26 11:19:06",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@ -55,6 +55,7 @@
|
||||
"doctype": "DocField",
|
||||
"fieldname": "currency",
|
||||
"fieldtype": "Link",
|
||||
"in_list_view": 1,
|
||||
"label": "Currency",
|
||||
"options": "Currency",
|
||||
"reqd": 1
|
||||
@ -64,6 +65,7 @@
|
||||
"doctype": "DocField",
|
||||
"fieldname": "buying_or_selling",
|
||||
"fieldtype": "Select",
|
||||
"in_list_view": 1,
|
||||
"label": "Valid for Buying or Selling?",
|
||||
"options": "Buying\nSelling",
|
||||
"reqd": 1
|
||||
|
@ -1,6 +1,11 @@
|
||||
test_records = [
|
||||
[{
|
||||
"doctype": "UOM",
|
||||
"uom_name": "_Test UOM"
|
||||
"uom_name": "_Test UOM",
|
||||
"must_be_whole_number": 1
|
||||
}],
|
||||
[{
|
||||
"doctype": "UOM",
|
||||
"uom_name": "_Test UOM 1"
|
||||
}]
|
||||
]
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
"creation": "2013-05-24 19:29:09",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-23 15:28:18",
|
||||
"modified": "2013-07-26 11:16:57",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@ -286,11 +286,11 @@
|
||||
"description": "Select the price list as entered in \"Price List\" master. This will pull the reference rates of items against this price list as specified in \"Item\" master.",
|
||||
"doctype": "DocField",
|
||||
"fieldname": "price_list_name",
|
||||
"fieldtype": "Select",
|
||||
"fieldtype": "Link",
|
||||
"label": "Price List",
|
||||
"oldfieldname": "price_list_name",
|
||||
"oldfieldtype": "Select",
|
||||
"options": "link:Price List",
|
||||
"options": "Price List",
|
||||
"print_hide": 1,
|
||||
"read_only": 0,
|
||||
"reqd": 1
|
||||
|
@ -1 +0,0 @@
|
||||
from __future__ import unicode_literals
|
@ -1 +0,0 @@
|
||||
Markdown reference.
|
@ -1 +0,0 @@
|
||||
from __future__ import unicode_literals
|
@ -1,150 +0,0 @@
|
||||
<div class="appframe col col-lg-12">
|
||||
<div class="layout-appframe">
|
||||
<div class="appframe-titlebar">
|
||||
<span class="appframe-title">Markdown Reference</span>
|
||||
<span class="close" onclick="window.history.back()">×</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layout-main">
|
||||
<div style="width: 60%" class="markdown">
|
||||
<h3>Phrase Emphasis</h3>
|
||||
<pre><code>*italic* **bold**
|
||||
_italic_ __bold__
|
||||
</code></pre>
|
||||
|
||||
<h3>Links</h3>
|
||||
|
||||
<p>Inline:</p>
|
||||
|
||||
<pre><code>An [example](http://url.com/ "Title")
|
||||
</code></pre>
|
||||
|
||||
<p>Reference-style labels (titles are optional):</p>
|
||||
|
||||
<pre><code>An [example][id]. Then, anywhere
|
||||
else in the doc, define the link:
|
||||
|
||||
[id]: http://example.com/ "Title"
|
||||
</code></pre>
|
||||
|
||||
<h3>Images</h3>
|
||||
|
||||
<p>Inline (titles are optional):</p>
|
||||
|
||||
<pre><code>![alt text](/path/img.jpg "Title")
|
||||
</code></pre>
|
||||
|
||||
<p>Reference-style:</p>
|
||||
|
||||
<pre><code>![alt text][id]
|
||||
|
||||
[id]: /url/to/img.jpg "Title"
|
||||
</code></pre>
|
||||
|
||||
<h3>Headers</h3>
|
||||
|
||||
<p>Setext-style:</p>
|
||||
|
||||
<pre><code>Header 1
|
||||
========
|
||||
|
||||
Header 2
|
||||
--------
|
||||
|
||||
</code></pre>
|
||||
|
||||
<p>atx-style (closing #'s are optional):</p>
|
||||
|
||||
<pre><code># Header 1 #
|
||||
|
||||
|
||||
</code></pre>
|
||||
|
||||
<h3>Lists</h3>
|
||||
|
||||
<p>Ordered, without paragraphs:</p>
|
||||
|
||||
<pre><code>1. Foo
|
||||
2. Bar
|
||||
</code></pre>
|
||||
|
||||
<p>Unordered, with paragraphs:</p>
|
||||
|
||||
<pre><code>* A list item.
|
||||
|
||||
With multiple paragraphs.
|
||||
|
||||
* Bar
|
||||
</code></pre>
|
||||
|
||||
<p>You can nest them:</p>
|
||||
|
||||
<pre><code>* Abacus
|
||||
* ass
|
||||
* Bastard
|
||||
1. bitch
|
||||
2. bupkis
|
||||
* BELITTLER
|
||||
3. burper
|
||||
* Cunning
|
||||
</code></pre>
|
||||
|
||||
<h3>Blockquotes</h3>
|
||||
|
||||
<pre><code>> Email-style angle brackets
|
||||
|
||||
> are used for blockquotes.
|
||||
|
||||
> > And, they can be nested.
|
||||
|
||||
> >
|
||||
> * You can quote a list.
|
||||
> * Etc.
|
||||
</code></pre>
|
||||
|
||||
<h3>Code Spans</h3>
|
||||
|
||||
<pre><code>`<code>` spans are delimited
|
||||
by backticks.
|
||||
|
||||
You can include literal backticks
|
||||
like `` `this` ``.
|
||||
</code></pre>
|
||||
|
||||
<h3>Preformatted Code Blocks</h3>
|
||||
|
||||
<p>Indent every line of a code block by at least 4 spaces or 1 tab, and use a colon at the end of the preceding paragraph.</p>
|
||||
|
||||
<pre><code>This is a normal paragraph:
|
||||
|
||||
This is a preformatted
|
||||
code block.
|
||||
|
||||
Preceded by a space, the colon
|
||||
disappears. :
|
||||
|
||||
This is a preformatted
|
||||
code block.
|
||||
</code></pre>
|
||||
|
||||
<h3>Horizontal Rules</h3>
|
||||
|
||||
<p>Three or more dashes or asterisks:</p>
|
||||
|
||||
<pre><code>---
|
||||
|
||||
* * *
|
||||
|
||||
- - - -
|
||||
</code></pre>
|
||||
|
||||
<h3>Manual Line Breaks</h3>
|
||||
|
||||
<p>End a line with two or more spaces:</p>
|
||||
|
||||
<pre><code>Roses are red,
|
||||
Violets are blue.
|
||||
</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -1 +0,0 @@
|
||||
wn.pages['markdown-reference'].onload = function(wrapper) { }
|
@ -1,2 +0,0 @@
|
||||
from __future__ import unicode_literals
|
||||
import webnotes
|
@ -1,22 +0,0 @@
|
||||
[
|
||||
{
|
||||
"creation": "2012-08-07 12:35:30",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-11 14:43:28",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
{
|
||||
"doctype": "Page",
|
||||
"icon": "icon-code",
|
||||
"module": "Utilities",
|
||||
"name": "__common__",
|
||||
"page_name": "Markdown Reference",
|
||||
"standard": "Yes",
|
||||
"title": "Markdown Reference"
|
||||
},
|
||||
{
|
||||
"doctype": "Page",
|
||||
"name": "markdown-reference"
|
||||
}
|
||||
]
|
@ -95,7 +95,7 @@ class TransactionBase(StatusUpdater):
|
||||
self.doc.price_list
|
||||
|
||||
for fieldname, val in customer_defaults.items():
|
||||
if not self.doc.fields.get(fieldname) and self.meta.get_field(fieldname):
|
||||
if self.meta.get_field(fieldname):
|
||||
self.doc.fields[fieldname] = val
|
||||
|
||||
if self.meta.get_field("sales_team"):
|
||||
@ -135,7 +135,7 @@ class TransactionBase(StatusUpdater):
|
||||
|
||||
def set_supplier_defaults(self):
|
||||
for fieldname, val in self.get_supplier_defaults().items():
|
||||
if not self.doc.fields.get(fieldname) and self.meta.get_field(fieldname):
|
||||
if self.meta.get_field(fieldname):
|
||||
self.doc.fields[fieldname] = val
|
||||
|
||||
def get_lead_defaults(self):
|
||||
@ -502,6 +502,8 @@ def delete_events(ref_type, ref_name):
|
||||
webnotes.delete_doc("Event", webnotes.conn.sql_list("""select name from `tabEvent`
|
||||
where ref_type=%s and ref_name=%s""", (ref_type, ref_name)), for_reload=True)
|
||||
|
||||
class UOMMustBeIntegerError(webnotes.ValidationError): pass
|
||||
|
||||
def validate_uom_is_integer(doclist, uom_field, qty_fields):
|
||||
if isinstance(qty_fields, basestring):
|
||||
qty_fields = [qty_fields]
|
||||
@ -520,4 +522,4 @@ def validate_uom_is_integer(doclist, uom_field, qty_fields):
|
||||
webnotes.msgprint(_("For UOM") + " '" + d.fields[uom_field] \
|
||||
+ "': " + _("Quantity cannot be a fraction.") \
|
||||
+ " " + _("In Row") + ": " + str(d.idx),
|
||||
raise_exception=True)
|
||||
raise_exception=UOMMustBeIntegerError)
|
||||
|
@ -23,7 +23,7 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
<p style="float: right; clear: right;">
|
||||
<a style="font-size: 90%; color: #888;" href="attributions">ERPNext Powered</a>
|
||||
<a style="font-size: 90%; color: #888;" href="http://erpnext.org">ERPNext Powered</a>
|
||||
</p>
|
||||
<div class="web-footer-menu">
|
||||
<ul>
|
||||
|
@ -1,140 +0,0 @@
|
||||
{% extends "app/website/templates/html/outer.html" %}
|
||||
|
||||
{% block header %}
|
||||
<style>
|
||||
.layout-attributions td:first-child {
|
||||
width: 30%;
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
{% set title="ERPNext - Web Based, Open Source ERP" %}
|
||||
|
||||
{% block content %}
|
||||
<div class="layout-attributions col col-lg-12">
|
||||
<h3>This website is made using these awesome Open Source projects <i class="icon-heart" style="color: red"></i></h3>
|
||||
<hr>
|
||||
<table class="table table-bordered table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="https://github.com/webnotes/erpnext">ERPNext</a></td>
|
||||
<td>Web based, Open Source ERP. <br>
|
||||
Get top class hosting and support at <a href="https://erpnext.com">ERPNext.com</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/webnotes/wnframework">wnframework</a></td>
|
||||
<td>The full stack Python + Javascript web application framework on which ERPNext is built.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://en.wikipedia.org/wiki/Linux">Linux Operating System</a></td>
|
||||
<td>The operating system that brought a revolution in Open Source software.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://www.mysql.com/">MySQL Database</a></td>
|
||||
<td>The world's most popular Open Source Database.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://httpd.apache.org">Apache HTTPD web server</a></td>
|
||||
<td>The Number One HTTP Server On The Internet.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://memcached.org/">Memcached</a></td>
|
||||
<td>Free & open source, high-performance, distributed memory object caching system.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://python.org/">Python Programming Language</a></td>
|
||||
<td>The "batteries included" language that lets you write elegant code, quickly.<br><br>Python Libraries:
|
||||
<ul>
|
||||
<li>MySQLdb
|
||||
<li>pytz
|
||||
<li>jinja2
|
||||
<li>markdown2
|
||||
<li>dateutil
|
||||
<li>termcolor
|
||||
<li>python-memcached
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://git-scm.com/">Git - Source Code Management</a></td>
|
||||
<td>Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.<br><br>
|
||||
Kindly hosted on the web by <a href="https://github.com">GitHub</a>: The service that makes it easier for individuals and teams to write better code, faster. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://jquery.com/">JQuery Javascript Libary</a></td>
|
||||
<td>The write less, do more Javascript Library.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://jqueryui.com/">JQuery UI - User Interface Library</a></td>
|
||||
<td>A curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://twitter.github.com/bootstrap/index.html">Bootstrap CSS Framework</a></td>
|
||||
<td>Sleek, intuitive, and powerful front-end framework for faster and easier web development.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://fortawesome.github.com/Font-Awesome/">Font Awesome - Icons</a></td>
|
||||
<td>The iconic font designed for use with Twitter Bootstrap.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://www.tinymce.com/">TinyMCE Rich Text Editor</a></td>
|
||||
<td>TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL by Moxiecode Systems AB.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/mleibman/SlickGrid">SlickGrid</a></td>
|
||||
<td>A lightning fast JavaScript grid/spreadsheet.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://arshaw.com/fullcalendar/">FullCalendar</a></td>
|
||||
<td>FullCalendar is a jQuery plugin that provides a full-sized, drag and drop calendar.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://www.flotcharts.org/">Flot Charting Library</a></td>
|
||||
<td>Attractive JavaScript plotting for jQuery.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://ace.ajax.org/">Ace Code Editor</a></td>
|
||||
<td>High Performance Code Editor for the web.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://taitems.github.com/jQuery.Gantt/">JQuery.Gantt - Gantt Charts</a></td>
|
||||
<td>Draw Gantt charts with the famous jQuery ease of development.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://jscolor.com/">JSColor - Color Picker</a></td>
|
||||
<td>HTML/Javascript Color Picker.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://qunitjs.com/">QUnit</a></td>
|
||||
<td>A JavaScript Unit Testing framework.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/dcneiner/Downloadify">Downloadify - Flash Download Widget</a></td>
|
||||
<td>A tiny javascript + Flash library that enables the creation and download of text files without server interaction.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
<h3>ERPNext License: GNU/General Public License</h3>
|
||||
<div class="well">
|
||||
<p><b>ERPNext - Open Source, web based ERP</b></p>
|
||||
<p>Copyright © 2012, Web Notes Technologies Pvt Ltd, India</p>
|
||||
|
||||
<p>This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the <b>GNU General Public License</b> as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.</p>
|
||||
|
||||
<p>This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.</p>
|
||||
|
||||
<p>For complete license see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a></p>
|
||||
</div>
|
||||
<p class="alert">Note: A link to this page must be easily accessible and all other ERPNext branding must remain as it is.</p>
|
||||
<hr>
|
||||
<p>For more information please write to us at support@erpnext.com</p>
|
||||
</div>
|
||||
{% endblock %}
|
Loading…
Reference in New Issue
Block a user