Browse Source

Merge branch 'responsive' of github.com:webnotes/erpnext into responsive

develop
Anand Doshi 11 years ago
parent
commit
d33244ce27
  1. 5
      .gitignore
  2. 335
      home/page/latest_updates/latest_updates.js
  3. 58
      home/page/latest_updates/latest_updates.py
  4. 2
      public/js/toolbar.js

5
.gitignore

@ -1,10 +1,7 @@
*.pyc
*.py~
*.comp.js
.DS_Store
patch.log
lib
conf.py
version.num
locale
latest_updates.json
.wnf-lang-status

335
home/page/latest_updates/latest_updates.js

@ -1,292 +1,3 @@
erpnext.updates = [
["17th May", ["Patch: Set Conversion Factor for purchase invoice item in all old records. And repost JV to book Stock Received But Not Billed account, if Auto Inventory Integration enabed."
]],
["2nd May", ["Buying: Warehouse must belong to same company as transaction",
"Price List: Added Currency Field. One price list can have only one currency",
"Item: Naming can now be by series or item code",
"Naming Series: Set number of digits in series (optionally)",
"Login: Disable Signup link in the login page"]],
["30th April", ["Price List: Valid for all countries or only valid for specific countries"]],
["18th April", ["Cost Center: Set a default Cost Center for a Company"]],
["12th April", ["Employee: List of Leave Approvers who can approve the Employee's Leave Applications"]],
["10th April", ["Redesigned File Uploads and added File Manager in Setup"]],
["3rd April", ["Update Manager: Open source users can update their ERPNext instance from Setup > Update Manager"]],
["27th March", ["Rename multiple items together. Go to Setup > Rename Tool"]],
["26th March", ["Added project to Stock Ledger and Balance",
"Added Default Cash Account in Company."]],
["19th March", ["Sales and Purchase Return Tool deprecated. Use Stock Entry instead."]],
["12th March", ["Updates to website module. Added more options in Style Settings and Website Settings."]],
["5th March", ["Refactored Upload Attendance Tool"]],
["4th March", ["Lead organization added in Quotation classic/spartan/modern print format"]],
["1st March", [
"Time Log, Time Log Batch: Created feature to batch Time Logs so that they can be tracked for billing.",
"Sub-contracting code refactored for PO",
]],
["28th February", [
"Datatype validation in Voucher Import Tool",
"Fixes for conversion factor in old invoices",
"Fixed asynchronus issue in purchase cycle"
]],
["27th February", [
"Time Log: Created Time Log System, with Calendar View."
]],
["26th February", [
"Gross Profit: The report has been rewritten and now it is under Accounts module"
]],
["25th February", [
"Employee Leave Balance: New Report",
"Scripted Reports: Ability to create reports via Script",
]],
["21st February, 2013", [
"Item: Warehouse-wise Re-order Level and Quantity",
"Buying: Purchase Request renamed to Material Request",
"Website: Dynamic (mobile friendly) layouts using Bootstrap Responsive layouts"
]],
["20th February, 2013", [
"Disable Rounded Total: If disable in 'Global Defaults', Rounding related fields \
in sales cycle transactions and in corresponding print formats will not be visible"
]],
["15th February, 2013", [
"Calendar: Added new FullCalendar, and Calendar Views",
"Leave Application: Added email notifications on Leave Application",
]],
["13th February, 2013", [
"Employee: If Employee is linked to a Profile, copy Full Name, Date of Birth, \
Image and Gender to Profile",
"Leave Application: Select Leave Approver by their Full Name",
"Fixes in C-Form",
]],
["12th February, 2013", ["Fixes in Payment Reconciliation "]],
["6th February, 2013", [
"Bookmarks: Add bookmarks via toolbar by clicking on the <i class='icon-star'></i> sign.",
"Fixes in Voucher Import Tool",
]],
["5th February, 2013", [
"Block Negative Account Balance: If enabled, system will not allow to post entry \
if balance goes into negative",
"Leave Block List: Block users from taking leave on certain days.",
"Added project column in 'To Be Delivered/Billed' report ",
]],
["4th February, 2013", [
"Make gl entry only if amount is there",
"Fixes in Stock Ledger Report"
]],
["2nd February, 2013", [
"Warehouse: Added table Warehouse User to restrict Warehouse Entry per user.",
"Fixes in Gl Entry for Purchase Invoice",
]],
["1st February, 2013", [
"Removed sales order pending items report",
"Fixes in Salary Register Report, Sales Invoice and Budget Control",
]],
["31st January, 2013", [
"New Report: Purchase order items pending to be received",
"GL Mapper deprecated",
]],
["28st January, 2013", [
"List Views are now configurable: To set list views, check 'In List View' in Setup > Customize Form View in the fields table.",
"Fixes in Financial Statements and Features Setup",
]],
["25th January, 2013", [
"Fixes for currency in all Modern/Classic/Spartan print formats",
"Stock Ageing Report: Added show zero values option"
]],
["24th January, 2013", [
"Sales Analytics based on Sales Order/Delivery Note/Sales Invoice",
"Integrated Languages in Profile and via browser settings. To set your language, click on your name in the toolbar then 'My Settings...'",
"Fixes in Recurring Invoice",
"Fixes for Territory link to Sales Browser ",
"Check item/item group with same name while creating item group/item",
]],
["22nd January, 2013", [
"Valuation Rate mandatory for opening Stock Reconciliation",
"Show analytics value based on valuation method defined in item master",
]],
["21st January, 2013", [
"Number Formatting: Added Number Format to Global Defaults & Currency",
]],
["20th January, 2013", [
"In payment matching tool only show outstanding invoices"
]],
["18th January, 2013", [
"Buying: Added Price List to purchase cycle",
"C-Form now submittable",
]],
["16th January, 2013", [
"Incoming rate for sales return as per delivery note outgoing rate",
"Job Applicant: Track Job Applicants and extract them from a mailbox like 'jobs@example.com'. See <a href='#Form/Jobs Email Settings'>Jobs Email Settings</a>.",
"Extract leads: Extract Leads from a mailbox like 'sales@example.com'. See <a href='#Form/Sales Email Settings'>Sales Email Settings</a>.",
]],
["14th January, 2013", [
"Stock Reconciliation: Ability to update Valuation Rate",
"Time Field: Added Datetime and new Time Picker",
"Task, Support Ticket, Customer Issue: Added script to update resolution times"
]],
["10th January 2013", [
"Modules: New module pages with open item count and multi-lingual.",
"Permissions: Added new 'Report' permission. Only users with report permissions will be allowed.",
]],
["7th January 2013", [
"Language (backend): Integrated language libraries."]],
["4th January 2013", [
"Support Analytics: Simple Tool to Plot Number Tickets and time to Closing",
"Workflow: Added Workflow Help",
]],
["2nd January 2013", [
"Permission Manager: New Design with better help and better advanced permission selection.",
"User Properties: Better way to set User Properties (defaults).",
]],
["1st January 2013", [
"Trial Balance: Added an option to see the report <b>without period closing entry</b>\
You will find this checkbox at the bottom of the report.",
"General Ledger: Now, on filter of any account group, you will have an option to see \
the report <b>grouped by ledgers</b> under that group and with opening \
and closing balance for each of them."
]],
["28th December 2012", [
"Workflow: Added System for Multi-level approval before Submission. \
<br>See video at <a href='https://www.youtube.com/watch?v=zuGv59_wJKw' \
target='_blank'>https://www.youtube.com/watch?v=zuGv59_wJKw</a>.",
"Stock Level Report: New report to see available and estimated qty of stock",
]],
["27th December 2012", [
"Website: Added auto-generated Contact Us and About Us Pages",
"Website: Added option to create slideshows and add them to Pages, Products and Product Groups",
]],
["25th December 2012", [
"Stock Balance Report: Inflow, outflow and balance of stock within a defined period",
"Stock Reports: Added Brand filter on some of the reports"
]],
["21st December 2012", [
"Manufacturing: For Material Transfer against Production Order, \
fetch quantity pending to be transferred for each item.",
"Desktop: New Icons and now sortable by dragging."
]],
["20th December 2012", [
"Website: Create Product Search Page, Product Group Page on the website.",
"Manufacturing: \
<a href=\"https://github.com/webnotes/erpnext/wiki/Changes-in-Manufacturing-Module\" \
target=\"_blank\">Refactored code, improved usability.</a>"
]],
["14th December 2012", [
"Website Module: Major Refactor - removed framework code from website."
]],
["12th December 2012", [
"Attachments: Attachments can be set as URLs or File Uploads. This will help if people want to share documents from Google Docs, Dropbox and other such services (esp for the Product listings on websites).",
"Global Defaults: Session Expiry can now be set in Global Defaults.",
]],
["6th December 2012", [
"Rename: Cost Center, Item Group, Customer Group, Supplier Type, Territory, Sales Person can now be renamed.",
"Newsletter: Send newsletter to a list of email addresses.",
]],
["5th December 2012", [
"Leave Application: Now can set approver.",
"New Roles Added: Leave Approver and Expense Approver.",
"Production Order: Now linked with Sales Order.",
"Production Planning Tool: The field 'Allow SA items as raw material' has been renamed to 'Use multi-level BOM', 'Include in plan' column from SO table has been deleted",
"Batch Numbers: Batch nos are now filtered with Item and available qty at time of selection in transactions.",
"BOM: 'Update Costing' button has been deleted, once submitted cost are fixed.",
"[For indian customer only] Deprecated TDS related documents and fields. Old TDS amount added into tax table in Purchase Invoice and entries table in case of JV",
]],
["4th December 2012", [
"POS / Mode of Payment: Select default bank / cash account in Mode of Payment and it will be automatically selected in POS Invoice.",
"Email: Add contact name as 'Dear so-and-so' in Email.",
"Report Builder: Remember last column setup for users",
"Report Builder: Autoset column width (remember)",
]],
["3rd December 2012", [
"Linked With: Added new Linked with in all Forms.",
"Rename Tool: Documents that can be renamed will have a 'Rename' option in the sidebar (wherever applicable).",
"Chart of Accounts: Ability to rename / delete from Chart of Accounts.",
"Delivery and Billing status now updated in sales order, if POS made against that sales order"
]],
["30th November 2012", [
"Auto Notifications: System will prompt user with pre-set message for auto-notification.",
"Employee: Users with role Employee will only be able to see their Employee Records.",
"Leave Application: Users with role Employee can now apply for leaves. HR User will be able to set Approval or Rejection.",
]],
["29th November 2012", [
"EMail: Form Emails are now via Communication (with Rich Text Etc.).",
]],
["28th November 2012", [
"Profile: Profile Settings (My Settings...) is now the Profile Form.",
"Financial Analytics: Show Net Profit/Loss",
]],
["27th November 2012", [
"Communication: Made common communication thread and added it in Lead, Contact.",
]],
["26th November 2012", [
"Email: Added User Signature",
"Support Ticket: Added link to Lead / Contact. If incoming ticket is not from an existing Lead / Contact, create a new Lead",
]],
["24ht November 2012", [
"Support Ticket: Support Ticket Response is now Communication",
]],
["23rd November 2012", [
"General Ledger: Auto-suggest Accounts for filtering",
"Calendar: User Interface Fixes, small text for events",
"Email Settings: Setup outgoing email without a login id \
(applicable for a local email server)",
"Delivered Items To Be Billed: New report in 'Accounts'",
]],
["22nd November 2012", [
"Support Ticket: Compose a reply using Markdown",
"Supplier Link Field: Search by Supplier Name instead of ID",
"Supplier Link Field: Show only ID in auto-suggest \
if ID created using Supplier Name (as defined in Global Defaults)",
]],
["21st November 2012", [
"Tree Report: Added missing expand / collapse buttons.",
"List View: Do not show restricted records, as defined in Permission Manager.",
"Customer Link Field: Search by Customer Name instead of ID",
"Customer Link Field: Show only ID in auto-suggest \
if ID created using Customer Name (as defined in Global Defaults)",
"Letter Head: Fixed bug causing cursor position to reset in Content",
]],
["20th November 2012", [
"Auto-suggest: Show main label in bold",
"Data Import Tool: Fixed #Name error faced by MS Excel users in import template",
]],
["19th November 2012", [
"Sales Order: Bugfix - Shipping Address should be a Link field.",
"Link Fields: Search Profile, Employee and Lead using Full Names instead of ID.",
"Knowledge Base: Always open links, embedded in an answer, in a new tab."
]],
["16th November 2012", [
"Appraisal: Cleaned up form and logic. Removed complex and unnecessary approval logic, \
the appraiser can select the template and role and make an appraisal. \
Normal user can see self created Appraisals. HR Manager can see all Appraisals.",
"Project: Bugfix in Gantt Chart (caused due to jquery conflict)",
"Serial No: Ability to rename.",
"Rename Tool: Added Serial No to rename tool.",
]],
["15th November 2012", [
"Customer Issue: Moved all allocations to 'Assigned' so that there is avoid duplication fo features.",
"Letter Head: Show preview, make upload button more visible.",
"Price List: Removed import, now import from Data Import Tool.",
"Data Import Tool: More help in template.",
]],
["14th November 2012", [
"Employee: If User ID is set, Employee Name will be updated in defaults and will appear automatically in all relevant forms.",
"Backups: Link to download both database and files.",
]],
["13th November 2012", [
"Customize Form View: Validate correct 'Options' for Link and Table fields.",
"Report Builder (new): Added formatters for Date, Currency, Links etc.",
"Trial Balance (new): Feature to export Ledgers or Groups selectively. Indent Groups with spaces.",
"General Ledger (new): Will show entries with 'Is Opening' as Opening.",
"General Ledger (new): Show against account entries if filtered by account.",
]],
["12th November 2012", [
"Document Lists: Automatically Refresh lists when opened (again).",
"Messages: Popups will not be shown (annoying).",
"Email Digest: New option to get ten latest Open Support Tickets.",
"Journal Voucher: 'Against JV' will now be filtered by the Account selected.",
"Query Report: Allow user to rename and save reports.",
"Employee Leave Balance Report: Bugfix"
]]
];
wn.pages['latest-updates'].onload = function(wrapper) {
wn.ui.make_app_page({
parent: wrapper,
@ -295,16 +6,40 @@ wn.pages['latest-updates'].onload = function(wrapper) {
});
var parent = $(wrapper).find(".layout-main");
parent.html('<div class="progress progress-striped active">\
<div class="progress-bar" style="width: 100%;"></div></div>')
$("<p class='help'>Report issues by sending a mail to <a href='mailto:support@erpnext.com'>support@erpnext.com</a> or \
via <a href='https://github.com/webnotes/erpnext/issues'>GitHub Issues</a></p><hr>").appendTo(parent);
$.each(erpnext.updates, function(i, day) {
$("<h4>" + day[0] + "</h4>").appendTo(parent);
$.each(day[1], function(j, item) {
$("<p>").html(item).appendTo(parent);
});
$("<hr>").appendTo(parent);
});
wn.call({
method:"home.page.latest_updates.latest_updates.get",
callback: function(r) {
parent.empty();
$("<p class='help'>Report issues at\
<a href='https://github.com/webnotes/erpnext/issues'>GitHub Issues</a></p>\
<hr><h3>Commit Log</h3>")
.appendTo(parent);
var $tbody = $('<table class="table table-bordered"><tbody></tbody></table>')
.appendTo(parent).find("tbody");
$.each(r.message, function(i, log) {
if(log.message.indexOf("[")!==-1) {
log.message = log.message.replace(/(\[[^\]]*\])/g,
function(match, p1, offset, string) {
match = match.toLowerCase();
var color_class = "";
$.each(["bug", "fix"], function(i, v) {
if(!color_class && match.indexOf(v)!==-1)
color_class = "label-danger";
});
return '<span class="label ' + color_class +'">' + p1.slice(1,-1) + '</span> '
});
log.repo = log.repo==="lib" ? "wnframework" : "erpnext";
$(repl('<tr>\
<td><b><a href="https://github.com/webnotes/%(repo)s/commit/%(commit)s" \
target="_blank">%(message)s</b>\
<br><span class="text-muted">By %(author)s on %(date)s</span></td></tr>', log)).appendTo($tbody);
}
})
}
})
};

58
home/page/latest_updates/latest_updates.py

@ -0,0 +1,58 @@
from __future__ import unicode_literals
import webnotes, os, subprocess, tempfile, json, datetime
@webnotes.whitelist()
def get():
with open("../app/home/page/latest_updates/latest_updates.json", "r") as lufile:
return json.loads(lufile.read())
def make():
def add_to_logs(out, repo):
out.seek(0)
last_commit = None
for l in out.readlines():
if last_commit is not None:
if l.startswith("Date:"):
last_commit["date"] = l[8:-1]
last_commit["datetime"] = datetime.datetime.strptime(last_commit["date"][:-6], "%a %b %d %H:%M:%S %Y")
if l.startswith("Author:"):
last_commit["author"] = l[8:-1]
if l.startswith(" "):
last_commit["message"] = l[4:-1]
if l.startswith("commit"):
last_commit = {
"repo": repo,
"commit": l.split(" ")[1][:-1]
}
logs.append(last_commit)
os.chdir("lib")
logs = []
out_lib = tempfile.TemporaryFile()
subprocess.call("git --no-pager log -n 200", shell=True, stdout=out_lib)
add_to_logs(out_lib, "lib")
os.chdir("../app")
out_app = tempfile.TemporaryFile()
subprocess.call("git --no-pager log -n 200", shell=True, stdout=out_app)
add_to_logs(out_app, "app")
logs.sort(key=lambda a: a["datetime"], reverse=True)
for a in logs:
del a["datetime"]
for i in xrange(len(logs)):
if i and logs[i]["message"]==logs[i-1]["message"]:
logs[i]["delete"] = True
if logs[i]["message"].startswith("Merge branch") or "[" not in logs[i]["message"]:
logs[i]["delete"] = True
logs = filter(lambda a: a if not a.get("delete") else None, logs)
os.chdir("..")
with open("app/home/page/latest_updates/latest_updates.json", "w") as lufile:
lufile.write(json.dumps(logs, indent=1, sort_keys=True))
if __name__=="__main__":
make()

2
public/js/toolbar.js

@ -31,6 +31,8 @@ erpnext.toolbar.setup = function() {
'+wn._('Live Chat')+'</a></li>')
erpnext.toolbar.set_new_comments();
$("#toolbar-tools").append('<li><a href="#latest-updates">Latest Updates</li>');
}
erpnext.toolbar.set_new_comments = function(new_comments) {

Loading…
Cancel
Save