Civil Constracting installation failure

Hi There, I would like to report an error of installing Civil Contracting module to ERPNext in production image.

I downloaded the production image for Virtual box and setup for a new ERP site. Thanks for making it easy to install. We are interested in the civil contracting module as it is a major part of our business.

Tried installation from Application install in ERPNext, said couldn’t find the module. I run $ bench get-app civil_contracting https://github.com/revant/civil_contracting, then tried from Application install again. This time it was queued for installation.

after a while, i found below error message in system log.
frappe.desk.page.applications.applications.start_install
Error
{‘retry’: 0, ‘log’: <function log at 0xb5c8df7c>, ‘site’: u’erpnext.vm’, ‘event’: None, ‘method_name’: u’frappe.desk.page.applications.applications.start_install’, ‘method’: <function start_install at 0xb5c8eaac>, ‘user’: u’jim@acahomes.com.ai’, ‘kwargs’: {‘name’: u’civil_contracting’}, ‘async’: True, ‘job_name’: u’frappe.desk.page.applications.applications.start_install’}
Traceback (most recent call last):
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/background_jobs.py”, line 71, in execute_job
method(**kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/desk/page/applications/applications.py”, line 86, in start_install
frappe.installer.install_app(name)
File “/home/frappe/frappe-bench/apps/frappe/frappe/installer.py”, line 145, in install_app
add_to_installed_apps(name)
File “/home/frappe/frappe-bench/apps/frappe/frappe/installer.py”, line 166, in add_to_installed_apps
post_install(rebuild_website)
File “/home/frappe/frappe-bench/apps/frappe/frappe/installer.py”, line 230, in post_install
init_singles()
File “/home/frappe/frappe-bench/apps/frappe/frappe/installer.py”, line 251, in init_singles
doc.save()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 230, in save
return self._save(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 253, in _save
self.insert()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 181, in insert
self.check_permission(“create”)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 146, in check_permission
self.raise_no_permission_to(permlabel or permtype)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 160, in raise_no_permission_to
raise frappe.PermissionError
PermissionError

Can anyone help on this?
Regards,
Jim

The app is deprecated. It is not updated since Frappe v6
It was used to overcome time log batch.

Now Timesheets are feature rich that can solve the problem.

Anything specific feature you need from civil contracting app?

I’ll try to send PR into Frappe or ERPNext if it is helpful.

Hi Revant, thanks for your reply. We supply and install shutters, blinds and awnings for windows. they are all make to measure products, with minimal/no stock control.

When we take on a job, we send a contractor to measure all items and send back the measurements and specifications for each item. Then we order from supplier or manufacture these products. After the products are available, we send out contractors to install them.

Therefore, managing contractors’ measurements, schedules, workload and pays are part of our major business. I think the features described on civil contracting module are useful.

Hey Jim, I was the end user for this. Initially it was difficult to maintain records for worker payable as the expenses were recorded for days of attendance and the expenses were linked to a payable account.
In the current system there is a link to salary slip for timesheets. Employees are also treated as party against which payable (Balance Sheet) accounts can be linked. The other additional expenses to the ‘Worker/Employee’ can be tracked through expense claims as that has been linked to accounts too.
Go through the Salary part of the manual. Especially the ‘Salary Slip Based on Timesheet’ section. This should solve it.

The other thing we were interested in was daily work records. The measurement sheets were to record work done as per item to be invoiced and location for the same. This was recorded for ongoing projects. This might be of somewhat use.

How do you currently manage contractors’ measurements? There might be some workaround to manage accounting entries through the current supplier and employee links to accounts.