Property Management Solution


this an example of how it display the translation
so i must go manually and add all of these words in all Property Management Solution DocType and do the translation to ar.csv

You can set custom translations using Custom Translations form

Home > Customization > Other > Custom Translations > New

https://docs.erpnext.com/docs/user/manual/en/setting-up/print/custom-translations#2-custom-translation

1 Like

Thanks for your amazing module Aakvatech! Stayed up a few nights getting it up and running on GCP, but managed =)

I have no coding experience, and am new to ERPNext, however I held back on all my previous installs <2020 due to a lack of a Property Management plugin, until NOW! =D

Ive been browsing the module, is there a way to capture a Property Type (Zoning), as in Commercial, Industrial, Residential etc?

I see Unit Type, however Unit Type cannot be chosen in the Property record =)

Once again, thanks for this awesome module!

PS Greeting from Botswana, I was born in Arusha, Tanzania =D

Hello all,

I want to install the property management solution to my erpnext application. However, after running sudo bench --site site1.local install-app csf_tz, I get this error.

Installing csf_tz…
An error occurred while installing csf_tz:
(‘Module Def’, ‘CSF TZ’, IntegrityError(1062, “Duplicate entry ‘CSF TZ’ for key ‘PRIMARY’”))

Please how do I resolve this error, and get the property management solution module installed in my application?
Thanks for your support.

@Nwokoro_Nkemakolam follow these steps:

bench get-app propms https://gitlab.com/aakvatech/propms.git 
bench get-app csf_tz https://github.com/aakvatech/CSF_TZ.git
bench --site your-site install-app csf_tz
bench --site your-site install-app propms

Hello flexy2ky,

Thanks for your response.
This is what I get now when I run bench get-app propms https://gitlab.com/aakvatech/propms.git

remote: The project you were looking for could not be found.
fatal: repository ‘https://gitlab.com/aakvatech/propms.git/’ not found

I guess the package owner has removed it. Sorry

Ok, thanks.

may be this is the one you are looking for. It’s not on gitlab, its on github.

1 Like

Yes I tried that, and that was where I was getting this error

Installing csf_tz…
An error occurred while installing csf_tz:
(‘Module Def’, ‘CSF TZ’, IntegrityError(1062, “Duplicate entry ‘CSF TZ’ for key ‘PRIMARY’”))

I wish the developer of this app could try to explain to me or at least give a hindsight as to where this error may be coming from while installing the application.

https://github.com/aakvatech/CSF_TZ
https://github.com/aakvatech/PropMS

these ones work.

Still the same error

the error says the module in the to-be installed app already exists in your system which may caused by incomplete uninstall of the previous app(due to error when uninstall?), you can try the following

  1. goto module def, rename the module or delete the module
  2. if the above can not be done, then bench console or bench mariadb, try to delete the record from module def table.

Thanks for your explanation. Can you advise me on the quickest way to search and locate this module def so that I may rename or delete it?

Thanks for your response.

like this
image

first run below command to make sure it exists.

frappe.get_doc('Module Def', 'CSF TZ')

then

frappe.delete_doc('Module Def', 'CSF TZ')

I’m sorry to ask, should I write this on frappe-bench? If so, do I write plainly as you’ve written it? I wrote it plainly as you have written it, and got this

Module Def,: command not found
frappe.get_doc: command not found

yes, first ensure you are in the bench folder, then execute command
bench console

Thanks for your response.

Ok, at first when I ran the first script, I got this result:

In [1]: frappe.get_doc(‘Module Def’, ‘CSF TZ’)
Out[1]: <frappe.core.doctype.module_def.module_def.ModuleDef at 0x7ff18c308ba8>

Then I ran the second script to delete it, and I then got this outcome:

In [2]: frappe.delete_doc(‘Module Def’, ‘CSF TZ’)

LinkExistsError Traceback (most recent call last)
/home/frappe/frappe-bench/apps/frappe/frappe/commands/utils.py in ()
----> 1 frappe.delete_doc(‘Module Def’, ‘CSF TZ’)

/home/frappe/frappe-bench/apps/frappe/frappe/init.py in delete_doc(doctype, name, force, ignore_doctypes, for_reload, ignore_permissions, flags, ignore_on_trash, ignore_missing)
806 import frappe.model.delete_doc
807 frappe.model.delete_doc.delete_doc(doctype, name, force, ignore_doctypes, for_reload,
→ 808 ignore_permissions, flags, ignore_on_trash, ignore_missing)
809
810 def delete_doc_if_exists(doctype, name, force=0):

/home/frappe/frappe-bench/apps/frappe/frappe/model/delete_doc.py in delete_doc(doctype, name, force, ignore_doctypes, for_reload, ignore_permissions, flags, ignore_on_trash, ignore_missing)
99 # check if links exist
100 if not force:
→ 101 check_if_doc_is_linked(doc)
102 check_if_doc_is_dynamically_linked(doc)
103

/home/frappe/frappe-bench/apps/frappe/frappe/model/delete_doc.py in check_if_doc_is_linked(doc, method)
242 else:
243 reference_docname = item.parent or item.name
→ 244 raise_link_exists_exception(doc, linked_doctype, reference_docname)
245
246 else:

/home/frappe/frappe-bench/apps/frappe/frappe/model/delete_doc.py in raise_link_exists_exception(doc, reference_doctype, reference_docname, row)
297
298 frappe.throw(_(‘Cannot delete or cancel because {0} {1} is linked with {2} {3} {4}’)
→ 299 .format(doc.doctype, doc_link, reference_doctype, reference_link, row), frappe.LinkExistsError)
300
301 def delete_dynamic_links(doctype, name):

/home/frappe/frappe-bench/apps/frappe/frappe/init.py in throw(msg, exc, title, is_minimizable)
378 :param msg: Message.
379 :param exc: Exception class. Default frappe.ValidationError"“”
→ 380 msgprint(msg, raise_exception=exc, title=title, indicator=‘red’, is_minimizable=is_minimizable)
381
382 def emit_js(js, user=False, **kwargs):

/home/frappe/frappe-bench/apps/frappe/frappe/init.py in msgprint(msg, title, raise_exception, as_table, indicator, alert, primary_action, is_minimizable)
357 local.response[‘exc_type’] = raise_exception.name
358
→ 359 _raise_exception()
360
361 def clear_messages():

/home/frappe/frappe-bench/apps/frappe/frappe/init.py in _raise_exception()
317
318 if inspect.isclass(raise_exception) and issubclass(raise_exception, Exception):
→ 319 raise raise_exception(msg)
320 else:
321 raise ValidationError(msg)

LinkExistsError: Cannot delete or cancel because Module Def CSF TZ is linked with Page jobcards

Does this mean it cannot delete the module?

seems detailed analysis needed, maybe you can find your local service provider for help.

Ok, thanks very much. I appreciate your time and willingness to help.