├── .gitignore ├── .pylintrc ├── LICENSE.txt ├── MANIFEST.in ├── README.md ├── img └── overview.png ├── it_management ├── __init__.py ├── config │ ├── __init__.py │ ├── desktop.py │ ├── docs.py │ └── it_management.py ├── hooks.py ├── it_management │ ├── __init__.py │ ├── custom │ │ ├── delivery_note.json │ │ ├── issue.json │ │ ├── it_service_report.json │ │ ├── maintenance_schedule.json │ │ ├── project.json │ │ └── task.json │ ├── doctype │ │ ├── __init__.py │ │ ├── configuration_item │ │ │ ├── __init__.py │ │ │ ├── configuration_item.js │ │ │ ├── configuration_item.json │ │ │ ├── configuration_item.py │ │ │ ├── configuration_item_dashboard.py │ │ │ ├── test_configuration_item.js │ │ │ └── test_configuration_item.py │ │ ├── configuration_item_multiselect │ │ │ ├── __init__.py │ │ │ ├── configuration_item_multiselect.json │ │ │ └── configuration_item_multiselect.py │ │ ├── configuration_item_table │ │ │ ├── __init__.py │ │ │ ├── configuration_item_table.json │ │ │ └── configuration_item_table.py │ │ ├── configuration_item_type │ │ │ ├── __init__.py │ │ │ ├── configuration_item_type.js │ │ │ ├── configuration_item_type.json │ │ │ ├── configuration_item_type.py │ │ │ ├── test_configuration_item_type.js │ │ │ └── test_configuration_item_type.py │ │ ├── contact_multiselect │ │ │ ├── __init__.py │ │ │ ├── contact_multiselect.json │ │ │ └── contact_multiselect.py │ │ ├── contact_table │ │ │ ├── __init__.py │ │ │ ├── contact_table.json │ │ │ └── contact_table.py │ │ ├── cycle_type │ │ │ ├── __init__.py │ │ │ ├── cycle_type.js │ │ │ ├── cycle_type.json │ │ │ ├── cycle_type.py │ │ │ └── test_cycle_type.py │ │ ├── encryption_type │ │ │ ├── __init__.py │ │ │ ├── encryption_type.js │ │ │ ├── encryption_type.json │ │ │ ├── encryption_type.py │ │ │ └── test_encryption_type.py │ │ ├── floor │ │ │ ├── __init__.py │ │ │ ├── floor.js │ │ │ ├── floor.json │ │ │ ├── floor.py │ │ │ └── test_floor.py │ │ ├── host_domain │ │ │ ├── __init__.py │ │ │ ├── host_domain.js │ │ │ ├── host_domain.json │ │ │ ├── host_domain.py │ │ │ ├── host_domain_dashboard.py │ │ │ ├── test_host_domain.js │ │ │ └── test_host_domain.py │ │ ├── ip_address │ │ │ ├── __init__.py │ │ │ ├── ip_address.js │ │ │ ├── ip_address.json │ │ │ ├── ip_address.py │ │ │ ├── ip_address_dashboard.py │ │ │ ├── test_ip_address.js │ │ │ └── test_ip_address.py │ │ ├── it_backup │ │ │ ├── __init__.py │ │ │ ├── it_backup.js │ │ │ ├── it_backup.json │ │ │ ├── it_backup.py │ │ │ └── test_it_backup.py │ │ ├── it_checklist │ │ │ ├── __init__.py │ │ │ ├── it_checklist.js │ │ │ ├── it_checklist.json │ │ │ ├── it_checklist.py │ │ │ └── test_it_checklist.py │ │ ├── it_checklist_table │ │ │ ├── __init__.py │ │ │ ├── it_checklist_table.json │ │ │ └── it_checklist_table.py │ │ ├── it_checklist_type │ │ │ ├── __init__.py │ │ │ ├── it_checklist_type.js │ │ │ ├── it_checklist_type.json │ │ │ ├── it_checklist_type.py │ │ │ └── test_it_checklist_type.py │ │ ├── it_hardware │ │ │ ├── __init__.py │ │ │ ├── it_hardware.js │ │ │ ├── it_hardware.json │ │ │ ├── it_hardware.py │ │ │ └── test_it_hardware.py │ │ ├── it_landscape │ │ │ ├── __init__.py │ │ │ ├── it_landscape.js │ │ │ ├── it_landscape.json │ │ │ ├── it_landscape.py │ │ │ ├── it_landscape_dashboard.py │ │ │ └── test_it_landscape.py │ │ ├── it_management_settings │ │ │ ├── __init__.py │ │ │ ├── it_management_settings.js │ │ │ ├── it_management_settings.json │ │ │ ├── it_management_settings.py │ │ │ └── test_it_management_settings.py │ │ ├── it_management_table │ │ │ ├── __init__.py │ │ │ ├── it_management_table.json │ │ │ └── it_management_table.py │ │ ├── it_service_report │ │ │ ├── __init__.py │ │ │ ├── it_service_report.js │ │ │ ├── it_service_report.json │ │ │ ├── it_service_report.py │ │ │ ├── test_it_service_report.js │ │ │ └── test_it_service_report.py │ │ ├── it_software │ │ │ ├── __init__.py │ │ │ ├── it_software.js │ │ │ ├── it_software.json │ │ │ ├── it_software.py │ │ │ ├── it_software_dashboard.py │ │ │ └── test_it_software.py │ │ ├── itm_host_item │ │ │ ├── __init__.py │ │ │ ├── itm_host_item.js │ │ │ ├── itm_host_item.json │ │ │ ├── itm_host_item.py │ │ │ └── test_itm_host_item.py │ │ ├── itm_landscape │ │ │ ├── __init__.py │ │ │ ├── itm_landscape.js │ │ │ ├── itm_landscape.json │ │ │ ├── itm_landscape.py │ │ │ └── test_itm_landscape.py │ │ ├── itm_location │ │ │ ├── __init__.py │ │ │ ├── itm_location.js │ │ │ ├── itm_location.json │ │ │ ├── itm_location.py │ │ │ └── test_itm_location.py │ │ ├── itm_software │ │ │ ├── __init__.py │ │ │ ├── itm_software.js │ │ │ ├── itm_software.json │ │ │ ├── itm_software.py │ │ │ └── test_itm_software.py │ │ ├── itm_software_instance │ │ │ ├── __init__.py │ │ │ ├── itm_software_instance.js │ │ │ ├── itm_software_instance.json │ │ │ ├── itm_software_instance.py │ │ │ └── test_itm_software_instance.py │ │ ├── licence │ │ │ ├── __init__.py │ │ │ ├── licence.js │ │ │ ├── licence.json │ │ │ ├── licence.py │ │ │ ├── licence_dashboard.py │ │ │ ├── test_licence.js │ │ │ └── test_licence.py │ │ ├── licence_table │ │ │ ├── __init__.py │ │ │ ├── licence_table.json │ │ │ └── licence_table.py │ │ ├── local_area_network │ │ │ ├── __init__.py │ │ │ ├── local_area_network.js │ │ │ ├── local_area_network.json │ │ │ ├── local_area_network.py │ │ │ └── test_local_area_network.py │ │ ├── location │ │ │ ├── __init__.py │ │ │ ├── location.js │ │ │ ├── location.json │ │ │ ├── location.py │ │ │ ├── location_dashboard.py │ │ │ ├── test_location.js │ │ │ └── test_location.py │ │ ├── location_room │ │ │ ├── __init__.py │ │ │ ├── location_room.js │ │ │ ├── location_room.json │ │ │ ├── location_room.py │ │ │ ├── location_room_dashboard.py │ │ │ ├── test_location_room.js │ │ │ └── test_location_room.py │ │ ├── location_room_table │ │ │ ├── __init__.py │ │ │ ├── location_room_table.json │ │ │ └── location_room_table.py │ │ ├── network_interface_controller │ │ │ ├── __init__.py │ │ │ ├── network_interface_controller.js │ │ │ ├── network_interface_controller.json │ │ │ ├── network_interface_controller.py │ │ │ └── test_network_interface_controller.py │ │ ├── network_interface_controller_table │ │ │ ├── __init__.py │ │ │ ├── network_interface_controller_table.json │ │ │ └── network_interface_controller_table.py │ │ ├── network_jack │ │ │ ├── __init__.py │ │ │ ├── network_jack.js │ │ │ ├── network_jack.json │ │ │ ├── network_jack.py │ │ │ ├── network_jack_dashboard.py │ │ │ ├── test_network_jack.js │ │ │ └── test_network_jack.py │ │ ├── project_configuration_item_table │ │ │ ├── __init__.py │ │ │ ├── project_configuration_item_table.json │ │ │ └── project_configuration_item_table.py │ │ ├── retention_type │ │ │ ├── __init__.py │ │ │ ├── retention_type.js │ │ │ ├── retention_type.json │ │ │ ├── retention_type.py │ │ │ └── test_retention_type.py │ │ ├── socket │ │ │ ├── __init__.py │ │ │ ├── socket.js │ │ │ ├── socket.json │ │ │ ├── socket.py │ │ │ ├── socket_dashboard.py │ │ │ ├── test_socket.js │ │ │ └── test_socket.py │ │ ├── software_instance │ │ │ ├── __init__.py │ │ │ ├── software_instance.js │ │ │ ├── software_instance.json │ │ │ ├── software_instance.py │ │ │ ├── software_instance_dashboard.py │ │ │ ├── test_software_instance.js │ │ │ └── test_software_instance.py │ │ ├── software_instance_table │ │ │ ├── __init__.py │ │ │ ├── software_instance_table.json │ │ │ └── software_instance_table.py │ │ ├── software_version │ │ │ ├── __init__.py │ │ │ ├── software_version.js │ │ │ ├── software_version.json │ │ │ ├── software_version.py │ │ │ ├── software_version_dashboard.py │ │ │ ├── test_software_version.js │ │ │ └── test_software_version.py │ │ ├── solution │ │ │ ├── __init__.py │ │ │ ├── solution.js │ │ │ ├── solution.json │ │ │ ├── solution.py │ │ │ ├── solution_dashboard.py │ │ │ ├── test_solution.js │ │ │ └── test_solution.py │ │ ├── solution_multiselect │ │ │ ├── __init__.py │ │ │ ├── solution_multiselect.json │ │ │ └── solution_multiselect.py │ │ ├── solution_table │ │ │ ├── __init__.py │ │ │ ├── solution_table.json │ │ │ └── solution_table.py │ │ ├── solution_type │ │ │ ├── __init__.py │ │ │ ├── solution_type.js │ │ │ ├── solution_type.json │ │ │ ├── solution_type.py │ │ │ ├── solution_type_dashboard.py │ │ │ ├── test_solution_type.js │ │ │ └── test_solution_type.py │ │ ├── storage │ │ │ ├── __init__.py │ │ │ ├── storage.json │ │ │ ├── storage.py │ │ │ └── storage_dashboard.py │ │ ├── subnet │ │ │ ├── __init__.py │ │ │ ├── subnet.js │ │ │ ├── subnet.json │ │ │ ├── subnet.py │ │ │ ├── subnet_dashboard.py │ │ │ ├── test_subnet.js │ │ │ └── test_subnet.py │ │ ├── subnet_table │ │ │ ├── __init__.py │ │ │ ├── subnet_table.json │ │ │ └── subnet_table.py │ │ ├── task_checklist │ │ │ ├── __init__.py │ │ │ ├── task_checklist.json │ │ │ └── task_checklist.py │ │ ├── task_configuration_item_table │ │ │ ├── __init__.py │ │ │ ├── task_configuration_item_table.json │ │ │ └── task_configuration_item_table.py │ │ ├── task_multiselect │ │ │ ├── __init__.py │ │ │ ├── task_multiselect.json │ │ │ └── task_multiselect.py │ │ ├── trip │ │ │ ├── __init__.py │ │ │ ├── test_trip.py │ │ │ ├── trip.js │ │ │ ├── trip.json │ │ │ └── trip.py │ │ ├── user_account │ │ │ ├── __init__.py │ │ │ ├── test_user_account.js │ │ │ ├── test_user_account.py │ │ │ ├── user_account.js │ │ │ ├── user_account.json │ │ │ ├── user_account.py │ │ │ └── user_account_dashboard.py │ │ ├── user_account_table │ │ │ ├── __init__.py │ │ │ ├── user_account_table.json │ │ │ └── user_account_table.py │ │ ├── user_account_type │ │ │ ├── __init__.py │ │ │ ├── test_user_account_type.py │ │ │ ├── user_account_type.js │ │ │ ├── user_account_type.json │ │ │ └── user_account_type.py │ │ ├── user_group │ │ │ ├── __init__.py │ │ │ ├── test_user_group.js │ │ │ ├── test_user_group.py │ │ │ ├── user_group.js │ │ │ ├── user_group.json │ │ │ ├── user_group.py │ │ │ └── user_group_dashboard.py │ │ ├── user_group_table │ │ │ ├── __init__.py │ │ │ ├── user_group_table.json │ │ │ └── user_group_table.py │ │ └── user_group_type │ │ │ ├── __init__.py │ │ │ ├── test_user_group_type.py │ │ │ ├── user_group_type.js │ │ │ ├── user_group_type.json │ │ │ └── user_group_type.py │ ├── print_format │ │ ├── __init__.py │ │ └── ihk_ausbildungsbericht │ │ │ ├── __init__.py │ │ │ └── ihk_ausbildungsbericht.json │ ├── server_script │ │ └── delete_custom_fields.py │ └── workspace │ │ └── it_management │ │ └── it_management.json ├── modules.txt ├── patches.txt ├── patches │ ├── 0_1 │ │ ├── __init__.py │ │ ├── configuration_item_table.py │ │ └── task_checklist.py │ ├── 0_2 │ │ ├── __init__.py │ │ ├── ci_type.py │ │ └── solution_type.py │ ├── 0_3 │ │ ├── __init__.py │ │ └── task_checklist.py │ └── __init__.py ├── public │ ├── build.json │ └── js │ │ └── itm_utils.js ├── templates │ ├── __init__.py │ └── pages │ │ ├── __init__.py │ │ └── __pycache__ │ │ └── __init__.py └── utils.py ├── requirements.txt ├── setup.py └── test /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.pyc 3 | *.egg-info 4 | *.swp 5 | tags 6 | it_management/docs/current 7 | .vscode 8 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include MANIFEST.in 2 | include requirements.txt 3 | include *.json 4 | include *.md 5 | include *.py 6 | include *.txt 7 | recursive-include it_management *.css 8 | recursive-include it_management *.csv 9 | recursive-include it_management *.html 10 | recursive-include it_management *.ico 11 | recursive-include it_management *.js 12 | recursive-include it_management *.json 13 | recursive-include it_management *.md 14 | recursive-include it_management *.png 15 | recursive-include it_management *.py 16 | recursive-include it_management *.svg 17 | recursive-include it_management *.txt 18 | recursive-exclude it_management *.pyc -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## General 2 | 3 | IT Management is an ERPNext app for managing your companies or customers IT landscape. In this app you can manage configuration items like hardware servers, clients, printers and other assets like software instances, licences, user accounts etc. These can all be bundled in solutions to quickly be able to understand your IT landscape and resolve issues fast and at ease. 4 | 5 | We are focusing on accessability, ease of use and extensibility. Also we are building very close to ERPNext's style guide and navigation. 6 | 7 | For further information read our Wiki https://doku.phamos.eu/books/it-management or get in contact with us https://phamos.eu/contact 8 | 9 | ### Installation 10 | #### Frappecloud 11 | Your best to install IT Management via the frappecloud.com marketplace 12 | 13 | #### Self hosted 14 | From the frappe-bench folder, execute 15 | 16 | $ bench get-app it_management https://github.com/phamos-eu/it_management.git 17 | 18 | $ bench install-app it_management 19 | 20 | If you are using a multi-tenant environment, use the following command 21 | 22 | $ bench --site site_name install-app it_management 23 | 24 | ## ERPNext 25 | Official Website https://erpnext.com/ 26 | Discussion Board https://discuss.erpnext.com/ 27 | Repo https://github.com/frappe/erpnext 28 | 29 | #### License 30 | 31 | GPLv3 32 | -------------------------------------------------------------------------------- /img/overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/img/overview.png -------------------------------------------------------------------------------- /it_management/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | __version__ = '0.0.1' 5 | 6 | -------------------------------------------------------------------------------- /it_management/config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/config/__init__.py -------------------------------------------------------------------------------- /it_management/config/desktop.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | from frappe import _ 4 | 5 | def get_data(): 6 | return [ 7 | { 8 | "module_name": "IT Management", 9 | "color": "#064789", 10 | "icon": "octicon octicon-checklist", 11 | "type": "module", 12 | "label": _("IT Management") 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /it_management/config/docs.py: -------------------------------------------------------------------------------- 1 | """ 2 | Configuration for docs 3 | """ 4 | 5 | # source_link = "https://github.com/[org_name]/it_management" 6 | # docs_base_url = "https://[org_name].github.io/it_management" 7 | # headline = "App that does everything" 8 | # sub_heading = "Yes, you got that right the first time, everything" 9 | 10 | def get_context(context): 11 | context.brand_html = "IT Management" 12 | -------------------------------------------------------------------------------- /it_management/it_management/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/custom/it_service_report.json: -------------------------------------------------------------------------------- 1 | { 2 | "custom_fields": [ 3 | { 4 | "_assign": null, 5 | "_comments": null, 6 | "_liked_by": null, 7 | "_user_tags": null, 8 | "allow_on_submit": 0, 9 | "bold": 1, 10 | "collapsible": 0, 11 | "collapsible_depends_on": null, 12 | "columns": 0, 13 | "creation": "2020-02-15 03:02:50.051489", 14 | "default": null, 15 | "depends_on": null, 16 | "description": null, 17 | "docstatus": 0, 18 | "dt": "IT Service Report", 19 | "fetch_from": "employee.employee_name", 20 | "fetch_if_empty": 0, 21 | "fieldname": "employee_name", 22 | "fieldtype": "Data", 23 | "hidden": 0, 24 | "idx": 3, 25 | "ignore_user_permissions": 0, 26 | "ignore_xss_filter": 0, 27 | "in_global_search": 1, 28 | "in_list_view": 0, 29 | "in_standard_filter": 0, 30 | "insert_after": "employee", 31 | "label": "Employee Name", 32 | "length": 0, 33 | "modified": "2020-02-15 03:02:50.051489", 34 | "modified_by": "Administrator", 35 | "name": "IT Service Report-employee_name", 36 | "no_copy": 0, 37 | "options": null, 38 | "owner": "Administrator", 39 | "parent": null, 40 | "parentfield": null, 41 | "parenttype": null, 42 | "permlevel": 0, 43 | "precision": "", 44 | "print_hide": 0, 45 | "print_hide_if_no_value": 0, 46 | "print_width": null, 47 | "read_only": 1, 48 | "report_hide": 0, 49 | "reqd": 0, 50 | "search_index": 0, 51 | "translatable": 0, 52 | "unique": 0, 53 | "width": null 54 | } 55 | ], 56 | "custom_perms": [ 57 | { 58 | "_assign": null, 59 | "_comments": null, 60 | "_liked_by": null, 61 | "_user_tags": null, 62 | "amend": 0, 63 | "cancel": 1, 64 | "create": 1, 65 | "creation": "2019-10-01 10:50:43.165451", 66 | "delete": 1, 67 | "docstatus": 0, 68 | "email": 1, 69 | "export": 1, 70 | "idx": 1, 71 | "if_owner": 0, 72 | "import": 0, 73 | "modified": "2020-01-08 09:02:02.587334", 74 | "modified_by": "Administrator", 75 | "name": "fbc16bdddf", 76 | "owner": "Administrator", 77 | "parent": "IT Service Report", 78 | "parentfield": "permissions", 79 | "parenttype": "DocType", 80 | "permlevel": 0, 81 | "print": 1, 82 | "read": 1, 83 | "report": 1, 84 | "role": "System Manager", 85 | "set_user_permissions": 0, 86 | "share": 1, 87 | "submit": 1, 88 | "write": 1 89 | }, 90 | { 91 | "_assign": null, 92 | "_comments": null, 93 | "_liked_by": null, 94 | "_user_tags": null, 95 | "amend": 0, 96 | "cancel": 1, 97 | "create": 1, 98 | "creation": "2020-01-08 09:02:02.756764", 99 | "delete": 0, 100 | "docstatus": 0, 101 | "email": 1, 102 | "export": 1, 103 | "idx": 0, 104 | "if_owner": 0, 105 | "import": 0, 106 | "modified": "2020-01-08 09:02:02.756764", 107 | "modified_by": "Administrator", 108 | "name": "dc44e036ac", 109 | "owner": "Administrator", 110 | "parent": "IT Service Report", 111 | "parentfield": "permissions", 112 | "parenttype": "DocType", 113 | "permlevel": 0, 114 | "print": 1, 115 | "read": 1, 116 | "report": 1, 117 | "role": "Support Team", 118 | "set_user_permissions": 0, 119 | "share": 1, 120 | "submit": 1, 121 | "write": 1 122 | } 123 | ], 124 | "doctype": "IT Service Report", 125 | "property_setters": [], 126 | "sync_on_migrate": 1 127 | } -------------------------------------------------------------------------------- /it_management/it_management/custom/maintenance_schedule.json: -------------------------------------------------------------------------------- 1 | { 2 | "custom_fields": [ 3 | { 4 | "_assign": null, 5 | "_comments": null, 6 | "_liked_by": null, 7 | "_user_tags": null, 8 | "allow_in_quick_entry": 0, 9 | "allow_on_submit": 0, 10 | "bold": 0, 11 | "collapsible": 0, 12 | "collapsible_depends_on": null, 13 | "columns": 0, 14 | "creation": "2020-12-03 16:29:58.329625", 15 | "default": null, 16 | "depends_on": null, 17 | "description": null, 18 | "docstatus": 0, 19 | "dt": "Maintenance Schedule", 20 | "fetch_from": null, 21 | "fetch_if_empty": 0, 22 | "fieldname": "section_break_9", 23 | "fieldtype": "Section Break", 24 | "hidden": 0, 25 | "idx": 10, 26 | "ignore_user_permissions": 0, 27 | "ignore_xss_filter": 0, 28 | "in_global_search": 0, 29 | "in_list_view": 0, 30 | "in_standard_filter": 0, 31 | "insert_after": "items", 32 | "label": null, 33 | "length": 0, 34 | "modified": "2020-12-03 16:29:58.329625", 35 | "modified_by": "Administrator", 36 | "name": "Maintenance Schedule-section_break_9", 37 | "no_copy": 0, 38 | "options": "IT Management Table", 39 | "owner": "Administrator", 40 | "parent": null, 41 | "parentfield": null, 42 | "parenttype": null, 43 | "permlevel": 0, 44 | "precision": "", 45 | "print_hide": 0, 46 | "print_hide_if_no_value": 0, 47 | "print_width": null, 48 | "read_only": 0, 49 | "report_hide": 0, 50 | "reqd": 0, 51 | "search_index": 0, 52 | "translatable": 0, 53 | "unique": 0, 54 | "width": null 55 | }, 56 | { 57 | "_assign": null, 58 | "_comments": null, 59 | "_liked_by": null, 60 | "_user_tags": null, 61 | "allow_in_quick_entry": 0, 62 | "allow_on_submit": 0, 63 | "bold": 0, 64 | "collapsible": 0, 65 | "collapsible_depends_on": null, 66 | "columns": 0, 67 | "creation": "2020-12-04 10:37:07.307322", 68 | "default": null, 69 | "depends_on": null, 70 | "description": null, 71 | "docstatus": 0, 72 | "dt": "Maintenance Schedule", 73 | "fetch_from": null, 74 | "fetch_if_empty": 0, 75 | "fieldname": "it_management_table", 76 | "fieldtype": "Table", 77 | "hidden": 0, 78 | "idx": 10, 79 | "ignore_user_permissions": 0, 80 | "ignore_xss_filter": 0, 81 | "in_global_search": 0, 82 | "in_list_view": 0, 83 | "in_standard_filter": 0, 84 | "insert_after": "section_break_9", 85 | "label": "IT Management Table", 86 | "length": 0, 87 | "modified": "2022-06-13 10:37:07.307322", 88 | "modified_by": "Administrator", 89 | "name": "Maintenance Schedule-it_management_table", 90 | "no_copy": 0, 91 | "options": "IT Management Table", 92 | "owner": "Administrator", 93 | "parent": null, 94 | "parentfield": null, 95 | "parenttype": null, 96 | "permlevel": 0, 97 | "precision": "", 98 | "print_hide": 0, 99 | "print_hide_if_no_value": 0, 100 | "print_width": null, 101 | "read_only": 0, 102 | "report_hide": 0, 103 | "reqd": 0, 104 | "search_index": 0, 105 | "translatable": 0, 106 | "unique": 0, 107 | "width": null 108 | } 109 | ], 110 | "custom_perms": [], 111 | "doctype": "Maintenance Schedule", 112 | "property_setters": [], 113 | "sync_on_migrate": 1 114 | } 115 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/configuration_item/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item/configuration_item.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Configuration Item', { 5 | refresh: function(frm) { 6 | 7 | }, 8 | onload: function(frm) { 9 | frm.set_query("location_room", function() { 10 | if (frm.doc.location) { 11 | return { 12 | 'filters': { 13 | "location" : frm.doc.location, 14 | "floor" : frm.doc.floor 15 | } 16 | }; 17 | } 18 | }); 19 | }, 20 | }); 21 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item/configuration_item.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class ConfigurationItem(Document): 10 | def save(self, *args, **kwargs): 11 | if self.status == 'Obsolet': 12 | sis = frappe.db.get_all('Software Instance',filters={'configuration_item':self.name}, fields=['name'],page_length=10000,as_list=False) 13 | for si in sis: 14 | frappe.db.set_value('Software Instance',si["name"],{ 15 | 'status':'Obsolet' 16 | }) 17 | 18 | super().save(*args, **kwargs) 19 | pass 20 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item/configuration_item_dashboard.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from frappe import _ 3 | 4 | 5 | def get_data(): 6 | return { 7 | 'fieldname': 'configuration_item', 8 | 'non_standard_fieldnames': { 9 | #'User Account': 'dynamic_name', 10 | 'Issue': 'dynamic_name', 11 | #'Project': 'dynamic_name', 12 | 'Task': 'dynamic_name', 13 | 'IT Backup': 'source_item' 14 | }, 15 | 'transactions': [ 16 | { 17 | 'label': _('Software'), 18 | 'items': ['Software Instance', 'User Account'] 19 | }, 20 | { 21 | 'label': _('Support'), 22 | 'items': ['Configuration Item','Issue','IT Backup'] 23 | }, 24 | { 25 | 'label': _('Project'), 26 | 'items': [ 27 | #'Project', 28 | 'Task'] 29 | } 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item/test_configuration_item.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Configuration Item", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Configuration Item 13 | () => frappe.tests.make('Configuration Item', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item/test_configuration_item.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestConfigurationItem(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item_multiselect/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/configuration_item_multiselect/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item_multiselect/configuration_item_multiselect.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2020-09-10 01:05:06.514557", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "configuration_item" 8 | ], 9 | "fields": [ 10 | { 11 | "fieldname": "configuration_item", 12 | "fieldtype": "Link", 13 | "in_list_view": 1, 14 | "label": "Configuration Item", 15 | "options": "Configuration Item" 16 | } 17 | ], 18 | "istable": 1, 19 | "modified": "2020-10-08 09:34:01.170802", 20 | "modified_by": "Administrator", 21 | "module": "IT Management", 22 | "name": "Configuration Item Multiselect", 23 | "owner": "wolfram.schmidt@tueit.de", 24 | "permissions": [], 25 | "quick_entry": 1, 26 | "sort_field": "modified", 27 | "sort_order": "DESC", 28 | "track_changes": 1 29 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item_multiselect/configuration_item_multiselect.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class ConfigurationItemMultiselect(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item_table/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/configuration_item_table/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item_table/configuration_item_table.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class ConfigurationItemTable(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item_type/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/configuration_item_type/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item_type/configuration_item_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Configuration Item Type', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item_type/configuration_item_type.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_rename": 1, 3 | "autoname": "field:title", 4 | "creation": "2019-06-24 17:00:19.688821", 5 | "doctype": "DocType", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "title", 10 | "section_break_2", 11 | "description", 12 | "lft", 13 | "rgt", 14 | "is_group", 15 | "old_parent", 16 | "parent_configuration_item_type" 17 | ], 18 | "fields": [ 19 | { 20 | "fieldname": "title", 21 | "fieldtype": "Data", 22 | "in_list_view": 1, 23 | "label": "Title", 24 | "reqd": 1, 25 | "unique": 1 26 | }, 27 | { 28 | "fieldname": "section_break_2", 29 | "fieldtype": "Section Break" 30 | }, 31 | { 32 | "fieldname": "description", 33 | "fieldtype": "Text", 34 | "label": "Description" 35 | }, 36 | { 37 | "fieldname": "lft", 38 | "fieldtype": "Int", 39 | "hidden": 1, 40 | "label": "Left", 41 | "no_copy": 1, 42 | "read_only": 1 43 | }, 44 | { 45 | "fieldname": "rgt", 46 | "fieldtype": "Int", 47 | "hidden": 1, 48 | "label": "Right", 49 | "no_copy": 1, 50 | "read_only": 1 51 | }, 52 | { 53 | "default": "0", 54 | "fieldname": "is_group", 55 | "fieldtype": "Check", 56 | "label": "Is Group" 57 | }, 58 | { 59 | "fieldname": "old_parent", 60 | "fieldtype": "Link", 61 | "label": "Old Parent", 62 | "options": "Configuration Item Type" 63 | }, 64 | { 65 | "fieldname": "parent_configuration_item_type", 66 | "fieldtype": "Link", 67 | "label": "Parent Configuration Item Type", 68 | "options": "Configuration Item Type" 69 | } 70 | ], 71 | "is_tree": 1, 72 | "modified": "2020-02-20 08:35:42.458438", 73 | "modified_by": "Administrator", 74 | "module": "IT Management", 75 | "name": "Configuration Item Type", 76 | "nsm_parent_field": "parent_configuration_item_type", 77 | "owner": "Administrator", 78 | "permissions": [ 79 | { 80 | "create": 1, 81 | "delete": 1, 82 | "email": 1, 83 | "export": 1, 84 | "print": 1, 85 | "read": 1, 86 | "report": 1, 87 | "role": "System Manager", 88 | "share": 1, 89 | "write": 1 90 | }, 91 | { 92 | "email": 1, 93 | "export": 1, 94 | "print": 1, 95 | "read": 1, 96 | "report": 1, 97 | "role": "Support Team", 98 | "share": 1 99 | } 100 | ], 101 | "quick_entry": 1, 102 | "sort_field": "modified", 103 | "sort_order": "DESC", 104 | "track_changes": 1 105 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item_type/configuration_item_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class ConfigurationItemType(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item_type/test_configuration_item_type.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Configuration Item Type", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Configuration Item Type 13 | () => frappe.tests.make('Configuration Item Type', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/configuration_item_type/test_configuration_item_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestConfigurationItemType(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/contact_multiselect/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/contact_multiselect/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/contact_multiselect/contact_multiselect.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2020-09-10 01:09:21.570552", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "contact" 8 | ], 9 | "fields": [ 10 | { 11 | "fieldname": "contact", 12 | "fieldtype": "Link", 13 | "in_list_view": 1, 14 | "label": "Contact", 15 | "options": "Contact" 16 | } 17 | ], 18 | "istable": 1, 19 | "modified": "2020-10-08 10:47:13.250082", 20 | "modified_by": "Administrator", 21 | "module": "IT Management", 22 | "name": "Contact Multiselect", 23 | "owner": "wolfram.schmidt@tueit.de", 24 | "permissions": [], 25 | "quick_entry": 1, 26 | "sort_field": "modified", 27 | "sort_order": "DESC", 28 | "track_changes": 1 29 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/contact_multiselect/contact_multiselect.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class ContactMultiselect(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/contact_table/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/contact_table/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/contact_table/contact_table.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2018-11-25 09:58:21.076436", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "responsibility", 8 | "contact", 9 | "function", 10 | "telefon", 11 | "customer" 12 | ], 13 | "fields": [ 14 | { 15 | "description": "Please provide some information about how the contact interacts with this Item.", 16 | "fieldname": "responsibility", 17 | "fieldtype": "Small Text", 18 | "label": "Responsibility" 19 | }, 20 | { 21 | "fieldname": "contact", 22 | "fieldtype": "Link", 23 | "in_list_view": 1, 24 | "label": "Contact", 25 | "options": "Contact" 26 | }, 27 | { 28 | "default": "Main User", 29 | "fieldname": "function", 30 | "fieldtype": "Select", 31 | "in_list_view": 1, 32 | "label": "Function", 33 | "options": "Expert Admin\nExpert User\nMain User\nMaintainer\nInstalled by" 34 | }, 35 | { 36 | "fetch_from": "contact.phone", 37 | "fieldname": "telefon", 38 | "fieldtype": "Data", 39 | "in_list_view": 1, 40 | "label": "Telefon", 41 | "read_only": 1 42 | }, 43 | { 44 | "fieldname": "customer", 45 | "fieldtype": "Link", 46 | "hidden": 1, 47 | "label": "Customer", 48 | "options": "Customer" 49 | } 50 | ], 51 | "istable": 1, 52 | "modified": "2020-03-21 23:10:03.595418", 53 | "modified_by": "wolfram.schmidt@tueit.de", 54 | "module": "IT Management", 55 | "name": "Contact Table", 56 | "owner": "wolfram.schmidt@tueit.de", 57 | "permissions": [], 58 | "quick_entry": 1, 59 | "sort_field": "modified", 60 | "sort_order": "DESC", 61 | "track_changes": 1 62 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/contact_table/contact_table.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class ContactTable(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/cycle_type/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/cycle_type/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/cycle_type/cycle_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Cycle Type', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/cycle_type/cycle_type.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_rename": 1, 3 | "autoname": "field:title", 4 | "creation": "2020-02-21 15:21:05.289299", 5 | "doctype": "DocType", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "title" 10 | ], 11 | "fields": [ 12 | { 13 | "fieldname": "title", 14 | "fieldtype": "Data", 15 | "label": "Title", 16 | "unique": 1 17 | } 18 | ], 19 | "modified": "2020-02-21 16:05:47.128125", 20 | "modified_by": "Administrator", 21 | "module": "IT Management", 22 | "name": "Cycle Type", 23 | "owner": "Administrator", 24 | "permissions": [ 25 | { 26 | "create": 1, 27 | "delete": 1, 28 | "email": 1, 29 | "export": 1, 30 | "print": 1, 31 | "read": 1, 32 | "report": 1, 33 | "role": "System Manager", 34 | "share": 1, 35 | "write": 1 36 | }, 37 | { 38 | "create": 1, 39 | "delete": 1, 40 | "email": 1, 41 | "export": 1, 42 | "print": 1, 43 | "read": 1, 44 | "report": 1, 45 | "role": "Support Team", 46 | "share": 1, 47 | "write": 1 48 | } 49 | ], 50 | "quick_entry": 1, 51 | "sort_field": "modified", 52 | "sort_order": "DESC", 53 | "track_changes": 1 54 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/cycle_type/cycle_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class CycleType(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/cycle_type/test_cycle_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestCycleType(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/encryption_type/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/encryption_type/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/encryption_type/encryption_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Encryption Type', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/encryption_type/encryption_type.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_rename": 1, 3 | "autoname": "field:title", 4 | "creation": "2020-02-21 15:29:39.151847", 5 | "doctype": "DocType", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "title" 10 | ], 11 | "fields": [ 12 | { 13 | "fieldname": "title", 14 | "fieldtype": "Data", 15 | "label": "Title", 16 | "unique": 1 17 | } 18 | ], 19 | "modified": "2020-02-21 16:05:20.552155", 20 | "modified_by": "Administrator", 21 | "module": "IT Management", 22 | "name": "Encryption Type", 23 | "owner": "Administrator", 24 | "permissions": [ 25 | { 26 | "create": 1, 27 | "delete": 1, 28 | "email": 1, 29 | "export": 1, 30 | "print": 1, 31 | "read": 1, 32 | "report": 1, 33 | "role": "System Manager", 34 | "share": 1, 35 | "write": 1 36 | } 37 | ], 38 | "quick_entry": 1, 39 | "sort_field": "modified", 40 | "sort_order": "DESC", 41 | "track_changes": 1 42 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/encryption_type/encryption_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class EncryptionType(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/encryption_type/test_encryption_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestEncryptionType(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/floor/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/floor/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/floor/floor.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Floor', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/floor/floor.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_rename": 1, 3 | "autoname": "field:title", 4 | "creation": "2020-03-30 22:34:54.169258", 5 | "doctype": "DocType", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "title" 10 | ], 11 | "fields": [ 12 | { 13 | "fieldname": "title", 14 | "fieldtype": "Data", 15 | "label": "Title", 16 | "unique": 1 17 | } 18 | ], 19 | "modified": "2020-03-30 22:35:53.039275", 20 | "modified_by": "Administrator", 21 | "module": "IT Management", 22 | "name": "Floor", 23 | "name_case": "UPPER CASE", 24 | "owner": "wolfram.schmidt@tueit.de", 25 | "permissions": [ 26 | { 27 | "create": 1, 28 | "delete": 1, 29 | "email": 1, 30 | "export": 1, 31 | "print": 1, 32 | "read": 1, 33 | "report": 1, 34 | "role": "System Manager", 35 | "share": 1, 36 | "write": 1 37 | }, 38 | { 39 | "create": 1, 40 | "delete": 1, 41 | "email": 1, 42 | "export": 1, 43 | "print": 1, 44 | "read": 1, 45 | "report": 1, 46 | "role": "Support Team", 47 | "share": 1, 48 | "write": 1 49 | } 50 | ], 51 | "quick_entry": 1, 52 | "sort_field": "modified", 53 | "sort_order": "DESC", 54 | "track_changes": 1 55 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/floor/floor.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class Floor(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/floor/test_floor.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestFloor(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/host_domain/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/host_domain/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/host_domain/host_domain.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Host Domain', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/host_domain/host_domain.json: -------------------------------------------------------------------------------- 1 | { 2 | "autoname": "Prompt", 3 | "creation": "2018-10-17 08:51:31.696729", 4 | "doctype": "DocType", 5 | "document_type": "System", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "domain_name", 10 | "configuration_item", 11 | "it_landscape" 12 | ], 13 | "fields": [ 14 | { 15 | "default": "kundendomain.tld", 16 | "fieldname": "domain_name", 17 | "fieldtype": "Data", 18 | "label": "Domain name" 19 | }, 20 | { 21 | "fieldname": "configuration_item", 22 | "fieldtype": "Link", 23 | "label": "Configuration Item", 24 | "options": "Configuration Item" 25 | }, 26 | { 27 | "fieldname": "it_landscape", 28 | "fieldtype": "Link", 29 | "label": "IT Landscape", 30 | "options": "IT Landscape" 31 | } 32 | ], 33 | "modified": "2020-11-15 17:41:43.508517", 34 | "modified_by": "wolfram.schmidt@tueit.de", 35 | "module": "IT Management", 36 | "name": "Host Domain", 37 | "owner": "wolfram.schmidt@tueit.de", 38 | "permissions": [ 39 | { 40 | "create": 1, 41 | "delete": 1, 42 | "email": 1, 43 | "export": 1, 44 | "print": 1, 45 | "read": 1, 46 | "report": 1, 47 | "role": "System Manager", 48 | "share": 1, 49 | "write": 1 50 | }, 51 | { 52 | "create": 1, 53 | "delete": 1, 54 | "email": 1, 55 | "export": 1, 56 | "print": 1, 57 | "read": 1, 58 | "report": 1, 59 | "role": "Support Team", 60 | "share": 1, 61 | "write": 1 62 | } 63 | ], 64 | "quick_entry": 1, 65 | "sort_field": "modified", 66 | "sort_order": "DESC", 67 | "track_changes": 1 68 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/host_domain/host_domain.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class HostDomain(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/host_domain/host_domain_dashboard.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from frappe import _ 3 | 4 | 5 | def get_data(): 6 | return { 7 | 'fieldname': 'host_domain', 8 | 'non_standard_fieldnames': { 9 | #'Configuration Item': 'domain_name', 10 | 'Issue': 'dynamic_name' 11 | }, 12 | 'transactions': [ 13 | { 14 | 'label': _('Configuration Items'), 15 | 'items': ['Configuration Item'] 16 | }, 17 | { 18 | 'label': _('Service'), 19 | 'items': ['Issue'] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/host_domain/test_host_domain.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Host Domain", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Host Domain 13 | () => frappe.tests.make('Host Domain', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/host_domain/test_host_domain.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestHostDomain(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/ip_address/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/ip_address/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/ip_address/ip_address.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('IP Address', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/ip_address/ip_address.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_import": 1, 3 | "autoname": "field:ip_address", 4 | "creation": "2018-10-12 18:02:54.111389", 5 | "doctype": "DocType", 6 | "document_type": "System", 7 | "editable_grid": 1, 8 | "engine": "InnoDB", 9 | "field_order": [ 10 | "status", 11 | "ip_address", 12 | "subnet", 13 | "customer" 14 | ], 15 | "fields": [ 16 | { 17 | "fieldname": "ip_address", 18 | "fieldtype": "Data", 19 | "in_list_view": 1, 20 | "label": "IP Address", 21 | "reqd": 1, 22 | "unique": 1 23 | }, 24 | { 25 | "fieldname": "subnet", 26 | "fieldtype": "Link", 27 | "label": "Subnet", 28 | "options": "Subnet" 29 | }, 30 | { 31 | "fetch_from": "subnet.customer", 32 | "fieldname": "customer", 33 | "fieldtype": "Data", 34 | "label": "Customer", 35 | "read_only": 1 36 | }, 37 | { 38 | "fieldname": "status", 39 | "fieldtype": "Select", 40 | "label": "Status", 41 | "options": "Implementing\nRunning\nIssue\nObsolet" 42 | } 43 | ], 44 | "modified": "2020-03-21 22:18:09.298750", 45 | "modified_by": "wolfram.schmidt@tueit.de", 46 | "module": "IT Management", 47 | "name": "IP Address", 48 | "owner": "wolfram.schmidt@tueit.de", 49 | "permissions": [ 50 | { 51 | "create": 1, 52 | "delete": 1, 53 | "email": 1, 54 | "export": 1, 55 | "print": 1, 56 | "read": 1, 57 | "report": 1, 58 | "role": "System Manager", 59 | "share": 1, 60 | "write": 1 61 | }, 62 | { 63 | "create": 1, 64 | "delete": 1, 65 | "email": 1, 66 | "export": 1, 67 | "print": 1, 68 | "read": 1, 69 | "report": 1, 70 | "role": "Support Team", 71 | "share": 1, 72 | "write": 1 73 | } 74 | ], 75 | "quick_entry": 1, 76 | "sort_field": "modified", 77 | "sort_order": "DESC", 78 | "track_changes": 1 79 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/ip_address/ip_address.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class IPAddress(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/ip_address/ip_address_dashboard.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from frappe import _ 3 | 4 | 5 | def get_data(): 6 | return { 7 | 'fieldname': 'ip_address', 8 | 'non_standard_fieldnames': { 9 | 'Issue': 'dynamic_name' 10 | }, 11 | 'transactions': [ 12 | { 13 | 'label': _('Service'), 14 | 'items': ['Issue'] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/ip_address/test_ip_address.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: IP Address", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new IP Address 13 | () => frappe.tests.make('IP Address', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/ip_address/test_ip_address.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestIPAddress(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_backup/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/it_backup/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_backup/it_backup.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('IT Backup', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_backup/it_backup.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class ITBackup(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_backup/test_it_backup.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestITBackup(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_checklist/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/it_checklist/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_checklist/it_checklist.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('IT Checklist', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_checklist/it_checklist.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class ITChecklist(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_checklist/test_it_checklist.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestITChecklist(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_checklist_table/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/it_checklist_table/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_checklist_table/it_checklist_table.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2020-03-03 14:04:43.765074", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "description", 8 | "customer" 9 | ], 10 | "fields": [ 11 | { 12 | "fieldname": "description", 13 | "fieldtype": "Data", 14 | "label": "Description" 15 | }, 16 | { 17 | "fieldname": "customer", 18 | "fieldtype": "Link", 19 | "hidden": 1, 20 | "label": "Customer", 21 | "options": "Customer" 22 | } 23 | ], 24 | "istable": 1, 25 | "modified": "2020-03-21 23:12:02.203347", 26 | "modified_by": "wolfram.schmidt@tueit.de", 27 | "module": "IT Management", 28 | "name": "IT Checklist Table", 29 | "owner": "Administrator", 30 | "permissions": [], 31 | "quick_entry": 1, 32 | "sort_field": "modified", 33 | "sort_order": "DESC", 34 | "track_changes": 1 35 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_checklist_table/it_checklist_table.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class ITChecklistTable(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_checklist_type/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/it_checklist_type/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_checklist_type/it_checklist_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('IT Checklist Type', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_checklist_type/it_checklist_type.json: -------------------------------------------------------------------------------- 1 | { 2 | "autoname": "field:title", 3 | "creation": "2020-03-03 14:02:42.123681", 4 | "doctype": "DocType", 5 | "editable_grid": 1, 6 | "engine": "InnoDB", 7 | "field_order": [ 8 | "title" 9 | ], 10 | "fields": [ 11 | { 12 | "fieldname": "title", 13 | "fieldtype": "Data", 14 | "in_list_view": 1, 15 | "label": "title", 16 | "reqd": 1, 17 | "unique": 1 18 | } 19 | ], 20 | "modified": "2020-03-28 09:42:09.257986", 21 | "modified_by": "wolfram.schmidt@tueit.de", 22 | "module": "IT Management", 23 | "name": "IT Checklist Type", 24 | "owner": "Administrator", 25 | "permissions": [ 26 | { 27 | "create": 1, 28 | "delete": 1, 29 | "email": 1, 30 | "export": 1, 31 | "print": 1, 32 | "read": 1, 33 | "report": 1, 34 | "role": "System Manager", 35 | "share": 1, 36 | "write": 1 37 | } 38 | ], 39 | "quick_entry": 1, 40 | "sort_field": "modified", 41 | "sort_order": "DESC", 42 | "track_changes": 1 43 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_checklist_type/it_checklist_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class ITChecklistType(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_checklist_type/test_it_checklist_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestITChecklistType(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_hardware/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/it_hardware/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_hardware/it_hardware.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('IT Hardware', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_hardware/it_hardware.json: -------------------------------------------------------------------------------- 1 | { 2 | "autoname": "format:{manufacturer}-{model}", 3 | "creation": "2019-10-28 10:03:43.082773", 4 | "doctype": "DocType", 5 | "editable_grid": 1, 6 | "engine": "InnoDB", 7 | "field_order": [ 8 | "title", 9 | "manufacturer", 10 | "model", 11 | "description", 12 | "item_code" 13 | ], 14 | "fields": [ 15 | { 16 | "fieldname": "title", 17 | "fieldtype": "Data", 18 | "label": "Title" 19 | }, 20 | { 21 | "fieldname": "manufacturer", 22 | "fieldtype": "Link", 23 | "in_list_view": 1, 24 | "label": "Manufacturer", 25 | "options": "Manufacturer", 26 | "reqd": 1 27 | }, 28 | { 29 | "fieldname": "model", 30 | "fieldtype": "Data", 31 | "in_list_view": 1, 32 | "label": "Model", 33 | "reqd": 1 34 | }, 35 | { 36 | "fieldname": "description", 37 | "fieldtype": "Text Editor", 38 | "label": "Description" 39 | }, 40 | { 41 | "fieldname": "item_code", 42 | "fieldtype": "Link", 43 | "label": "Item", 44 | "options": "Item" 45 | } 46 | ], 47 | "modified": "2020-11-05 11:37:05.927026", 48 | "modified_by": "Administrator", 49 | "module": "IT Management", 50 | "name": "IT Hardware", 51 | "owner": "Administrator", 52 | "permissions": [ 53 | { 54 | "create": 1, 55 | "delete": 1, 56 | "email": 1, 57 | "export": 1, 58 | "print": 1, 59 | "read": 1, 60 | "report": 1, 61 | "role": "System Manager", 62 | "share": 1, 63 | "write": 1 64 | } 65 | ], 66 | "quick_entry": 1, 67 | "sort_field": "modified", 68 | "sort_order": "DESC", 69 | "track_changes": 1 70 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_hardware/it_hardware.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class ITHardware(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_hardware/test_it_hardware.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestITHardware(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_landscape/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/it_landscape/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_landscape/it_landscape.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('IT Landscape', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_landscape/it_landscape.json: -------------------------------------------------------------------------------- 1 | { 2 | "actions": [], 3 | "allow_rename": 1, 4 | "autoname": "field:title", 5 | "creation": "2020-11-10 10:05:10.349031", 6 | "doctype": "DocType", 7 | "editable_grid": 1, 8 | "engine": "InnoDB", 9 | "field_order": [ 10 | "title", 11 | "disabled" 12 | ], 13 | "fields": [ 14 | { 15 | "fieldname": "title", 16 | "fieldtype": "Data", 17 | "label": "Title", 18 | "unique": 1 19 | }, 20 | { 21 | "default": "0", 22 | "fieldname": "disabled", 23 | "fieldtype": "Check", 24 | "label": "Disabled" 25 | } 26 | ], 27 | "links": [], 28 | "modified": "2024-01-19 11:10:47.938276", 29 | "modified_by": "Administrator", 30 | "module": "IT Management", 31 | "name": "IT Landscape", 32 | "naming_rule": "By fieldname", 33 | "owner": "Administrator", 34 | "permissions": [ 35 | { 36 | "create": 1, 37 | "delete": 1, 38 | "email": 1, 39 | "export": 1, 40 | "print": 1, 41 | "read": 1, 42 | "report": 1, 43 | "role": "System Manager", 44 | "share": 1, 45 | "write": 1 46 | }, 47 | { 48 | "create": 1, 49 | "delete": 1, 50 | "email": 1, 51 | "export": 1, 52 | "print": 1, 53 | "read": 1, 54 | "report": 1, 55 | "role": "Support Team", 56 | "share": 1, 57 | "write": 1 58 | } 59 | ], 60 | "quick_entry": 1, 61 | "sort_field": "modified", 62 | "sort_order": "DESC", 63 | "states": [], 64 | "track_changes": 1 65 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_landscape/it_landscape.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | import frappe 9 | 10 | class ITLandscape(Document): 11 | pass 12 | 13 | 14 | def get_timeline_data(doctype, name): 15 | 16 | it_landscape = frappe.get_doc("IT Landscape", name) 17 | 18 | data = dict(frappe.db.sql('''select unix_timestamp(modified), count(*) 19 | from `tabIssue` where it_landscape=%s 20 | and modified > date_sub(curdate(), interval 1 year) 21 | group by date(modified)''', it_landscape.name)) 22 | 23 | return data 24 | 25 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_landscape/it_landscape_dashboard.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from frappe import _ 3 | 4 | 5 | def get_data(): 6 | return { 7 | 'heatmap': True, 8 | 'heatmap_message': _('This is based on all the below Doctypes'), 9 | 'fieldname': 'it_landscape', 10 | 'non_standard_fieldnames': { 11 | }, 12 | 'transactions': [ 13 | { 14 | 'label': _('Configuration Management'), 15 | 'items': [ 16 | 'Configuration Item', 17 | 'Solution', 18 | 'IT Backup' 19 | ] 20 | }, 21 | { 22 | 'label': _('Software'), 23 | 'items': [ 24 | 'Licence', 25 | #'Software Instance', 26 | 'User Account', 27 | 'User Group' 28 | ] 29 | }, 30 | { 31 | 'label': _('Locations'), 32 | 'items': [ 33 | 'Location', 34 | 'Location Room' 35 | ] 36 | }, 37 | { 38 | 'label': _('Network'), 39 | 'items': [ 40 | 'Host Domain', 41 | 'Subnet' 42 | ] 43 | }, 44 | { 45 | 'label': _('Service'), 46 | 'items': [ 47 | 'Issue', 48 | 'IT Checklist' 49 | ] 50 | }, 51 | { 52 | 'label': _('Projects'), 53 | 'items': [ 54 | 'Project', 55 | 'Task' 56 | ] 57 | } 58 | ] 59 | } 60 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_landscape/test_it_landscape.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestITLandscape(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_management_settings/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/it_management_settings/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_management_settings/it_management_settings.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('IT Management Settings', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | turn_off_auto_fetching_timesheets: function(frm) { 9 | frappe.call({ 10 | "method": "it_management.utils.turn_off_auto_fetching_timesheets", 11 | "async": false, 12 | "callback": function(response) { 13 | if (response.message) { 14 | frappe.msgprint(response.message); 15 | } 16 | } 17 | }); 18 | }, 19 | for_every_customer_create_default_landscape: function(frm) { 20 | frappe.call({ 21 | "method": "it_management.utils.for_every_customer_create_default_landscape", 22 | "async": false, 23 | "callback": function(response) { 24 | if (response.message) { 25 | frappe.msgprint(response.message); 26 | } 27 | } 28 | }); 29 | }, 30 | for_every_doctype_set_it_landscape_from_customer: function(frm) { 31 | frappe.call({ 32 | "method": "it_management.utils.for_every_doctype_set_it_landscape_from_customer", 33 | "async": false, 34 | "callback": function(response) { 35 | if (response.message) { 36 | frappe.msgprint(response.message); 37 | } 38 | } 39 | }); 40 | } 41 | }); 42 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_management_settings/it_management_settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2020-03-13 16:02:35.838545", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "section_sales_invoice", 8 | "turn_off_auto_fetching_timesheets", 9 | "customer" 10 | ], 11 | "fields": [ 12 | { 13 | "fieldname": "section_sales_invoice", 14 | "fieldtype": "Section Break", 15 | "label": "Sales Invoice" 16 | }, 17 | { 18 | "fieldname": "turn_off_auto_fetching_timesheets", 19 | "fieldtype": "Button", 20 | "label": "Turn off auto fetching Timesheets" 21 | }, 22 | { 23 | "fieldname": "for_every_customer_create_default_landscape", 24 | "fieldtype": "Button", 25 | "label": "For every customer create default landscape" 26 | }, 27 | { 28 | "fieldname": "for_every_doctype_set_it_landscape_from_customer", 29 | "fieldtype": "Button", 30 | "label": "For every doctype set it landscape from customer" 31 | }, 32 | { 33 | "fieldname": "customer", 34 | "fieldtype": "Link", 35 | "hidden": 1, 36 | "label": "Customer", 37 | "options": "Customer" 38 | } 39 | ], 40 | "issingle": 1, 41 | "modified": "2020-11-10 12:11:06.060372", 42 | "modified_by": "marius.widmann@tueit.de", 43 | "module": "IT Management", 44 | "name": "IT Management Settings", 45 | "owner": "Administrator", 46 | "permissions": [ 47 | { 48 | "create": 1, 49 | "delete": 1, 50 | "email": 1, 51 | "print": 1, 52 | "read": 1, 53 | "role": "System Manager", 54 | "share": 1, 55 | "write": 1 56 | } 57 | ], 58 | "quick_entry": 1, 59 | "sort_field": "modified", 60 | "sort_order": "DESC", 61 | "track_changes": 1 62 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_management_settings/it_management_settings.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class ITManagementSettings(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_management_settings/test_it_management_settings.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestITManagementSettings(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_management_table/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/it_management_table/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_management_table/it_management_table.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2019-06-04 18:41:53.585030", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "dynamic_type", 8 | "dynamic_name", 9 | "note", 10 | "checked", 11 | "identifier" 12 | ], 13 | "fields": [ 14 | { 15 | "columns": 2, 16 | "fieldname": "dynamic_type", 17 | "fieldtype": "Link", 18 | "in_list_view": 1, 19 | "label": "DocType", 20 | "options": "DocType" 21 | }, 22 | { 23 | "columns": 2, 24 | "fieldname": "dynamic_name", 25 | "fieldtype": "Dynamic Link", 26 | "in_list_view": 1, 27 | "in_preview": 1, 28 | "label": "Document", 29 | "options": "dynamic_type" 30 | }, 31 | { 32 | "columns": 5, 33 | "fieldname": "note", 34 | "fieldtype": "Small Text", 35 | "in_list_view": 1, 36 | "label": "Note" 37 | }, 38 | { 39 | "columns": 1, 40 | "default": "0", 41 | "fieldname": "checked", 42 | "fieldtype": "Check", 43 | "in_list_view": 1, 44 | "label": "Checked" 45 | }, 46 | { 47 | "fieldname": "identifier", 48 | "fieldtype": "Data", 49 | "hidden": 1, 50 | "read_only": 1 51 | } 52 | ], 53 | "istable": 1, 54 | "modified": "2021-02-18 09:57:33.128915", 55 | "modified_by": "Administrator", 56 | "module": "IT Management", 57 | "name": "IT Management Table", 58 | "owner": "Administrator", 59 | "permissions": [], 60 | "quick_entry": 1, 61 | "sort_field": "modified", 62 | "sort_order": "ASC", 63 | "track_changes": 1 64 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_management_table/it_management_table.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class ITManagementTable(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_service_report/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/it_service_report/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_service_report/test_it_service_report.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: IT Service Report", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new IT Service Report 13 | () => frappe.tests.make('IT Service Report', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_service_report/test_it_service_report.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestITServiceReport(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_software/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/it_software/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_software/it_software.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('IT Software', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_software/it_software.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_rename": 1, 3 | "autoname": "field:title", 4 | "creation": "2019-10-28 09:58:41.264279", 5 | "doctype": "DocType", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "title", 10 | "description", 11 | "website", 12 | "eol" 13 | ], 14 | "fields": [ 15 | { 16 | "fieldname": "title", 17 | "fieldtype": "Data", 18 | "in_list_view": 1, 19 | "label": "Title", 20 | "reqd": 1, 21 | "unique": 1 22 | }, 23 | { 24 | "fieldname": "description", 25 | "fieldtype": "Text Editor", 26 | "label": "Description" 27 | }, 28 | { 29 | "fieldname": "website", 30 | "fieldtype": "Data", 31 | "label": "Website" 32 | }, 33 | { 34 | "fieldname": "eol", 35 | "fieldtype": "Date", 36 | "label": "End of Life" 37 | } 38 | ], 39 | "modified": "2020-09-10 01:03:50.449098", 40 | "modified_by": "wolfram.schmidt@tueit.de", 41 | "module": "IT Management", 42 | "name": "IT Software", 43 | "owner": "Administrator", 44 | "permissions": [ 45 | { 46 | "create": 1, 47 | "delete": 1, 48 | "email": 1, 49 | "export": 1, 50 | "print": 1, 51 | "read": 1, 52 | "report": 1, 53 | "role": "System Manager", 54 | "share": 1, 55 | "write": 1 56 | }, 57 | { 58 | "create": 1, 59 | "delete": 1, 60 | "email": 1, 61 | "export": 1, 62 | "print": 1, 63 | "read": 1, 64 | "report": 1, 65 | "role": "Support Team", 66 | "share": 1, 67 | "write": 1 68 | } 69 | ], 70 | "quick_entry": 1, 71 | "sort_field": "modified", 72 | "sort_order": "DESC", 73 | "track_changes": 1 74 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_software/it_software.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class ITSoftware(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_software/it_software_dashboard.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from frappe import _ 3 | 4 | 5 | def get_data(): 6 | return { 7 | 'fieldname': 'it_software', 8 | 'non_standard_fieldnames': { 9 | 'Issue': 'dynamic_name', 10 | 'Software Instance': 'software', 11 | 'Licence': 'software', 12 | 'IT Backup': 'software' 13 | }, 14 | 'transactions': [ 15 | { 16 | 'label': _('Software'), 17 | 'items': ['Software Instance', 'Licence', 'IT Backup'] 18 | }, 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/it_software/test_it_software.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestITSoftware(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_host_item/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/itm_host_item/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_host_item/itm_host_item.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('ITM Host Item', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_host_item/itm_host_item.json: -------------------------------------------------------------------------------- 1 | { 2 | "actions": [], 3 | "allow_rename": 1, 4 | "autoname": "field:title", 5 | "creation": "2024-01-19 14:29:55.824798", 6 | "default_view": "List", 7 | "doctype": "DocType", 8 | "editable_grid": 1, 9 | "engine": "InnoDB", 10 | "field_order": [ 11 | "title", 12 | "status", 13 | "serial_number", 14 | "itm_landscape", 15 | "itm_location" 16 | ], 17 | "fields": [ 18 | { 19 | "fieldname": "title", 20 | "fieldtype": "Data", 21 | "label": "Title", 22 | "unique": 1 23 | }, 24 | { 25 | "fieldname": "status", 26 | "fieldtype": "Select", 27 | "in_list_view": 1, 28 | "label": "Status", 29 | "options": "\nImplementing\nRunning\nIssue\nStorage\nObsolet" 30 | }, 31 | { 32 | "fieldname": "serial_number", 33 | "fieldtype": "Data", 34 | "label": "Serial Number" 35 | }, 36 | { 37 | "fieldname": "itm_location", 38 | "fieldtype": "Link", 39 | "label": "ITM Location", 40 | "options": "ITM Location" 41 | }, 42 | { 43 | "fieldname": "itm_landscape", 44 | "fieldtype": "Link", 45 | "label": "ITM Landscape", 46 | "options": "ITM Landscape" 47 | } 48 | ], 49 | "index_web_pages_for_search": 1, 50 | "links": [ 51 | { 52 | "link_doctype": "ITM Software Instance", 53 | "link_fieldname": "itm_host_item" 54 | } 55 | ], 56 | "modified": "2024-02-16 11:47:34.256152", 57 | "modified_by": "Administrator", 58 | "module": "IT Management", 59 | "name": "ITM Host Item", 60 | "naming_rule": "By fieldname", 61 | "owner": "Administrator", 62 | "permissions": [ 63 | { 64 | "create": 1, 65 | "delete": 1, 66 | "email": 1, 67 | "export": 1, 68 | "print": 1, 69 | "read": 1, 70 | "report": 1, 71 | "role": "System Manager", 72 | "share": 1, 73 | "write": 1 74 | }, 75 | { 76 | "create": 1, 77 | "delete": 1, 78 | "email": 1, 79 | "export": 1, 80 | "print": 1, 81 | "read": 1, 82 | "report": 1, 83 | "role": "Support Team", 84 | "share": 1, 85 | "write": 1 86 | } 87 | ], 88 | "sort_field": "modified", 89 | "sort_order": "DESC", 90 | "states": [] 91 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_host_item/itm_host_item.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | class ITMHostItem(Document): 8 | pass 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_host_item/test_itm_host_item.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestITMHostItem(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_landscape/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/itm_landscape/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_landscape/itm_landscape.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('ITM Landscape', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_landscape/itm_landscape.json: -------------------------------------------------------------------------------- 1 | { 2 | "actions": [], 3 | "allow_rename": 1, 4 | "autoname": "field:title", 5 | "creation": "2024-01-19 15:43:53.482421", 6 | "default_view": "List", 7 | "doctype": "DocType", 8 | "editable_grid": 1, 9 | "engine": "InnoDB", 10 | "field_order": [ 11 | "title", 12 | "disabled" 13 | ], 14 | "fields": [ 15 | { 16 | "fieldname": "title", 17 | "fieldtype": "Data", 18 | "label": "Title", 19 | "unique": 1 20 | }, 21 | { 22 | "default": "0", 23 | "fieldname": "disabled", 24 | "fieldtype": "Check", 25 | "label": "Disabled" 26 | } 27 | ], 28 | "index_web_pages_for_search": 1, 29 | "links": [ 30 | { 31 | "link_doctype": "ITM Host Item", 32 | "link_fieldname": "itm_landscape" 33 | } 34 | ], 35 | "modified": "2024-01-30 10:25:19.464775", 36 | "modified_by": "Administrator", 37 | "module": "IT Management", 38 | "name": "ITM Landscape", 39 | "naming_rule": "By fieldname", 40 | "owner": "Administrator", 41 | "permissions": [ 42 | { 43 | "create": 1, 44 | "delete": 1, 45 | "email": 1, 46 | "export": 1, 47 | "print": 1, 48 | "read": 1, 49 | "report": 1, 50 | "role": "System Manager", 51 | "share": 1, 52 | "write": 1 53 | } 54 | ], 55 | "sort_field": "modified", 56 | "sort_order": "DESC", 57 | "states": [] 58 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_landscape/itm_landscape.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | class ITMLandscape(Document): 8 | pass 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_landscape/test_itm_landscape.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestITMLandscape(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_location/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/itm_location/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_location/itm_location.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('ITM Location', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_location/itm_location.json: -------------------------------------------------------------------------------- 1 | { 2 | "actions": [], 3 | "allow_rename": 1, 4 | "autoname": "field:location_name", 5 | "creation": "2024-01-23 16:32:39.706758", 6 | "default_view": "List", 7 | "doctype": "DocType", 8 | "editable_grid": 1, 9 | "engine": "InnoDB", 10 | "field_order": [ 11 | "location_name", 12 | "location_address", 13 | "is_group", 14 | "lft", 15 | "rgt", 16 | "old_parent", 17 | "parent_itm_location", 18 | "disabled" 19 | ], 20 | "fields": [ 21 | { 22 | "default": "0", 23 | "fieldname": "disabled", 24 | "fieldtype": "Check", 25 | "label": "Disabled" 26 | }, 27 | { 28 | "fieldname": "location_name", 29 | "fieldtype": "Data", 30 | "in_list_view": 1, 31 | "label": "Location Name", 32 | "reqd": 1, 33 | "unique": 1 34 | }, 35 | { 36 | "fieldname": "lft", 37 | "fieldtype": "Int", 38 | "hidden": 1, 39 | "label": "Left", 40 | "no_copy": 1, 41 | "read_only": 1 42 | }, 43 | { 44 | "fieldname": "rgt", 45 | "fieldtype": "Int", 46 | "hidden": 1, 47 | "label": "Right", 48 | "no_copy": 1, 49 | "read_only": 1 50 | }, 51 | { 52 | "default": "0", 53 | "fieldname": "is_group", 54 | "fieldtype": "Check", 55 | "label": "Is Location Group" 56 | }, 57 | { 58 | "fieldname": "old_parent", 59 | "fieldtype": "Link", 60 | "hidden": 1, 61 | "label": "Old Parent", 62 | "options": "ITM Location" 63 | }, 64 | { 65 | "fieldname": "parent_itm_location", 66 | "fieldtype": "Link", 67 | "label": "Parent ITM Location", 68 | "options": "ITM Location" 69 | }, 70 | { 71 | "fieldname": "location_address", 72 | "fieldtype": "Link", 73 | "label": "Location Address", 74 | "options": "Address" 75 | } 76 | ], 77 | "index_web_pages_for_search": 1, 78 | "is_tree": 1, 79 | "links": [ 80 | { 81 | "link_doctype": "ITM Host Item", 82 | "link_fieldname": "itm_location" 83 | } 84 | ], 85 | "modified": "2024-01-26 23:05:07.351708", 86 | "modified_by": "Administrator", 87 | "module": "IT Management", 88 | "name": "ITM Location", 89 | "naming_rule": "By fieldname", 90 | "nsm_parent_field": "parent_itm_location", 91 | "owner": "Administrator", 92 | "permissions": [ 93 | { 94 | "create": 1, 95 | "delete": 1, 96 | "email": 1, 97 | "export": 1, 98 | "print": 1, 99 | "read": 1, 100 | "report": 1, 101 | "role": "System Manager", 102 | "share": 1, 103 | "write": 1 104 | } 105 | ], 106 | "sort_field": "modified", 107 | "sort_order": "DESC", 108 | "states": [] 109 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_location/itm_location.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.utils.nestedset import NestedSet 6 | 7 | class ITMLocation(NestedSet): 8 | pass 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_location/test_itm_location.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestITMLocation(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_software/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/itm_software/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_software/itm_software.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('ITM Software', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | status: function(frm) { 9 | if (frm.doc.status == "Active"){ 10 | frm.set_value("disabled", false); 11 | } 12 | 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_software/itm_software.json: -------------------------------------------------------------------------------- 1 | { 2 | "actions": [], 3 | "allow_rename": 1, 4 | "autoname": "field:title", 5 | "creation": "2024-01-30 19:39:53.351395", 6 | "default_view": "List", 7 | "doctype": "DocType", 8 | "editable_grid": 1, 9 | "engine": "InnoDB", 10 | "field_order": [ 11 | "title", 12 | "description", 13 | "end_of_life", 14 | "status", 15 | "disabled" 16 | ], 17 | "fields": [ 18 | { 19 | "fieldname": "title", 20 | "fieldtype": "Data", 21 | "label": "Title", 22 | "unique": 1 23 | }, 24 | { 25 | "fieldname": "description", 26 | "fieldtype": "Text Editor", 27 | "label": "Description" 28 | }, 29 | { 30 | "fieldname": "end_of_life", 31 | "fieldtype": "Date", 32 | "label": "End of Life" 33 | }, 34 | { 35 | "fieldname": "status", 36 | "fieldtype": "Select", 37 | "label": "Status", 38 | "options": "Active\nOutdated" 39 | }, 40 | { 41 | "default": "0", 42 | "fieldname": "disabled", 43 | "fieldtype": "Check", 44 | "label": "Disabled" 45 | } 46 | ], 47 | "index_web_pages_for_search": 1, 48 | "links": [ 49 | { 50 | "link_doctype": "ITM Software Instance", 51 | "link_fieldname": "itm_software" 52 | } 53 | ], 54 | "modified": "2024-02-15 11:18:59.512803", 55 | "modified_by": "Administrator", 56 | "module": "IT Management", 57 | "name": "ITM Software", 58 | "naming_rule": "By fieldname", 59 | "owner": "Administrator", 60 | "permissions": [ 61 | { 62 | "create": 1, 63 | "delete": 1, 64 | "email": 1, 65 | "export": 1, 66 | "print": 1, 67 | "read": 1, 68 | "report": 1, 69 | "role": "System Manager", 70 | "share": 1, 71 | "write": 1 72 | } 73 | ], 74 | "sort_field": "modified", 75 | "sort_order": "DESC", 76 | "states": [] 77 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_software/itm_software.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | from frappe.utils import cstr, today,date_diff, nowdate 7 | 8 | class ITMSoftware(Document): 9 | 10 | def validate(self): 11 | self.toggle_eof() 12 | 13 | 14 | def toggle_eof(self): 15 | 16 | if(self.end_of_life): 17 | 18 | ddfr = date_diff(self.end_of_life, nowdate()) 19 | #print(ddfr) 20 | if ddfr <= 0: 21 | 22 | self.status = "Outdated" 23 | else: 24 | self.status = "Active" -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_software/test_itm_software.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestITMSoftware(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_software_instance/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/itm_software_instance/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_software_instance/itm_software_instance.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('ITM Software Instance', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_software_instance/itm_software_instance.json: -------------------------------------------------------------------------------- 1 | { 2 | "actions": [], 3 | "allow_rename": 1, 4 | "autoname": "field:title", 5 | "creation": "2024-01-30 20:30:49.597040", 6 | "default_view": "List", 7 | "doctype": "DocType", 8 | "editable_grid": 1, 9 | "engine": "InnoDB", 10 | "field_order": [ 11 | "title", 12 | "itm_host_item", 13 | "itm_landscape", 14 | "itm_software" 15 | ], 16 | "fields": [ 17 | { 18 | "fieldname": "title", 19 | "fieldtype": "Data", 20 | "label": "Title", 21 | "unique": 1 22 | }, 23 | { 24 | "fieldname": "itm_host_item", 25 | "fieldtype": "Link", 26 | "label": "ITM Host Item", 27 | "options": "ITM Host Item" 28 | }, 29 | { 30 | "fieldname": "itm_landscape", 31 | "fieldtype": "Link", 32 | "label": "ITM Landscape", 33 | "options": "ITM Landscape" 34 | }, 35 | { 36 | "fieldname": "itm_software", 37 | "fieldtype": "Link", 38 | "label": "ITM Software", 39 | "options": "ITM Software" 40 | } 41 | ], 42 | "index_web_pages_for_search": 1, 43 | "links": [], 44 | "modified": "2024-01-31 12:08:53.851958", 45 | "modified_by": "Administrator", 46 | "module": "IT Management", 47 | "name": "ITM Software Instance", 48 | "naming_rule": "By fieldname", 49 | "owner": "Administrator", 50 | "permissions": [ 51 | { 52 | "create": 1, 53 | "delete": 1, 54 | "email": 1, 55 | "export": 1, 56 | "print": 1, 57 | "read": 1, 58 | "report": 1, 59 | "role": "System Manager", 60 | "share": 1, 61 | "write": 1 62 | } 63 | ], 64 | "sort_field": "modified", 65 | "sort_order": "DESC", 66 | "states": [] 67 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_software_instance/itm_software_instance.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | # For license information, please see license.txt 3 | 4 | # import frappe 5 | from frappe.model.document import Document 6 | 7 | class ITMSoftwareInstance(Document): 8 | pass 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/itm_software_instance/test_itm_software_instance.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2024, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 2 | # See license.txt 3 | 4 | # import frappe 5 | from frappe.tests.utils import FrappeTestCase 6 | 7 | 8 | class TestITMSoftwareInstance(FrappeTestCase): 9 | pass 10 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/licence/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/licence/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/licence/licence.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Licence', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/licence/licence.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class Licence(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/licence/licence_dashboard.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from frappe import _ 3 | 4 | 5 | def get_data(): 6 | return { 7 | 'fieldname': 'licence', 8 | 'non_standard_fieldnames': { 9 | 'Task': 'dynamic_name', 10 | 'Issue': 'dynamic_name' 11 | }, 12 | 'transactions': [ 13 | { 14 | 'label': _('Software'), 15 | 'items': ['Software Instance'] 16 | }, 17 | { 18 | 'label': _('Service'), 19 | 'items': ['Issue', 'Task'] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/licence/test_licence.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Licence", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Licence 13 | () => frappe.tests.make('Licence', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/licence/test_licence.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestLicence(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/licence_table/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/licence_table/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/licence_table/licence_table.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2019-07-01 13:31:05.821959", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "licence", 8 | "note" 9 | ], 10 | "fields": [ 11 | { 12 | "fieldname": "note", 13 | "fieldtype": "Data", 14 | "label": "Note" 15 | }, 16 | { 17 | "fieldname": "licence", 18 | "fieldtype": "Link", 19 | "in_list_view": 1, 20 | "label": "Licence", 21 | "options": "Licence" 22 | } 23 | ], 24 | "istable": 1, 25 | "modified": "2020-01-26 00:01:28.185739", 26 | "modified_by": "Administrator", 27 | "module": "IT Management", 28 | "name": "Licence Table", 29 | "owner": "Administrator", 30 | "permissions": [], 31 | "quick_entry": 1, 32 | "sort_field": "modified", 33 | "sort_order": "DESC", 34 | "track_changes": 1 35 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/licence_table/licence_table.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class LicenceTable(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/local_area_network/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/local_area_network/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/local_area_network/local_area_network.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Local Area Network', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/local_area_network/local_area_network.json: -------------------------------------------------------------------------------- 1 | { 2 | "autoname": "format:{customer} LAN at {location}", 3 | "creation": "2020-03-21 20:50:53.592159", 4 | "doctype": "DocType", 5 | "editable_grid": 1, 6 | "engine": "InnoDB", 7 | "field_order": [ 8 | "customer", 9 | "customer_name", 10 | "location", 11 | "column_break_5", 12 | "note", 13 | "section_break_7", 14 | "subnets" 15 | ], 16 | "fields": [ 17 | { 18 | "fieldname": "customer", 19 | "fieldtype": "Link", 20 | "in_list_view": 1, 21 | "in_standard_filter": 1, 22 | "label": "Customer", 23 | "options": "Customer", 24 | "reqd": 1 25 | }, 26 | { 27 | "fetch_from": "customer.customer_name", 28 | "fieldname": "customer_name", 29 | "fieldtype": "Data", 30 | "label": "Customer Name", 31 | "read_only": 1 32 | }, 33 | { 34 | "fieldname": "location", 35 | "fieldtype": "Link", 36 | "in_list_view": 1, 37 | "in_standard_filter": 1, 38 | "label": "Location", 39 | "options": "Location", 40 | "reqd": 1 41 | }, 42 | { 43 | "fieldname": "column_break_5", 44 | "fieldtype": "Column Break" 45 | }, 46 | { 47 | "fieldname": "note", 48 | "fieldtype": "Small Text", 49 | "label": "Note" 50 | }, 51 | { 52 | "fieldname": "section_break_7", 53 | "fieldtype": "Section Break" 54 | }, 55 | { 56 | "fieldname": "subnets", 57 | "fieldtype": "Table", 58 | "label": "Subnets", 59 | "options": "Subnet Table" 60 | } 61 | ], 62 | "modified": "2020-04-22 13:35:40.927597", 63 | "modified_by": "wolfram.schmidt@tueit.de", 64 | "module": "IT Management", 65 | "name": "Local Area Network", 66 | "owner": "wolfram.schmidt@tueit.de", 67 | "permissions": [ 68 | { 69 | "create": 1, 70 | "delete": 1, 71 | "email": 1, 72 | "export": 1, 73 | "print": 1, 74 | "read": 1, 75 | "report": 1, 76 | "role": "System Manager", 77 | "share": 1, 78 | "write": 1 79 | }, 80 | { 81 | "create": 1, 82 | "delete": 1, 83 | "email": 1, 84 | "export": 1, 85 | "print": 1, 86 | "read": 1, 87 | "report": 1, 88 | "role": "Support Team", 89 | "share": 1, 90 | "write": 1 91 | } 92 | ], 93 | "quick_entry": 1, 94 | "sort_field": "modified", 95 | "sort_order": "DESC", 96 | "track_changes": 1 97 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/local_area_network/local_area_network.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class LocalAreaNetwork(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/local_area_network/test_local_area_network.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestLocalAreaNetwork(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/location/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/location/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/location/location.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Location', { 5 | setup: function(frm) { 6 | frm.set_query("address", function() { 7 | return { 8 | filters: { 9 | address_type: 'Configuration Item' 10 | } 11 | }; 12 | }); 13 | }, 14 | address: function(frm) { 15 | erpnext.utils.get_address_display(frm, 'address'); 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/location/location.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_rename": 1, 3 | "autoname": "field:title", 4 | "creation": "2018-11-23 16:48:35.862779", 5 | "doctype": "DocType", 6 | "document_type": "Document", 7 | "editable_grid": 1, 8 | "engine": "InnoDB", 9 | "field_order": [ 10 | "title", 11 | "section_break_3", 12 | "address", 13 | "address_display", 14 | "it_landscape" 15 | ], 16 | "fields": [ 17 | { 18 | "fieldname": "title", 19 | "fieldtype": "Data", 20 | "in_list_view": 1, 21 | "label": "Title", 22 | "reqd": 1, 23 | "unique": 1 24 | }, 25 | { 26 | "fieldname": "section_break_3", 27 | "fieldtype": "Section Break", 28 | "label": "Address" 29 | }, 30 | { 31 | "fieldname": "address", 32 | "fieldtype": "Link", 33 | "label": "Address", 34 | "options": "Address" 35 | }, 36 | { 37 | "fieldname": "address_display", 38 | "fieldtype": "HTML", 39 | "label": "Address Display", 40 | "read_only": 1 41 | }, 42 | { 43 | "fieldname": "it_landscape", 44 | "fieldtype": "Link", 45 | "label": "IT Landscape", 46 | "options": "IT Landscape" 47 | } 48 | ], 49 | "modified": "2020-11-15 17:40:38.248842", 50 | "modified_by": "wolfram.schmidt@tueit.de", 51 | "module": "IT Management", 52 | "name": "Location", 53 | "owner": "wolfram.schmidt@tueit.de", 54 | "permissions": [ 55 | { 56 | "create": 1, 57 | "delete": 1, 58 | "email": 1, 59 | "export": 1, 60 | "print": 1, 61 | "read": 1, 62 | "report": 1, 63 | "role": "System Manager", 64 | "share": 1, 65 | "write": 1 66 | }, 67 | { 68 | "create": 1, 69 | "delete": 1, 70 | "email": 1, 71 | "export": 1, 72 | "print": 1, 73 | "read": 1, 74 | "report": 1, 75 | "role": "Support Team", 76 | "share": 1, 77 | "write": 1 78 | }, 79 | { 80 | "create": 1, 81 | "delete": 1, 82 | "email": 1, 83 | "export": 1, 84 | "print": 1, 85 | "read": 1, 86 | "report": 1, 87 | "role": "Administrator", 88 | "share": 1, 89 | "write": 1 90 | } 91 | ], 92 | "quick_entry": 1, 93 | "sort_field": "modified", 94 | "sort_order": "DESC", 95 | "title_field": "title", 96 | "track_changes": 1 97 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/location/location.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class Location(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/location/location_dashboard.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from frappe import _ 3 | 4 | 5 | def get_data(): 6 | return { 7 | 'fieldname': 'location', 8 | 'non_standard_fieldnames': { 9 | 'Issue': 'dynamic_name' 10 | }, 11 | 'transactions': [ 12 | { 13 | 'label': _('Rooms'), 14 | 'items': ['Location Room'] 15 | }, 16 | { 17 | 'label': _('Service'), 18 | 'items': ['Issue'] 19 | }, 20 | { 21 | 'label': _('Networking'), 22 | 'items': ['Subnet'] 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/location/test_location.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Location", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Location 13 | () => frappe.tests.make('Location', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/location/test_location.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestLocation(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/location_room/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/location_room/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/location_room/location_room.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Location Room', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/location_room/location_room.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_rename": 1, 3 | "autoname": "format:{title}-{floor}-{location}", 4 | "creation": "2018-11-23 16:56:27.083291", 5 | "doctype": "DocType", 6 | "document_type": "Document", 7 | "editable_grid": 1, 8 | "engine": "InnoDB", 9 | "field_order": [ 10 | "title", 11 | "room_number", 12 | "floor", 13 | "column_break_6", 14 | "note", 15 | "location", 16 | "customer", 17 | "it_landscape" 18 | ], 19 | "fields": [ 20 | { 21 | "fieldname": "title", 22 | "fieldtype": "Data", 23 | "label": "Title", 24 | "reqd": 1 25 | }, 26 | { 27 | "fieldname": "room_number", 28 | "fieldtype": "Data", 29 | "in_list_view": 1, 30 | "label": "Room Number" 31 | }, 32 | { 33 | "fieldname": "floor", 34 | "fieldtype": "Link", 35 | "in_list_view": 1, 36 | "in_standard_filter": 1, 37 | "label": "Floor", 38 | "options": "Floor", 39 | "reqd": 1 40 | }, 41 | { 42 | "fieldname": "column_break_6", 43 | "fieldtype": "Column Break" 44 | }, 45 | { 46 | "fieldname": "note", 47 | "fieldtype": "Small Text", 48 | "label": "Note" 49 | }, 50 | { 51 | "fieldname": "location", 52 | "fieldtype": "Link", 53 | "in_list_view": 1, 54 | "in_standard_filter": 1, 55 | "label": "Location", 56 | "options": "Location", 57 | "reqd": 1 58 | }, 59 | { 60 | "fieldname": "customer", 61 | "fieldtype": "Link", 62 | "hidden": 1, 63 | "label": "Customer", 64 | "options": "Customer" 65 | }, 66 | { 67 | "fetch_from": "customer.it_landscape", 68 | "fieldname": "it_landscape", 69 | "fieldtype": "Link", 70 | "label": "IT Landscape", 71 | "options": "IT Landscape" 72 | } 73 | ], 74 | "modified": "2021-02-25 14:57:09.953401", 75 | "modified_by": "Administrator", 76 | "module": "IT Management", 77 | "name": "Location Room", 78 | "owner": "wolfram.schmidt@tueit.de", 79 | "permissions": [ 80 | { 81 | "create": 1, 82 | "delete": 1, 83 | "email": 1, 84 | "export": 1, 85 | "print": 1, 86 | "read": 1, 87 | "report": 1, 88 | "role": "System Manager", 89 | "share": 1, 90 | "write": 1 91 | }, 92 | { 93 | "create": 1, 94 | "delete": 1, 95 | "email": 1, 96 | "export": 1, 97 | "print": 1, 98 | "read": 1, 99 | "report": 1, 100 | "role": "Support Team", 101 | "share": 1, 102 | "write": 1 103 | } 104 | ], 105 | "quick_entry": 1, 106 | "search_fields": "title,floor,room_number", 107 | "sort_field": "modified", 108 | "sort_order": "DESC", 109 | "title_field": "title", 110 | "track_changes": 1 111 | } 112 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/location_room/location_room.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class LocationRoom(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/location_room/location_room_dashboard.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from frappe import _ 3 | 4 | 5 | def get_data(): 6 | return { 7 | 'fieldname': 'location_room', 8 | 'non_standard_fieldnames': { 9 | 'Issue': 'dynamic_name' 10 | }, 11 | 'internal_links':{ 12 | 13 | }, 14 | 'transactions': [ 15 | { 16 | 'label': _('Configuration Items'), 17 | 'items': ['Configuration Item'] 18 | }, 19 | { 20 | 'label': _('Service'), 21 | 'items': ['Issue'] 22 | }, 23 | { 24 | 'label': _('Facility'), 25 | 'items': ['Socket'] 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/location_room/test_location_room.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Location Room", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Location Room 13 | () => frappe.tests.make('Location Room', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/location_room/test_location_room.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestLocationRoom(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/location_room_table/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/location_room_table/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/location_room_table/location_room_table.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class LocationRoomTable(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/network_interface_controller/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/network_interface_controller/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/network_interface_controller/network_interface_controller.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Network Interface Controller', { 5 | // refresh: function(frm) { 6 | 7 | // }, 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/network_interface_controller/network_interface_controller.json: -------------------------------------------------------------------------------- 1 | { 2 | "autoname": "format:NIC-{######}", 3 | "creation": "2020-03-21 22:05:31.940016", 4 | "doctype": "DocType", 5 | "editable_grid": 1, 6 | "engine": "InnoDB", 7 | "field_order": [ 8 | "mac", 9 | "subnet", 10 | "ip_address", 11 | "ip_v6", 12 | "type", 13 | "host", 14 | "hostname", 15 | "fqdn", 16 | "socket", 17 | "customer" 18 | ], 19 | "fields": [ 20 | { 21 | "allow_in_quick_entry": 1, 22 | "fieldname": "mac", 23 | "fieldtype": "Data", 24 | "in_preview": 1, 25 | "label": "MAC" 26 | }, 27 | { 28 | "allow_in_quick_entry": 1, 29 | "fieldname": "type", 30 | "fieldtype": "Select", 31 | "in_preview": 1, 32 | "label": "Type", 33 | "options": "LAN\nWLAN\nWAN" 34 | }, 35 | { 36 | "allow_in_quick_entry": 1, 37 | "fieldname": "ip_address", 38 | "fieldtype": "Data", 39 | "in_list_view": 1, 40 | "in_standard_filter": 1, 41 | "label": "IP Address", 42 | "options": "IP Address" 43 | }, 44 | { 45 | "allow_in_quick_entry": 1, 46 | "fieldname": "subnet", 47 | "fieldtype": "Link", 48 | "in_list_view": 1, 49 | "in_standard_filter": 1, 50 | "label": "Subnet", 51 | "options": "Subnet" 52 | }, 53 | { 54 | "allow_in_quick_entry": 1, 55 | "fieldname": "host", 56 | "fieldtype": "Link", 57 | "in_list_view": 1, 58 | "in_preview": 1, 59 | "label": "Host", 60 | "options": "Configuration Item" 61 | }, 62 | { 63 | "fieldname": "hostname", 64 | "fieldtype": "Data", 65 | "label": "Hostname" 66 | }, 67 | { 68 | "fieldname": "customer", 69 | "fieldtype": "Link", 70 | "hidden": 1, 71 | "label": "Customer", 72 | "options": "Customer" 73 | }, 74 | { 75 | "fieldname": "socket", 76 | "fieldtype": "Link", 77 | "in_preview": 1, 78 | "label": "Socket", 79 | "options": "Socket" 80 | }, 81 | { 82 | "allow_in_quick_entry": 1, 83 | "fieldname": "ip_v6", 84 | "fieldtype": "Data", 85 | "label": "IP v6", 86 | "search_index": 1 87 | }, 88 | { 89 | "fieldname": "fqdn", 90 | "fieldtype": "Data", 91 | "label": "Fully Qualified Domain Name (FQDN)" 92 | } 93 | ], 94 | "modified": "2021-02-16 16:05:16.608990", 95 | "modified_by": "Administrator", 96 | "module": "IT Management", 97 | "name": "Network Interface Controller", 98 | "owner": "wolfram.schmidt@tueit.de", 99 | "permissions": [ 100 | { 101 | "create": 1, 102 | "delete": 1, 103 | "email": 1, 104 | "export": 1, 105 | "print": 1, 106 | "read": 1, 107 | "report": 1, 108 | "role": "System Manager", 109 | "share": 1, 110 | "write": 1 111 | }, 112 | { 113 | "create": 1, 114 | "delete": 1, 115 | "email": 1, 116 | "export": 1, 117 | "print": 1, 118 | "read": 1, 119 | "report": 1, 120 | "role": "Support Team", 121 | "share": 1, 122 | "write": 1 123 | } 124 | ], 125 | "quick_entry": 1, 126 | "show_preview_popup": 1, 127 | "sort_field": "modified", 128 | "sort_order": "DESC", 129 | "track_changes": 1 130 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/network_interface_controller/network_interface_controller.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | import frappe 9 | import re 10 | 11 | def validateIP(ipstr,fieldname): 12 | fieldname = fieldname.title() 13 | match = re.match(r'(\d{0,3}\.){3}\d{0,3}$',ipstr) 14 | if not match: 15 | msg = "IP Address of field '{fieldname}' does not conform to IP-Notation (e.g. 192.168.1.0)".format(fieldname=fieldname) 16 | fex = frappe.exceptions.ValidationError(msg) 17 | frappe.throw(title='Validation',msg=msg,exc=fex) 18 | 19 | class NetworkInterfaceController(Document): 20 | def before_save(self): 21 | #Validate IPv4 22 | if self.ip_address: 23 | validateIP(self.ip_address,"IP Address") 24 | 25 | #Validate IPv6 26 | if self.ip_v6: 27 | match = re.match(r'(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))',self.ip_v6) 28 | if not match: 29 | msg = "IPv6 Address does not conform to IPv6 Notation (e.g. 2001:0db8:85a3:0000:0000:8a2e:0370:7334)" 30 | fex = frappe.exceptions.ValidationError(msg) 31 | frappe.throw(title='Validation',msg=msg,exc=fex) 32 | 33 | #Validate MAC 34 | if self.mac: 35 | match = re.match(r'([0-9A-Fa-f]{0,2}[:\-]){5}[0-9A-Fa-f]{0,4}$',self.mac) 36 | if not match: 37 | msg = "MAC Address does not conform to MAC Notation (e.g. a3:b6:4f:ff:ae:12)" 38 | fex = frappe.exceptions.ValidationError(msg) 39 | frappe.throw(title='Validation',msg=msg,exc=fex) 40 | 41 | #Transform MAC to default format with small letters and ':' 42 | self.mac = self.mac.replace("-",":").lower() 43 | 44 | pass -------------------------------------------------------------------------------- /it_management/it_management/doctype/network_interface_controller/test_network_interface_controller.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestNetworkInterfaceController(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/network_interface_controller_table/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/network_interface_controller_table/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/network_interface_controller_table/network_interface_controller_table.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2018-10-12 17:57:17.158259", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "nic", 8 | "ip_address", 9 | "ipv6_address", 10 | "subnet", 11 | "mac_address", 12 | "note", 13 | "hostname", 14 | "socket", 15 | "customer" 16 | ], 17 | "fields": [ 18 | { 19 | "fetch_from": "nic.ip_address", 20 | "fieldname": "ip_address", 21 | "fieldtype": "Data", 22 | "in_list_view": 1, 23 | "label": "IP Address", 24 | "read_only": 1 25 | }, 26 | { 27 | "description": "Use : as separator", 28 | "fetch_from": "nic.mac", 29 | "fieldname": "mac_address", 30 | "fieldtype": "Data", 31 | "in_list_view": 1, 32 | "label": "MAC Address", 33 | "length": 17, 34 | "read_only": 1 35 | }, 36 | { 37 | "fieldname": "note", 38 | "fieldtype": "Small Text", 39 | "label": "Note" 40 | }, 41 | { 42 | "allow_in_quick_entry": 1, 43 | "fetch_from": "nic.hostname", 44 | "fieldname": "hostname", 45 | "fieldtype": "Data", 46 | "in_preview": 1, 47 | "label": "Hostname", 48 | "read_only": 1 49 | }, 50 | { 51 | "allow_in_quick_entry": 1, 52 | "columns": 1, 53 | "fieldname": "nic", 54 | "fieldtype": "Link", 55 | "in_list_view": 1, 56 | "in_preview": 1, 57 | "label": "NIC", 58 | "options": "Network Interface Controller" 59 | }, 60 | { 61 | "fieldname": "customer", 62 | "fieldtype": "Link", 63 | "hidden": 1, 64 | "label": "Customer", 65 | "options": "Customer" 66 | }, 67 | { 68 | "bold": 1, 69 | "fetch_from": "nic.socket", 70 | "fieldname": "socket", 71 | "fieldtype": "Data", 72 | "in_preview": 1, 73 | "label": "Socket", 74 | "read_only": 1 75 | }, 76 | { 77 | "allow_in_quick_entry": 1, 78 | "fetch_from": "nic.subnet", 79 | "fieldname": "subnet", 80 | "fieldtype": "Data", 81 | "label": "Subnet", 82 | "read_only": 1 83 | }, 84 | { 85 | "fetch_from": "nic.ip_v6", 86 | "fieldname": "ipv6_address", 87 | "fieldtype": "Data", 88 | "in_list_view": 1, 89 | "label": "IPv6 Address", 90 | "read_only": 1 91 | } 92 | ], 93 | "istable": 1, 94 | "modified": "2020-05-19 17:13:10.208428", 95 | "modified_by": "wolfram.schmidt@tueit.de", 96 | "module": "IT Management", 97 | "name": "Network Interface Controller Table", 98 | "owner": "wolfram.schmidt@tueit.de", 99 | "permissions": [], 100 | "quick_entry": 1, 101 | "sort_field": "modified", 102 | "sort_order": "DESC", 103 | "track_changes": 1 104 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/network_interface_controller_table/network_interface_controller_table.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class NetworkInterfaceControllerTable(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/network_jack/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/network_jack/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/network_jack/network_jack.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Network Jack', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/network_jack/network_jack.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class NetworkJack(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/network_jack/network_jack_dashboard.py: -------------------------------------------------------------------------------- 1 | """ 2 | """ 3 | from __future__ import unicode_literals 4 | from frappe import _ 5 | 6 | 7 | def get_data(): 8 | """ 9 | """ 10 | return { 11 | 'fieldname': 'network_jack', 12 | 'non_standard_fieldnames': { 13 | 'Issue': 'dynamic_name' 14 | }, 15 | 'transactions': [ 16 | { 17 | 'label': _('Service'), 18 | 'items': ['Issue'] 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/network_jack/test_network_jack.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Network Jack", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Network Jack 13 | () => frappe.tests.make('Network Jack', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/network_jack/test_network_jack.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestNetworkJack(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/project_configuration_item_table/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/project_configuration_item_table/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/project_configuration_item_table/project_configuration_item_table.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class ProjectConfigurationItemTable(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/retention_type/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/retention_type/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/retention_type/retention_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Retention Type', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/retention_type/retention_type.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_rename": 1, 3 | "autoname": "field:title", 4 | "creation": "2020-02-21 15:25:22.851954", 5 | "doctype": "DocType", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "title" 10 | ], 11 | "fields": [ 12 | { 13 | "fieldname": "title", 14 | "fieldtype": "Data", 15 | "label": "Title", 16 | "unique": 1 17 | } 18 | ], 19 | "modified": "2020-10-12 16:05:36.055160", 20 | "modified_by": "Administrator", 21 | "module": "IT Management", 22 | "name": "Retention Type", 23 | "owner": "Administrator", 24 | "permissions": [ 25 | { 26 | "create": 1, 27 | "delete": 1, 28 | "email": 1, 29 | "export": 1, 30 | "print": 1, 31 | "read": 1, 32 | "report": 1, 33 | "role": "System Manager", 34 | "share": 1, 35 | "write": 1 36 | }, 37 | { 38 | "create": 1, 39 | "delete": 1, 40 | "email": 1, 41 | "export": 1, 42 | "print": 1, 43 | "read": 1, 44 | "report": 1, 45 | "role": "Support Team", 46 | "share": 1, 47 | "write": 1 48 | } 49 | ], 50 | "quick_entry": 1, 51 | "show_preview_popup": 1, 52 | "sort_field": "modified", 53 | "sort_order": "DESC", 54 | "track_changes": 1 55 | } 56 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/retention_type/retention_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class RetentionType(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/retention_type/test_retention_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestRetentionType(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/socket/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/socket/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/socket/socket.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Socket', { 5 | refresh: function(frm) { 6 | 7 | }, 8 | onload: function(frm) { 9 | frm.set_query("endpoint_socket", function() { 10 | if (frm.doc.endpoint_room) { 11 | return { 12 | 'filters': { 13 | "location_room" : frm.doc.endpoint_room, 14 | } 15 | }; 16 | } 17 | }); 18 | }, 19 | connect_socket: function(frm) { 20 | if( frm.doc.endpoint_socket != "" ) { 21 | var msg = frappe.msgprint({ 22 | title: __('Notification'), 23 | message: __('This will replace the currently connected Endpoint Socket. Are you sure?'), 24 | primary_action:{ 25 | 'label': 'Proceed', 26 | action(values) { 27 | msg.hide(); 28 | var d = new frappe.ui.Dialog({ 29 | title: __('Enter details'), 30 | fields: [ 31 | { 32 | label: __('Identifier'), 33 | fieldname: 'identifier', 34 | options: "", 35 | fieldtype: 'Data' 36 | }, 37 | { 38 | label: __('Location Room'), 39 | fieldname: 'location_room', 40 | options: "Location Room", 41 | fieldtype: 'Link' 42 | } 43 | ], 44 | primary_action_label: 'Connect', 45 | primary_action(values) { 46 | d.hide(); 47 | frappe.db.insert({ 48 | doctype: 'Socket', 49 | identifier: values.identifier, 50 | location_room: values.location_room, 51 | note: frm.doc.note, 52 | endpoint_socket: frm.doc.name 53 | }).then(doc => { 54 | // Add newly created Endpoint Socket to endpoint_socket field 55 | frm.set_value('endpoint_socket', doc.name); 56 | frm.refresh_fields(); 57 | frm.save(); 58 | }) 59 | } 60 | }); 61 | d.show(); 62 | } 63 | } 64 | }); 65 | } 66 | } 67 | 68 | // Filter 69 | // Filter auf Feld in Doctype setzen (... nein?) 70 | // set_query() wie bei normalen Feldern auf dialog.set_query... anwenden 71 | }); 72 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/socket/socket.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class Socket(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/socket/socket_dashboard.py: -------------------------------------------------------------------------------- 1 | """ 2 | """ 3 | from __future__ import unicode_literals 4 | from frappe import _ 5 | 6 | 7 | def get_data(): 8 | """ 9 | """ 10 | return { 11 | 'fieldname': 'socket', 12 | 'non_standard_fieldnames': { 13 | 'Issue': 'dynamic_name' 14 | }, 15 | 'transactions': [ 16 | { 17 | 'label': _('Service'), 18 | 'items': ['Issue'] 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/socket/test_socket.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Socket", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Socket 13 | () => frappe.tests.make('Socket', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/socket/test_socket.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestSocket(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/software_instance/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/software_instance/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/software_instance/software_instance.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Software Instance', { 5 | refresh: function(frm) { 6 | 7 | }, 8 | onload: function(frm) { 9 | //Filter for parent_software_instance 10 | frm.set_query("parent_software_instance", function() { 11 | if (frm.doc.configuration_item) { 12 | return { 13 | 'filters': { 14 | "configuration_item" : frm.doc.configuration_item 15 | } 16 | }; 17 | } 18 | }); 19 | } 20 | }); 21 | 22 | 23 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/software_instance/software_instance.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | import re 9 | 10 | class SoftwareInstance(Document): 11 | def before_save(self): 12 | 13 | #Fetch IT Landscape 14 | if self.customer and not self.it_landscape: 15 | customer = frappe.get_doc("Customer",self.customer) 16 | self.it_landscape = customer.it_landscape 17 | 18 | pass 19 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/software_instance/software_instance_dashboard.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from frappe import _ 3 | 4 | 5 | def get_data(): 6 | return { 7 | 'fieldname': 'software_instance', 8 | 'non_standard_fieldnames': { 9 | 'Issue': 'dynamic_name', 10 | 'Task': 'dynamic_name' 11 | }, 12 | 'transactions': [ 13 | { 14 | 'label': _('Users and Accounts'), 15 | 'items': ['User Account'] 16 | }, 17 | { 18 | 'label': _('Service'), 19 | 'items': ['Issue', 'Task'] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/software_instance/test_software_instance.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Software Instance", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Software Instance 13 | () => frappe.tests.make('Software Instance', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/software_instance/test_software_instance.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestSoftwareInstance(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/software_instance_table/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/software_instance_table/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/software_instance_table/software_instance_table.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_copy": 0, 3 | "allow_events_in_timeline": 0, 4 | "allow_guest_to_view": 0, 5 | "allow_import": 0, 6 | "allow_rename": 0, 7 | "autoname": "", 8 | "beta": 0, 9 | "creation": "2019-03-01 22:51:24.049223", 10 | "custom": 0, 11 | "docstatus": 0, 12 | "doctype": "DocType", 13 | "document_type": "", 14 | "editable_grid": 1, 15 | "engine": "InnoDB", 16 | "fields": [ 17 | { 18 | "allow_bulk_edit": 0, 19 | "allow_in_quick_entry": 0, 20 | "allow_on_submit": 0, 21 | "bold": 0, 22 | "collapsible": 0, 23 | "columns": 0, 24 | "fieldname": "note", 25 | "fieldtype": "Data", 26 | "hidden": 0, 27 | "ignore_user_permissions": 0, 28 | "ignore_xss_filter": 0, 29 | "in_filter": 0, 30 | "in_global_search": 0, 31 | "in_list_view": 1, 32 | "in_standard_filter": 0, 33 | "label": "Note", 34 | "length": 0, 35 | "no_copy": 0, 36 | "permlevel": 0, 37 | "precision": "", 38 | "print_hide": 0, 39 | "print_hide_if_no_value": 0, 40 | "read_only": 0, 41 | "remember_last_selected_value": 0, 42 | "report_hide": 0, 43 | "reqd": 0, 44 | "search_index": 0, 45 | "set_only_once": 0, 46 | "translatable": 0, 47 | "unique": 0 48 | }, 49 | { 50 | "allow_bulk_edit": 0, 51 | "allow_in_quick_entry": 0, 52 | "allow_on_submit": 0, 53 | "bold": 0, 54 | "collapsible": 0, 55 | "columns": 0, 56 | "fieldname": "software_instance", 57 | "fieldtype": "Link", 58 | "hidden": 0, 59 | "ignore_user_permissions": 0, 60 | "ignore_xss_filter": 0, 61 | "in_filter": 0, 62 | "in_global_search": 0, 63 | "in_list_view": 1, 64 | "in_standard_filter": 0, 65 | "label": "Software Instance", 66 | "length": 0, 67 | "no_copy": 0, 68 | "options": "Software Instance", 69 | "permlevel": 0, 70 | "precision": "", 71 | "print_hide": 0, 72 | "print_hide_if_no_value": 0, 73 | "read_only": 0, 74 | "remember_last_selected_value": 0, 75 | "report_hide": 0, 76 | "reqd": 1, 77 | "search_index": 0, 78 | "set_only_once": 0, 79 | "translatable": 0, 80 | "unique": 0 81 | } 82 | ], 83 | "has_web_view": 0, 84 | "hide_heading": 0, 85 | "hide_toolbar": 0, 86 | "idx": 0, 87 | "image_view": 0, 88 | "in_create": 0, 89 | "is_submittable": 0, 90 | "issingle": 0, 91 | "istable": 1, 92 | "max_attachments": 0, 93 | "modified": "2019-04-09 12:31:36.388878", 94 | "modified_by": "Administrator", 95 | "module": "IT Management", 96 | "name": "Software Instance Table", 97 | "name_case": "", 98 | "owner": "Administrator", 99 | "permissions": [], 100 | "quick_entry": 1, 101 | "read_only": 0, 102 | "read_only_onload": 0, 103 | "show_name_in_global_search": 0, 104 | "sort_field": "modified", 105 | "sort_order": "DESC", 106 | "track_changes": 1, 107 | "track_seen": 0, 108 | "track_views": 0 109 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/software_instance_table/software_instance_table.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class SoftwareInstanceTable(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/software_version/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/software_version/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/software_version/software_version.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Software Version', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/software_version/software_version.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_copy": 0, 3 | "allow_guest_to_view": 0, 4 | "allow_import": 1, 5 | "allow_rename": 0, 6 | "autoname": "field:sw_version", 7 | "beta": 0, 8 | "creation": "2018-10-19 09:37:04.062804", 9 | "custom": 0, 10 | "docstatus": 0, 11 | "doctype": "DocType", 12 | "document_type": "", 13 | "editable_grid": 1, 14 | "engine": "InnoDB", 15 | "fields": [ 16 | { 17 | "allow_bulk_edit": 0, 18 | "allow_on_submit": 0, 19 | "bold": 0, 20 | "collapsible": 0, 21 | "columns": 0, 22 | "fieldname": "sw_version", 23 | "fieldtype": "Data", 24 | "hidden": 0, 25 | "ignore_user_permissions": 0, 26 | "ignore_xss_filter": 0, 27 | "in_filter": 0, 28 | "in_global_search": 0, 29 | "in_list_view": 1, 30 | "in_standard_filter": 0, 31 | "label": "Software Version", 32 | "length": 0, 33 | "no_copy": 0, 34 | "permlevel": 0, 35 | "precision": "", 36 | "print_hide": 0, 37 | "print_hide_if_no_value": 0, 38 | "read_only": 0, 39 | "remember_last_selected_value": 0, 40 | "report_hide": 0, 41 | "reqd": 1, 42 | "search_index": 0, 43 | "set_only_once": 0, 44 | "unique": 1 45 | } 46 | ], 47 | "has_web_view": 0, 48 | "hide_heading": 0, 49 | "hide_toolbar": 0, 50 | "idx": 0, 51 | "image_view": 0, 52 | "in_create": 0, 53 | "is_submittable": 0, 54 | "issingle": 0, 55 | "istable": 0, 56 | "max_attachments": 0, 57 | "modified": "2019-02-16 01:37:28.986975", 58 | "modified_by": "Administrator", 59 | "module": "IT Management", 60 | "name": "Software Version", 61 | "name_case": "", 62 | "owner": "wolfram.schmidt@tueit.de", 63 | "permissions": [ 64 | { 65 | "amend": 0, 66 | "apply_user_permissions": 0, 67 | "cancel": 0, 68 | "create": 1, 69 | "delete": 1, 70 | "email": 1, 71 | "export": 1, 72 | "if_owner": 0, 73 | "import": 0, 74 | "permlevel": 0, 75 | "print": 1, 76 | "read": 1, 77 | "report": 1, 78 | "role": "System Manager", 79 | "set_user_permissions": 0, 80 | "share": 1, 81 | "submit": 0, 82 | "write": 1 83 | }, 84 | { 85 | "amend": 0, 86 | "apply_user_permissions": 0, 87 | "cancel": 0, 88 | "create": 1, 89 | "delete": 1, 90 | "email": 1, 91 | "export": 1, 92 | "if_owner": 0, 93 | "import": 0, 94 | "permlevel": 0, 95 | "print": 1, 96 | "read": 1, 97 | "report": 1, 98 | "role": "Support Team", 99 | "set_user_permissions": 0, 100 | "share": 1, 101 | "submit": 0, 102 | "write": 1 103 | } 104 | ], 105 | "quick_entry": 1, 106 | "read_only": 0, 107 | "read_only_onload": 0, 108 | "show_name_in_global_search": 0, 109 | "sort_field": "modified", 110 | "sort_order": "DESC", 111 | "track_changes": 1, 112 | "track_seen": 0 113 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/software_version/software_version.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class SoftwareVersion(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/software_version/software_version_dashboard.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from frappe import _ 3 | 4 | 5 | def get_data(): 6 | return { 7 | 'fieldname': 'software_version', 8 | 'non_standard_fieldnames': { 9 | 'Issue': 'dynamic_name' 10 | }, 11 | 'transactions': [ 12 | { 13 | 'label': _('Service'), 14 | 'items': ['Issue'] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/software_version/test_software_version.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Software Version", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Software Version 13 | () => frappe.tests.make('Software Version', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/software_version/test_software_version.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestSoftwareVersion(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/solution/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution/solution.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Solution', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution/solution.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class Solution(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution/solution_dashboard.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from frappe import _ 3 | 4 | 5 | def get_data(): 6 | return { 7 | 'fieldname': 'solution', 8 | 'non_standard_fieldnames': { 9 | 'Issue': 'dynamic_name' 10 | }, 11 | 'transactions': [ 12 | { 13 | 'label': _('User Accounts and Groups'), 14 | 'items': ['User Account', 'User Group'] 15 | }, 16 | { 17 | 'label': _('Software Instances'), 18 | 'items': ['Software Instance'] 19 | }, 20 | { 21 | 'label': _('Configuration Items & Solutions'), 22 | 'items': ['Configuration Item', 'Solution'] 23 | }, 24 | { 25 | 'label': _('Support'), 26 | 'items': ['Issue','IT Backup'] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution/test_solution.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Solution", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Solution 13 | () => frappe.tests.make('Solution', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution/test_solution.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestSolution(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution_multiselect/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/solution_multiselect/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution_multiselect/solution_multiselect.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2020-09-10 00:38:09.870627", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "solutions" 8 | ], 9 | "fields": [ 10 | { 11 | "fieldname": "solutions", 12 | "fieldtype": "Link", 13 | "in_list_view": 1, 14 | "label": "Solutions", 15 | "options": "Solution" 16 | } 17 | ], 18 | "istable": 1, 19 | "modified": "2020-10-08 10:40:30.722912", 20 | "modified_by": "Administrator", 21 | "module": "IT Management", 22 | "name": "Solution Multiselect", 23 | "owner": "wolfram.schmidt@tueit.de", 24 | "permissions": [], 25 | "quick_entry": 1, 26 | "sort_field": "modified", 27 | "sort_order": "DESC", 28 | "track_changes": 1 29 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution_multiselect/solution_multiselect.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class SolutionMultiselect(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution_table/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/solution_table/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution_table/solution_table.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2019-02-26 19:46:41.526577", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "note", 8 | "solution", 9 | "status", 10 | "customer" 11 | ], 12 | "fields": [ 13 | { 14 | "fieldname": "note", 15 | "fieldtype": "Small Text", 16 | "in_list_view": 1, 17 | "label": "Note" 18 | }, 19 | { 20 | "fieldname": "solution", 21 | "fieldtype": "Link", 22 | "in_list_view": 1, 23 | "label": "Solution", 24 | "options": "Solution", 25 | "reqd": 1, 26 | "set_only_once": 1 27 | }, 28 | { 29 | "fieldname": "customer", 30 | "fieldtype": "Link", 31 | "hidden": 1, 32 | "label": "Customer", 33 | "options": "Customer" 34 | }, 35 | { 36 | "fetch_from": "solution.status", 37 | "fieldname": "status", 38 | "fieldtype": "Data", 39 | "in_list_view": 1, 40 | "label": "Status", 41 | "read_only": 1 42 | } 43 | ], 44 | "istable": 1, 45 | "modified": "2020-11-18 16:38:39.989420", 46 | "modified_by": "wolfram.schmidt@tueit.de", 47 | "module": "IT Management", 48 | "name": "Solution Table", 49 | "owner": "Administrator", 50 | "permissions": [], 51 | "quick_entry": 1, 52 | "sort_field": "modified", 53 | "sort_order": "DESC", 54 | "track_changes": 1 55 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution_table/solution_table.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class SolutionTable(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution_type/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/solution_type/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution_type/solution_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Solution Type', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution_type/solution_type.json: -------------------------------------------------------------------------------- 1 | { 2 | "autoname": "field:title", 3 | "creation": "2019-06-24 17:58:42.432056", 4 | "doctype": "DocType", 5 | "editable_grid": 1, 6 | "engine": "InnoDB", 7 | "field_order": [ 8 | "title", 9 | "section_break_2", 10 | "description" 11 | ], 12 | "fields": [ 13 | { 14 | "fieldname": "title", 15 | "fieldtype": "Data", 16 | "in_list_view": 1, 17 | "label": "Title", 18 | "reqd": 1, 19 | "unique": 1 20 | }, 21 | { 22 | "fieldname": "section_break_2", 23 | "fieldtype": "Section Break" 24 | }, 25 | { 26 | "fieldname": "description", 27 | "fieldtype": "Text Editor", 28 | "label": "Description" 29 | } 30 | ], 31 | "modified": "2019-10-18 15:41:43.729061", 32 | "modified_by": "Administrator", 33 | "module": "IT Management", 34 | "name": "Solution Type", 35 | "owner": "Administrator", 36 | "permissions": [ 37 | { 38 | "create": 1, 39 | "delete": 1, 40 | "email": 1, 41 | "export": 1, 42 | "print": 1, 43 | "read": 1, 44 | "report": 1, 45 | "role": "System Manager", 46 | "share": 1, 47 | "write": 1 48 | }, 49 | { 50 | "email": 1, 51 | "export": 1, 52 | "print": 1, 53 | "read": 1, 54 | "report": 1, 55 | "role": "Support Team", 56 | "share": 1 57 | } 58 | ], 59 | "quick_entry": 1, 60 | "sort_field": "modified", 61 | "sort_order": "DESC", 62 | "track_changes": 1 63 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution_type/solution_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class SolutionType(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution_type/solution_type_dashboard.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from frappe import _ 3 | 4 | 5 | def get_data(): 6 | return { 7 | 'fieldname': 'solution_type', 8 | 'non_standard_fieldnames': { 9 | 'Solution': 'type' 10 | }, 11 | 'transactions': [ 12 | { 13 | 'label': _('Solutions'), 14 | 'items': ['Solution'] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution_type/test_solution_type.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Solution Type", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Solution Type 13 | () => frappe.tests.make('Solution Type', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/solution_type/test_solution_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestSolutionType(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/storage/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/storage/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/storage/storage.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class Storage(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/storage/storage_dashboard.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from frappe import _ 3 | 4 | 5 | def get_data(): 6 | return { 7 | 'fieldname': 'storage', 8 | 'non_standard_fieldnames': { 9 | 'Issue': 'dynamic_name' 10 | }, 11 | 'transactions': [ 12 | { 13 | 'label': _('Service'), 14 | 'items': ['Issue'] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/subnet/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/subnet/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/subnet/subnet.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Subnet', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/subnet/subnet.py: -------------------------------------------------------------------------------- 1 | 2 | from __future__ import unicode_literals 3 | import frappe 4 | from frappe.model.document import Document 5 | 6 | import re 7 | 8 | class Subnet(Document): 9 | def before_save(self): 10 | #Validate Subnet 11 | if self.subnet: 12 | match = re.match(r'(\d{0,3}\.){3}\d{0,3}\/\d\d$',self.subnet) 13 | if not match: 14 | fex = frappe.exceptions.ValidationError("Subnet does not conform to CIDR (e.g. 192.168.1.0/24") 15 | frappe.throw(title='Validation',msg='Subnet does not conform to CIDR (e.g. 192.168.1.0/24',exc=fex) 16 | 17 | pass -------------------------------------------------------------------------------- /it_management/it_management/doctype/subnet/subnet_dashboard.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from frappe import _ 3 | 4 | 5 | def get_data(): 6 | return { 7 | 'fieldname': 'subnet', 8 | 'non_standard_fieldnames': { 9 | 'Issue': 'dynamic_name' 10 | }, 11 | 'transactions': [ 12 | { 13 | 'label': _('Networking'), 14 | 'items': ['Local Area Network', 'Network Interface Controller'] 15 | }, 16 | { 17 | 'label': _('Service'), 18 | 'items': ['Issue'] 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/subnet/test_subnet.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Subnet", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Subnet 13 | () => frappe.tests.make('Subnet', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/subnet/test_subnet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestSubnet(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/subnet_table/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/subnet_table/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/subnet_table/subnet_table.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2020-03-21 21:14:51.679657", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "general_section", 8 | "subnet", 9 | "dhcp", 10 | "dhcp_range", 11 | "dns_1", 12 | "dns_2", 13 | "gateway", 14 | "column_break_8", 15 | "note", 16 | "ntp_section", 17 | "ntp_1", 18 | "ntp_2", 19 | "vlan_section", 20 | "vlan_tag", 21 | "vlan_host", 22 | "customer" 23 | ], 24 | "fields": [ 25 | { 26 | "fieldname": "general_section", 27 | "fieldtype": "Section Break" 28 | }, 29 | { 30 | "fieldname": "subnet", 31 | "fieldtype": "Link", 32 | "in_list_view": 1, 33 | "label": "Subnet", 34 | "options": "Subnet", 35 | "set_only_once": 1 36 | }, 37 | { 38 | "fetch_from": "subnet.dhcp", 39 | "fieldname": "dhcp", 40 | "fieldtype": "Data", 41 | "label": "DHCP", 42 | "read_only": 1 43 | }, 44 | { 45 | "fetch_from": "subnet.dhcp_range", 46 | "fieldname": "dhcp_range", 47 | "fieldtype": "Small Text", 48 | "label": "DHCP Range", 49 | "read_only": 1 50 | }, 51 | { 52 | "fetch_from": "subnet.dns_1", 53 | "fieldname": "dns_1", 54 | "fieldtype": "Data", 55 | "label": "DNS 1", 56 | "read_only": 1 57 | }, 58 | { 59 | "fetch_from": "subnet.dns_2", 60 | "fieldname": "dns_2", 61 | "fieldtype": "Data", 62 | "label": "DNS 2", 63 | "read_only": 1 64 | }, 65 | { 66 | "fetch_from": "subnet.gateway", 67 | "fieldname": "gateway", 68 | "fieldtype": "Data", 69 | "label": "Gateway", 70 | "read_only": 1 71 | }, 72 | { 73 | "fieldname": "column_break_8", 74 | "fieldtype": "Column Break" 75 | }, 76 | { 77 | "fetch_from": "subnet.note", 78 | "fieldname": "note", 79 | "fieldtype": "Data", 80 | "in_list_view": 1, 81 | "label": "Note", 82 | "read_only": 1 83 | }, 84 | { 85 | "fieldname": "ntp_section", 86 | "fieldtype": "Section Break" 87 | }, 88 | { 89 | "fetch_from": "subnet.ntp_1", 90 | "fieldname": "ntp_1", 91 | "fieldtype": "Data", 92 | "label": "NTP 1", 93 | "read_only": 1 94 | }, 95 | { 96 | "fetch_from": "subnet.ntp_2", 97 | "fieldname": "ntp_2", 98 | "fieldtype": "Data", 99 | "label": "NTP 2", 100 | "read_only": 1 101 | }, 102 | { 103 | "fieldname": "vlan_section", 104 | "fieldtype": "Section Break" 105 | }, 106 | { 107 | "fetch_from": "subnet.vlan_tag", 108 | "fieldname": "vlan_tag", 109 | "fieldtype": "Data", 110 | "in_list_view": 1, 111 | "label": "VLAN Tag", 112 | "read_only": 1 113 | }, 114 | { 115 | "fetch_from": "subnet.vlan_host", 116 | "fieldname": "vlan_host", 117 | "fieldtype": "Data", 118 | "label": "VLAN Host", 119 | "read_only": 1 120 | }, 121 | { 122 | "fieldname": "customer", 123 | "fieldtype": "Link", 124 | "hidden": 1, 125 | "label": "Customer", 126 | "options": "Customer" 127 | } 128 | ], 129 | "istable": 1, 130 | "modified": "2020-03-29 22:52:22.802209", 131 | "modified_by": "Administrator", 132 | "module": "IT Management", 133 | "name": "Subnet Table", 134 | "owner": "wolfram.schmidt@tueit.de", 135 | "permissions": [], 136 | "quick_entry": 1, 137 | "sort_field": "modified", 138 | "sort_order": "DESC", 139 | "track_changes": 1 140 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/subnet_table/subnet_table.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class SubnetTable(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/task_checklist/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/task_checklist/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/task_checklist/task_checklist.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class TaskChecklist(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/task_configuration_item_table/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/task_configuration_item_table/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/task_configuration_item_table/task_configuration_item_table.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class TaskConfigurationItemTable(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/task_multiselect/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/task_multiselect/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/task_multiselect/task_multiselect.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2020-11-12 09:47:48.999033", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "task" 8 | ], 9 | "fields": [ 10 | { 11 | "fieldname": "task", 12 | "fieldtype": "Link", 13 | "in_list_view": 1, 14 | "label": "Task", 15 | "options": "Task" 16 | } 17 | ], 18 | "istable": 1, 19 | "modified": "2020-11-12 09:47:48.999033", 20 | "modified_by": "Administrator", 21 | "module": "IT Management", 22 | "name": "Task Multiselect", 23 | "owner": "Administrator", 24 | "permissions": [], 25 | "quick_entry": 1, 26 | "sort_field": "modified", 27 | "sort_order": "DESC", 28 | "track_changes": 1 29 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/task_multiselect/task_multiselect.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class TaskMultiselect(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/trip/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/trip/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/trip/test_trip.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestTrip(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/trip/trip.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Trip', { 5 | setup: function(frm){ 6 | }, 7 | onload: function(frm) { 8 | if(frm.is_new()){ 9 | frappe.model.get_value('User',user,["full_name"], function(full_name){ 10 | frappe.model.get_value('Employee',{'employee_name':full_name.full_name},["name"],function(emp_name){ 11 | frm.set_value("employee",emp_name.name); 12 | }); 13 | }); 14 | } 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/trip/trip.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class Trip(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_account/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/user_account/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_account/test_user_account.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: User Account", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new User Account 13 | () => frappe.tests.make('User Account', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_account/test_user_account.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestUserAccount(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_account/user_account.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('User Account', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_account/user_account.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class UserAccount(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_account/user_account_dashboard.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from frappe import _ 3 | 4 | 5 | def get_data(): 6 | return { 7 | 'fieldname': 'user_account', 8 | 'non_standard_fieldnames': { 9 | 'Issue': 'dynamic_name' 10 | }, 11 | 'transactions': [ 12 | { 13 | 'label': _('Used in'), 14 | 'items': ['Solution', 'User Account', 'User Group', 'Licence'] 15 | }, 16 | { 17 | 'label': _('Service'), 18 | 'items': ['Issue'] 19 | }, 20 | { 21 | 'label': _('Project'), 22 | 'items': ['Task'] 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_account_table/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/user_account_table/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_account_table/user_account_table.json: -------------------------------------------------------------------------------- 1 | { 2 | "actions": [], 3 | "creation": "2019-03-01 22:32:20.622090", 4 | "doctype": "DocType", 5 | "editable_grid": 1, 6 | "engine": "InnoDB", 7 | "field_order": [ 8 | "note", 9 | "user_account" 10 | ], 11 | "fields": [ 12 | { 13 | "fieldname": "note", 14 | "fieldtype": "Data", 15 | "in_list_view": 1, 16 | "label": "Note" 17 | }, 18 | { 19 | "fieldname": "user_account", 20 | "fieldtype": "Link", 21 | "in_list_view": 1, 22 | "label": "User Account", 23 | "options": "User Account" 24 | } 25 | ], 26 | "istable": 1, 27 | "links": [], 28 | "modified": "2020-01-11 09:54:09.999834", 29 | "modified_by": "Administrator", 30 | "module": "IT Management", 31 | "name": "User Account Table", 32 | "owner": "Administrator", 33 | "permissions": [], 34 | "quick_entry": 1, 35 | "sort_field": "modified", 36 | "sort_order": "DESC", 37 | "track_changes": 1 38 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_account_table/user_account_table.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class UserAccountTable(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_account_type/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/user_account_type/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_account_type/test_user_account_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestUserAccountType(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_account_type/user_account_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('User Account Type', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_account_type/user_account_type.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_rename": 1, 3 | "autoname": "field:title", 4 | "creation": "2020-03-05 00:12:49.550370", 5 | "doctype": "DocType", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "title", 10 | "customer" 11 | ], 12 | "fields": [ 13 | { 14 | "fieldname": "title", 15 | "fieldtype": "Data", 16 | "label": "Title", 17 | "unique": 1 18 | }, 19 | { 20 | "fieldname": "customer", 21 | "fieldtype": "Link", 22 | "hidden": 1, 23 | "label": "Customer", 24 | "options": "Customer" 25 | } 26 | ], 27 | "modified": "2021-06-10 16:21:46.947298", 28 | "modified_by": "Administrator", 29 | "module": "IT Management", 30 | "name": "User Account Type", 31 | "owner": "wolfram.schmidt@tueit.de", 32 | "permissions": [ 33 | { 34 | "create": 1, 35 | "delete": 1, 36 | "email": 1, 37 | "export": 1, 38 | "print": 1, 39 | "read": 1, 40 | "report": 1, 41 | "role": "System Manager", 42 | "share": 1, 43 | "write": 1 44 | }, 45 | { 46 | "create": 1, 47 | "delete": 1, 48 | "email": 1, 49 | "export": 1, 50 | "print": 1, 51 | "read": 1, 52 | "report": 1, 53 | "role": "Support Team", 54 | "share": 1, 55 | "write": 1 56 | } 57 | ], 58 | "quick_entry": 1, 59 | "sort_field": "modified", 60 | "sort_order": "DESC", 61 | "track_changes": 1 62 | } 63 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_account_type/user_account_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class UserAccountType(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_group/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/user_group/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_group/test_user_group.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: User Group", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new User Group 13 | () => frappe.tests.make('User Group', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_group/test_user_group.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestUserGroup(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_group/user_group.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('User Group', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_group/user_group.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_rename": 1, 3 | "autoname": "format:{user_group_type} {title} {customer_name}", 4 | "creation": "2019-02-18 22:32:00.349783", 5 | "doctype": "DocType", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "title", 10 | "general_section", 11 | "customer", 12 | "customer_name", 13 | "it_landscape", 14 | "column_break_6", 15 | "solution", 16 | "user_account", 17 | "user_group_type", 18 | "desription", 19 | "user_accounts" 20 | ], 21 | "fields": [ 22 | { 23 | "fieldname": "solution", 24 | "fieldtype": "Link", 25 | "label": "Solution", 26 | "options": "Solution" 27 | }, 28 | { 29 | "fieldname": "user_accounts", 30 | "fieldtype": "Data", 31 | "hidden": 1, 32 | "label": "User Accounts" 33 | }, 34 | { 35 | "fieldname": "title", 36 | "fieldtype": "Data", 37 | "label": "Title" 38 | }, 39 | { 40 | "fieldname": "customer", 41 | "fieldtype": "Link", 42 | "label": "Customer", 43 | "options": "Customer" 44 | }, 45 | { 46 | "bold": 1, 47 | "fetch_from": "customer.customer_name", 48 | "fieldname": "customer_name", 49 | "fieldtype": "Data", 50 | "label": "Customer Name", 51 | "read_only": 1 52 | }, 53 | { 54 | "fieldname": "desription", 55 | "fieldtype": "Small Text", 56 | "label": "Desription" 57 | }, 58 | { 59 | "fieldname": "user_group_type", 60 | "fieldtype": "Link", 61 | "label": "User Group Type", 62 | "options": "User Group Type" 63 | }, 64 | { 65 | "fieldname": "user_account", 66 | "fieldtype": "Link", 67 | "label": "User Account", 68 | "options": "User Account" 69 | }, 70 | { 71 | "fieldname": "it_landscape", 72 | "fieldtype": "Link", 73 | "in_list_view": 1, 74 | "label": "IT Landscape", 75 | "options": "IT Landscape" 76 | }, 77 | { 78 | "fieldname": "general_section", 79 | "fieldtype": "Section Break", 80 | "label": "General" 81 | }, 82 | { 83 | "fieldname": "column_break_6", 84 | "fieldtype": "Column Break" 85 | } 86 | ], 87 | "modified": "2022-06-10 17:42:17.666176", 88 | "modified_by": "wolfram.schmidt@tueit.de", 89 | "module": "IT Management", 90 | "name": "User Group", 91 | "owner": "wolfram.schmidt@tueit.de", 92 | "permissions": [ 93 | { 94 | "create": 1, 95 | "delete": 1, 96 | "email": 1, 97 | "export": 1, 98 | "print": 1, 99 | "read": 1, 100 | "report": 1, 101 | "role": "System Manager", 102 | "share": 1, 103 | "write": 1 104 | }, 105 | { 106 | "create": 1, 107 | "delete": 1, 108 | "email": 1, 109 | "export": 1, 110 | "print": 1, 111 | "read": 1, 112 | "report": 1, 113 | "role": "Support Team", 114 | "share": 1, 115 | "write": 1 116 | } 117 | ], 118 | "sort_field": "modified", 119 | "sort_order": "DESC", 120 | "track_changes": 1 121 | } 122 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_group/user_group.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class UserGroup(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_group/user_group_dashboard.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from frappe import _ 3 | 4 | 5 | def get_data(): 6 | return { 7 | 'fieldname': 'user_group', 8 | 'non_standard_fieldnames': { 9 | 'Issue': 'dynamic_name' 10 | }, 11 | 'transactions': [ 12 | { 13 | 'label': _('Service'), 14 | 'items': ['Issue', 'User Account'] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_group_table/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/user_group_table/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_group_table/user_group_table.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2020-02-21 16:46:00.397597", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "note", 8 | "user_group", 9 | "customer" 10 | ], 11 | "fields": [ 12 | { 13 | "fieldname": "note", 14 | "fieldtype": "Data", 15 | "in_list_view": 1, 16 | "label": "Note" 17 | }, 18 | { 19 | "fieldname": "user_group", 20 | "fieldtype": "Link", 21 | "in_list_view": 1, 22 | "label": "User Group", 23 | "options": "User Group" 24 | }, 25 | { 26 | "fieldname": "customer", 27 | "fieldtype": "Link", 28 | "hidden": 1, 29 | "label": "Customer", 30 | "options": "Customer" 31 | } 32 | ], 33 | "istable": 1, 34 | "modified": "2020-03-21 23:13:26.528021", 35 | "modified_by": "wolfram.schmidt@tueit.de", 36 | "module": "IT Management", 37 | "name": "User Group Table", 38 | "owner": "Administrator", 39 | "permissions": [], 40 | "quick_entry": 1, 41 | "sort_field": "modified", 42 | "sort_order": "DESC", 43 | "track_changes": 1 44 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_group_table/user_group_table.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class UserGroupTable(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_group_type/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/doctype/user_group_type/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_group_type/test_user_group_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestUserGroupType(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_group_type/user_group_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('User Group Type', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_group_type/user_group_type.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_rename": 1, 3 | "autoname": "field:title", 4 | "creation": "2020-02-21 16:28:54.415185", 5 | "doctype": "DocType", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "title", 10 | "lft", 11 | "rgt", 12 | "is_group", 13 | "old_parent", 14 | "parent_user_group_type" 15 | ], 16 | "fields": [ 17 | { 18 | "fieldname": "title", 19 | "fieldtype": "Data", 20 | "label": "Title", 21 | "unique": 1 22 | }, 23 | { 24 | "fieldname": "lft", 25 | "fieldtype": "Int", 26 | "hidden": 1, 27 | "label": "Left", 28 | "no_copy": 1, 29 | "read_only": 1 30 | }, 31 | { 32 | "fieldname": "rgt", 33 | "fieldtype": "Int", 34 | "hidden": 1, 35 | "label": "Right", 36 | "no_copy": 1, 37 | "read_only": 1 38 | }, 39 | { 40 | "default": "0", 41 | "fieldname": "is_group", 42 | "fieldtype": "Check", 43 | "label": "Is Group" 44 | }, 45 | { 46 | "fieldname": "old_parent", 47 | "fieldtype": "Link", 48 | "label": "Old Parent", 49 | "options": "User Group Type" 50 | }, 51 | { 52 | "fieldname": "parent_user_group_type", 53 | "fieldtype": "Link", 54 | "label": "Parent User Group Type", 55 | "options": "User Group Type" 56 | } 57 | ], 58 | "modified": "2020-02-21 16:30:39.491695", 59 | "modified_by": "Administrator", 60 | "module": "IT Management", 61 | "name": "User Group Type", 62 | "nsm_parent_field": "parent_user_group_type", 63 | "owner": "Administrator", 64 | "permissions": [ 65 | { 66 | "create": 1, 67 | "delete": 1, 68 | "email": 1, 69 | "export": 1, 70 | "print": 1, 71 | "read": 1, 72 | "report": 1, 73 | "role": "System Manager", 74 | "share": 1, 75 | "write": 1 76 | } 77 | ], 78 | "quick_entry": 1, 79 | "sort_field": "modified", 80 | "sort_order": "DESC", 81 | "track_changes": 1 82 | } -------------------------------------------------------------------------------- /it_management/it_management/doctype/user_group_type/user_group_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2020, IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups, and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class UserGroupType(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /it_management/it_management/print_format/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/print_format/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/print_format/ihk_ausbildungsbericht/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/it_management/print_format/ihk_ausbildungsbericht/__init__.py -------------------------------------------------------------------------------- /it_management/it_management/server_script/delete_custom_fields.py: -------------------------------------------------------------------------------- 1 | import frappe 2 | 3 | def delete_custom_fields(): 4 | custom_fields = { 5 | "Task": [ 6 | "it_landscape", 7 | "customer", 8 | "user_account", 9 | "configuration_item", 10 | "github_sync_id", 11 | "it_management_table", 12 | "section_break_42" 13 | ], 14 | "Delivery Note": ["issue"], 15 | "Issue": [ 16 | "it_landscape", 17 | "filter_based_on_customer", 18 | "full_customer_name", 19 | "task", 20 | "contact_html", 21 | "configuration_item", 22 | "it_management_table", 23 | "section_break_43" 24 | ], 25 | "Maintenance Schedule" : [ 26 | "it_management_table", 27 | "section_break_9" 28 | ], 29 | "IT Service Report" : [ 30 | "employee_name" 31 | ], 32 | "Project" : [ 33 | "it_landscape", 34 | "customer_name", 35 | "configuration_item", 36 | "github_sync_id" 37 | ] 38 | } 39 | 40 | for doctype, fields in custom_fields.items(): 41 | for fieldname in fields: 42 | custom_field_name = f"{doctype}-{fieldname}" 43 | try: 44 | frappe.delete_doc("Custom Field", custom_field_name, force=True) 45 | print(f"Custom Field {custom_field_name} deleted") 46 | except frappe.DoesNotExistError: 47 | print(f"Custom Field {custom_field_name} does not exist") -------------------------------------------------------------------------------- /it_management/it_management/workspace/it_management/it_management.json: -------------------------------------------------------------------------------- 1 | { 2 | "charts": [], 3 | "content": "[{\"id\":\"EkdyV3N5Ie\",\"type\":\"header\",\"data\":{\"text\":\"IT Management\",\"col\":12}},{\"id\":\"rwNPVL-p3-\",\"type\":\"paragraph\",\"data\":{\"text\":\"Welcome to IT Management App. An app that is built on frappe and can be run without using ERPNext. if desired can be actived for ERPNext thought setting. You will find that each Doctype created for IT Management app carries the prefix ITM to make sure that name duplicates are avoided that you can quickly identify you are navigating in IT Management app.\",\"col\":12}},{\"id\":\"lVIHnh6pht\",\"type\":\"paragraph\",\"data\":{\"text\":\"Your Overall IT overview starts with the ITM IT Landscape. A IT Landscape is linked in the most other DocTypes of this app and will help you nagivate to all the different doctype availableto you and your IT Landscape.\",\"col\":12}},{\"id\":\"0vWI7JIgVu\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"ITM Landscape\",\"col\":3}},{\"id\":\"MsrvszhZSu\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"ITM Host Item\",\"col\":3}}]", 4 | "creation": "2024-01-16 04:51:02.486516", 5 | "custom_blocks": [], 6 | "docstatus": 0, 7 | "doctype": "Workspace", 8 | "for_user": "", 9 | "hide_custom": 0, 10 | "icon": "setting-gear", 11 | "idx": 0, 12 | "is_hidden": 0, 13 | "label": "IT Management", 14 | "links": [], 15 | "modified": "2024-01-30 10:26:57.444627", 16 | "modified_by": "Administrator", 17 | "module": "IT Management", 18 | "name": "IT Management", 19 | "number_cards": [], 20 | "owner": "Administrator", 21 | "parent_page": "", 22 | "public": 1, 23 | "quick_lists": [], 24 | "roles": [], 25 | "sequence_id": 39.0, 26 | "shortcuts": [ 27 | { 28 | "color": "Grey", 29 | "doc_view": "List", 30 | "label": "ITM Host Item", 31 | "link_to": "ITM Host Item", 32 | "type": "DocType" 33 | }, 34 | { 35 | "color": "Grey", 36 | "doc_view": "List", 37 | "label": "ITM Landscape", 38 | "link_to": "ITM Landscape", 39 | "type": "DocType" 40 | } 41 | ], 42 | "title": "IT Management" 43 | } -------------------------------------------------------------------------------- /it_management/modules.txt: -------------------------------------------------------------------------------- 1 | IT Management -------------------------------------------------------------------------------- /it_management/patches.txt: -------------------------------------------------------------------------------- 1 | it_management.patches.0_1.task_checklist 2 | it_management.patches.0_1.configuration_item_table 3 | it_management.patches.0_2.it_ticket 4 | it_management.patches.0_2.ci_type 5 | it_management.patches.0_2.solution_type 6 | it_management.patches.0_3.task_checklist 7 | -------------------------------------------------------------------------------- /it_management/patches/0_1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/patches/0_1/__init__.py -------------------------------------------------------------------------------- /it_management/patches/0_1/configuration_item_table.py: -------------------------------------------------------------------------------- 1 | import frappe 2 | from frappe.exceptions import DoesNotExistError 3 | 4 | """ 5 | Column `linked_configuration_item` in `Configuration Item Table` has been renamed to `configuration_item` 6 | 7 | UPDATE `tabConfiguration Item Table` 8 | SET configuration_item = linked_configuration_item 9 | WHERE linked_configuration_item is not NULL and configuration_item is NULL 10 | """ 11 | 12 | def execute(): 13 | try: 14 | frappe.get_last_doc("Configuration Item Table") 15 | except DoesNotExistError: 16 | return 17 | 18 | filters={'linked_configuration_item':("!=", ""), 'configuration_item':("=", "")} 19 | cit_list = frappe.get_list("Configuration Item Table", filters=filters) 20 | 21 | for name in cit_list: 22 | tl = frappe.get_doc("Configuration Item Table", name) 23 | tl.configuration_item = tl.linked_configuration_item 24 | tl.save() 25 | -------------------------------------------------------------------------------- /it_management/patches/0_1/task_checklist.py: -------------------------------------------------------------------------------- 1 | import frappe 2 | from frappe.exceptions import DoesNotExistError 3 | 4 | """ 5 | `checklist_table` in `Task` has been renamed to `task_checklist` 6 | """ 7 | 8 | def execute(): 9 | try: 10 | frappe.get_last_doc("Task Checklist") 11 | except DoesNotExistError: 12 | return 13 | 14 | tc_list = frappe.get_list("Task Checklist", filters={'parentfield':'checklist_table'}) 15 | 16 | for name in tc_list: 17 | tl = frappe.get_doc("Task Checklist", name) 18 | tl.parentfield = 'task_checklist' 19 | tl.save() 20 | 21 | -------------------------------------------------------------------------------- /it_management/patches/0_2/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/patches/0_2/__init__.py -------------------------------------------------------------------------------- /it_management/patches/0_2/ci_type.py: -------------------------------------------------------------------------------- 1 | """ 2 | Create a Configuration Item Type for each option of the former Selection. 3 | Reason: Configuration Item -> Type changed from Select to Link. 4 | """ 5 | import frappe 6 | from frappe.exceptions import DoesNotExistError 7 | 8 | 9 | def execute(): 10 | ci_types = [ 11 | "Client", 12 | "Hypervisor", 13 | "Infrastructure", 14 | "Machine, Modality", 15 | "Network Device", 16 | "Peripheral", 17 | "Phone", 18 | "Printer, Scanner, Fax", 19 | "Server", 20 | "Share", 21 | "Sonstiges" 22 | ] 23 | 24 | frappe.reload_doc('it_management', 'doctype', 'configuration_item_type') 25 | 26 | for name in ci_types: 27 | try: 28 | ci_type = frappe.get_doc({ 29 | "doctype": "Configuration Item Type", 30 | "title": name 31 | }) 32 | ci_type.save() 33 | except frappe.DuplicateEntryError: 34 | continue 35 | -------------------------------------------------------------------------------- /it_management/patches/0_2/solution_type.py: -------------------------------------------------------------------------------- 1 | """ 2 | Create a Solution Type for each option of the former Selection. 3 | Reason: Solution -> Type changed from Select to Link. 4 | """ 5 | import frappe 6 | 7 | 8 | def execute(): 9 | solution_types = [ 10 | "Network", 11 | "Prozess", 12 | "Backup", 13 | "Industry related", 14 | "Other" 15 | ] 16 | 17 | frappe.reload_doc('it_management', 'doctype', 'solution_type') 18 | 19 | for name in solution_types: 20 | try: 21 | solution_type = frappe.get_doc({ 22 | "doctype": "Solution Type", 23 | "title": name 24 | }) 25 | solution_type.save() 26 | except frappe.DuplicateEntryError: 27 | continue 28 | -------------------------------------------------------------------------------- /it_management/patches/0_3/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/patches/0_3/__init__.py -------------------------------------------------------------------------------- /it_management/patches/0_3/task_checklist.py: -------------------------------------------------------------------------------- 1 | """Migrate Task Checklist to IT Management Table.""" 2 | import frappe 3 | from frappe.exceptions import DoesNotExistError 4 | 5 | 6 | def execute(): 7 | try: 8 | frappe.get_last_doc("Task Checklist") 9 | except DoesNotExistError: 10 | return 11 | 12 | filters = {'parenttype':("=", "Task")} 13 | task_checklist = frappe.get_all("Task Checklist", filters=filters, fields="*") 14 | 15 | for checklist_row in task_checklist: 16 | try: 17 | task = frappe.get_doc("Task", checklist_row['parent']) 18 | except DoesNotExistError: 19 | continue 20 | 21 | task.append('it_management_table', { 22 | 'idx': checklist_row['idx'], 23 | 'note': checklist_row['custom'], 24 | 'dynamic_type': 'Configuration Item', 25 | 'dynamic_name': checklist_row['configuration_item'], 26 | 'checked': checklist_row['check'] 27 | }) 28 | task.save() 29 | -------------------------------------------------------------------------------- /it_management/patches/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/patches/__init__.py -------------------------------------------------------------------------------- /it_management/public/build.json: -------------------------------------------------------------------------------- 1 | { 2 | "js/itm_utils.js": [ 3 | "public/js/itm_utils.js" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /it_management/templates/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/templates/__init__.py -------------------------------------------------------------------------------- /it_management/templates/pages/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/templates/pages/__init__.py -------------------------------------------------------------------------------- /it_management/templates/pages/__pycache__/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/it_management/templates/pages/__pycache__/__init__.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | frappe -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from setuptools import setup, find_packages 3 | import re, ast 4 | 5 | try: # for pip >= 10 6 | from pip._internal.req import parse_requirements 7 | except ImportError: # for pip <= 9.0.3 8 | from pip.req import parse_requirements 9 | 10 | # get version from __version__ variable in it_management/__init__.py 11 | _version_re = re.compile(r'__version__\s+=\s+(.*)') 12 | 13 | with open('it_management/__init__.py', 'rb') as f: 14 | version = str(ast.literal_eval(_version_re.search( 15 | f.read().decode('utf-8')).group(1))) 16 | 17 | with open('requirements.txt') as f: 18 | install_requires = f.read().strip().split('\n') 19 | 20 | requirements = parse_requirements("requirements.txt", session="") 21 | 22 | setup( 23 | name='it_management', 24 | version=version, 25 | description='Management von IT-Bausteinen. Hierzu gehören', 26 | author='IT-Geräte und IT-Lösungen wie Server, Rechner, Netzwerke und E-Mailserver sowie auch Backups,', 27 | author_email='Dienstleistungsverträge, Accounts und Internetleistungen.info@tueit.de', 28 | packages=find_packages(), 29 | zip_safe=False, 30 | include_package_data=True, 31 | install_requires=install_requires 32 | 33 | #This does throw errors while updating: 34 | #install_requires=[str(ir.req) for ir in requirements], 35 | #dependency_links=[str(ir._link) for ir in requirements if ir._link][str(ir.req) for ir in requirements], 36 | ) 37 | -------------------------------------------------------------------------------- /test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phamos-eu/it_management/7fc1ad30dbd925f6aacd8b55b978e29752d300c7/test --------------------------------------------------------------------------------