[Announcement] Version 7.2.0 Released!

Some major highlights of the version:

  1. Filters Dashboard
  2. Multiple Row Selection in Child Table
  3. New Training Module
  4. New Salary processing Period
  5. New Chart of Accounts Template for few Countries
    And many others…

For more details, please check last week’s beta release blog: https://frappe.io/blog/announcements/erpnext-version-720-beta-release

Special thanks to all the users who have participated in beta testing and reposted bugs via Github Issue / Forum.

10 Likes

Wait I am on production how the heck did I just get this beta version by just doing bench update thought we had a different path for beta now so production would only be the stable version?

It is no more a beta version, today beta has been merged into master branch. So, bench update command will give you latest version 7.2.0 form master branch.

Went on to forums first before i posted so we should probably update that ahead of time to keep the email churn down 

Good day Community and Developers i just update to lastest 7.2.0 and im having a small issue when changing warehouse in sales order , sales invoices and quotation.

this error is throw in console:

Traceback (most recent call last):
File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 55, in application
response = frappe.handler.handle()
File “/home/frappe/frappe-bench/apps/frappe/frappe/handler.py”, line 19, in handle
execute_cmd(cmd)
File “/home/frappe/frappe-bench/apps/frappe/frappe/handler.py”, line 40, in execute_cmd
ret = frappe.call(method, **frappe.form_dict)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 896, in call
return fn(*args, **newargs)
TypeError: get_bin_details_and_serial_nos() takes exactly 4 arguments (3 given)

I can just ignore the error and save the new warehouse but what could be causing this? Any feedback apreciated.

Also Im facing an issue when creating new delivery notes from sales order or sales invoices where i cant create new DN linked to the other doctypes.

Uncaught TypeError: Cannot set property ‘get_route_options_for_new_doc’ of undefined
at Class.setup_quality_inspection (http://192.168.1.104/assets/js/erpnext.min.js:154:260)
at Class.onload [as _super] (http://192.168.1.104/assets/js/erpnext.min.js:153:6)
at Class.onload (eval at setup (http://192.168.1.104/assets/js/form.min.js:258:109), :351:8)
at Class.prototype.(anonymous function) [as onload] (http://192.168.1.104/assets/js/desk.min.js:5:637)
at http://192.168.1.104/assets/js/form.min.js:256:92
at http://192.168.1.104/assets/js/form.min.js:255:478
at Function.map (http://192.168.1.104/assets/frappe/js/lib/jquery/jquery.min.js:2:3455)
at Class.trigger (http://192.168.1.104/assets/js/form.min.js:255:445)
at http://192.168.1.104/assets/js/form.min.js:76:148
at http://192.168.1.104/assets/js/form.min.js:255:478

@Randy_Lowery please open a github issue for this.

Hi, thank you very much for new version. It looks very nice;-)

But I still have problem when I tried to save Terms and Conditions with adding image to Description field which has name ääää.jpg I tried it on https://beta.erpnext.com/desk#Form/Terms%20and%20Conditions/New%20Terms%20and%20Conditions%201

Traceback (most recent call last):
  File "/home/frappe/frappe-bench/apps/frappe/frappe/desk/form/save.py", line 22, in savedocs
    doc.save()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 223, in save
    return self._save(*args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 242, in _save
    self.insert()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 190, in insert
    self._validate()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 389, in _validate
    self._extract_images_from_text_editor()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/base_document.py", line 807, in _extract_images_from_text_editor
    extract_images_from_doc(self, df.fieldname)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/file_manager.py", line 100, in extract_images_from_doc
    content = extract_images_from_html(doc, content)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/file_manager.py", line 133, in extract_images_from_html
    content = re.sub(']*src\s*=\s*["\'](?=data:)(.*?)["\']', _save_file, content)
  File "/home/frappe/frappe-bench/env/lib/python2.7/re.py", line 151, in sub
    return _compile(pattern, flags).sub(repl, string, count)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/file_manager.py", line 126, in _save_file
    file_url = save_file(filename, content, doctype, name, decode=True).get("file_url")
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/file_manager.py", line 181, in save_file
    f.insert()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 189, in insert
    self.run_before_save_methods()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 750, in run_before_save_methods
    self.run_method("validate")
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 651, in run_method
    out = Document.hook(fn)(self, *args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 858, in composer
    return composed(self, method, *args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 841, in runner
    add_to_return_value(self, fn(self, *args, **kwargs))
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 645, in 
    fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/file/file.py", line 72, in validate
    self.validate_file()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/file/file.py", line 135, in validate_file
    if not os.path.exists(get_files_path(self.file_name.lstrip("/"))):
  File "/home/frappe/frappe-bench/env/lib/python2.7/genericpath.py", line 18, in exists
    os.stat(path)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 32-39: ordinal not in range(128)

image:

Does renaming the image work?

yes, if I don’t use German symbols everything works

Weird, it works fine on my personal dev server, but doesn’t on the beta.

Does your dev http or https? and sorry if it is weird question;-)

it’s http

I don’t have any ideas if it can be a reason but on my dev(http) it works also but on productive server(https) doesn’t work

@SwitsolAG can you add the trace to GitHub Issues?

Released a fix, please update again.

Yes! it working like a charm now Thankyou !

Hi, thanks for answer, yes I’ve added https://github.com/frappe/frappe/issues/2510

Is newsletter feature dropped in new version. Can’t find it.

No, you should find Newsletter under Tools module. Otherwise, please check if you have permissions.