In demo install get from_date MandatoryError on setup_salary_structure

A commit 19 days ago to setup_data.py has this comment:

[fix] add from date field to salary structure in setup demo data

First I did a ‘bench update’ that completed with no errors.

frappe@erpnext:~/frappe-bench$ bench execute erpnext.demo.demo.make
Complete Setup…
Traceback (most recent call last):
File “/usr/lib/python2.7/runpy.py”, line 162, in _run_module_as_main
main”, fname, loader, pkg_name)
File “/usr/lib/python2.7/runpy.py”, line 72, in _run_code
exec code in run_globals
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 79, in
main()
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 16, in main
click.Group(commands=commands)(prog_name=‘bench’)
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 722, in call
return self.main(*args, **kwargs)
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 697, in main
rv = self.invoke(ctx)
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 535, in invoke
return callback(*args, **kwargs)
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/decorators.py”, line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/commands/init.py”, line 24, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/commands/utils.py”, line 111, in execute
ret = frappe.get_attr(method)(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/demo/demo.py”, line 28, in make
setup_data.setup(domain)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/demo/setup/setup_data.py”, line 13, in setup
setup_fiscal_year()
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/demo/setup/setup_data.py”, line 87, in setup_fiscal_year
fiscal_year.set_as_default()
AttributeError: ‘NoneType’ object has no attribute ‘set_as_default’

Then I tried this:

frappe@erpnext:~/frappe-bench$ bench reinstall
This will wipe your database. Are you sure you want to reinstall? [y/N]: y
Installing frappe…
Updating frappe : [========================================]
Updating country info : [========================================]
Set Administrator password:
Re-enter Administrator password:
Installing erpnext…
Updating erpnext : [========================================]
*** Scheduler is enabled ***
frappe@erpnext:~/frappe-bench$ bench execute erpnext.demo.demo.make
Complete Setup…
/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see Advanced Usage - urllib3 2.0.0a2 documentation
SNIMissingWarning
[lots of these above & below removed]
/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see Advanced Usage - urllib3 2.0.0a2 documentation
InsecurePlatformWarning
Traceback (most recent call last):
File “/usr/lib/python2.7/runpy.py”, line 162, in _run_module_as_main
main”, fname, loader, pkg_name)
File “/usr/lib/python2.7/runpy.py”, line 72, in _run_code
exec code in run_globals
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 79, in
main()
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 16, in main
click.Group(commands=commands)(prog_name=‘bench’)
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 722, in call
return self.main(*args, **kwargs)
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 697, in main
rv = self.invoke(ctx)
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 535, in invoke
return callback(*args, **kwargs)
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/decorators.py”, line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/commands/init.py”, line 24, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/commands/utils.py”, line 111, in execute
ret = frappe.get_attr(method)(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/demo/demo.py”, line 28, in make
setup_data.setup(domain)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/demo/setup/setup_data.py”, line 21, in setup
setup_salary_structure(employees[:5], 0)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/demo/setup/setup_data.py”, line 171, in setup_salary_structure
ss.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 384, in _validate
self._validate_mandatory()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 604, in _validate_mandatory
name=self.name))
frappe.exceptions.MandatoryError: [Salary Structure, Sample Salary Structure - uqDww]: from_date, from_date, from_date, from_date, from_date

Just tested on my local with v8 beta, worked for me.

Thank you Kanchan!

OK I am glad to report my problem went away!?

The demo login page came up when I restarted my VM, running v7.2.30

test_user@erpnext.com with password ‘demo’ gave invalid login but Administrator/admin worked.