otrs-somconnexio 0.4.4__py2.py3-none-any.whl → 0.7.3__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- otrs_somconnexio/client.py +110 -42
- otrs_somconnexio/exceptions.py +44 -11
- otrs_somconnexio/otrs_models/abstract_article.py +3 -0
- otrs_somconnexio/otrs_models/adsl_data.py +7 -37
- otrs_somconnexio/otrs_models/adsl_dynamic_fields.py +5 -4
- otrs_somconnexio/otrs_models/adsl_ticket.py +9 -5
- otrs_somconnexio/otrs_models/configurations/changes/__init__.py +0 -0
- otrs_somconnexio/otrs_models/configurations/changes/add_data.py +13 -0
- otrs_somconnexio/otrs_models/configurations/changes/change_email.py +16 -0
- otrs_somconnexio/otrs_models/configurations/changes/change_iban.py +8 -0
- otrs_somconnexio/otrs_models/configurations/changes/change_owner.py +19 -0
- otrs_somconnexio/otrs_models/configurations/changes/change_pack.py +6 -0
- otrs_somconnexio/otrs_models/configurations/changes/change_shared_bond.py +7 -0
- otrs_somconnexio/otrs_models/configurations/changes/change_tariff.py +29 -0
- otrs_somconnexio/otrs_models/configurations/changes/change_tariff_adsl.py +20 -0
- otrs_somconnexio/otrs_models/configurations/changes/change_tariff_fiber.py +11 -0
- otrs_somconnexio/otrs_models/configurations/provision/__init__.py +0 -0
- otrs_somconnexio/otrs_models/configurations/{adsl_ticket.py → provision/adsl_ticket.py} +2 -2
- otrs_somconnexio/otrs_models/configurations/{fiber_ticket.py → provision/fiber_ticket.py} +6 -3
- otrs_somconnexio/otrs_models/configurations/provision/mobile_ticket.py +44 -0
- otrs_somconnexio/otrs_models/configurations/provision/router_4G_ticket.py +8 -0
- otrs_somconnexio/otrs_models/configurations/provision/switchboard_ticket.py +10 -0
- otrs_somconnexio/otrs_models/configurations/querys/__init__.py +0 -0
- otrs_somconnexio/otrs_models/configurations/querys/check_coverage.py +16 -0
- otrs_somconnexio/otrs_models/configurations/querys/we_call_you.py +26 -0
- otrs_somconnexio/otrs_models/coverage/adsl.py +1 -1
- otrs_somconnexio/otrs_models/coverage/asociatel_fiber.py +6 -0
- otrs_somconnexio/otrs_models/coverage/mm_fiber.py +7 -0
- otrs_somconnexio/otrs_models/coverage/orange_fiber.py +5 -0
- otrs_somconnexio/otrs_models/coverage/vdf_fiber.py +8 -0
- otrs_somconnexio/otrs_models/coverage_article.py +20 -4
- otrs_somconnexio/otrs_models/coverage_ticket.py +1 -0
- otrs_somconnexio/otrs_models/customer_data.py +15 -3
- otrs_somconnexio/otrs_models/customer_user.py +3 -9
- otrs_somconnexio/otrs_models/fiber_data.py +17 -33
- otrs_somconnexio/otrs_models/fiber_dynamic_fields.py +58 -4
- otrs_somconnexio/otrs_models/fiber_ticket.py +9 -5
- otrs_somconnexio/otrs_models/internet_data.py +79 -0
- otrs_somconnexio/otrs_models/internet_dynamic_fields.py +65 -26
- otrs_somconnexio/otrs_models/mobile_data.py +49 -5
- otrs_somconnexio/otrs_models/mobile_dynamic_fields.py +50 -8
- otrs_somconnexio/otrs_models/mobile_ticket.py +20 -4
- otrs_somconnexio/otrs_models/process_ticket/internet.py +40 -97
- otrs_somconnexio/otrs_models/process_ticket/mobile.py +63 -43
- otrs_somconnexio/otrs_models/process_ticket/process_ticket.py +74 -0
- otrs_somconnexio/otrs_models/providers.py +4 -3
- otrs_somconnexio/otrs_models/provision_article.py +7 -5
- otrs_somconnexio/otrs_models/provision_dynamic_fields.py +76 -11
- otrs_somconnexio/otrs_models/provision_ticket.py +52 -28
- otrs_somconnexio/otrs_models/responsible_data.py +6 -0
- otrs_somconnexio/otrs_models/router_4G_data.py +8 -0
- otrs_somconnexio/otrs_models/router_4G_dynamic_fields.py +9 -0
- otrs_somconnexio/otrs_models/router_4G_ticket.py +26 -0
- otrs_somconnexio/otrs_models/service.py +41 -12
- otrs_somconnexio/otrs_models/switchboard_data.py +58 -0
- otrs_somconnexio/otrs_models/switchboard_dynamic_fields.py +94 -0
- otrs_somconnexio/otrs_models/switchboard_header_data.py +18 -0
- otrs_somconnexio/otrs_models/switchboard_header_dynamic_fields.py +80 -0
- otrs_somconnexio/otrs_models/switchboard_header_ticket.py +30 -0
- otrs_somconnexio/otrs_models/switchboard_ticket.py +35 -0
- otrs_somconnexio/otrs_models/telecom_company.py +69 -69
- otrs_somconnexio/otrs_models/ticket_factory.py +34 -11
- otrs_somconnexio/otrs_models/ticket_types/__init__.py +0 -0
- otrs_somconnexio/otrs_models/ticket_types/add_data_ticket.py +36 -0
- otrs_somconnexio/otrs_models/ticket_types/base_change_tariff_ba_ticket.py +23 -0
- otrs_somconnexio/otrs_models/ticket_types/base_change_ticket.py +33 -0
- otrs_somconnexio/otrs_models/ticket_types/base_customer_ticket.py +24 -0
- otrs_somconnexio/otrs_models/ticket_types/base_ticket.py +147 -0
- otrs_somconnexio/otrs_models/ticket_types/change_email_ticket.py +40 -0
- otrs_somconnexio/otrs_models/ticket_types/change_iban_ticket.py +39 -0
- otrs_somconnexio/otrs_models/ticket_types/change_owner_ticket.py +132 -0
- otrs_somconnexio/otrs_models/ticket_types/change_pack_not_shared_data.py +36 -0
- otrs_somconnexio/otrs_models/ticket_types/change_personal_email_ticket.py +31 -0
- otrs_somconnexio/otrs_models/ticket_types/change_shared_bond_ticket.py +35 -0
- otrs_somconnexio/otrs_models/ticket_types/change_tariff_adsl_landline_ticket.py +30 -0
- otrs_somconnexio/otrs_models/ticket_types/change_tariff_adsl_out_landline_ticket.py +30 -0
- otrs_somconnexio/otrs_models/ticket_types/change_tariff_adsl_ticket.py +42 -0
- otrs_somconnexio/otrs_models/ticket_types/change_tariff_fiber_ticket.py +43 -0
- otrs_somconnexio/otrs_models/ticket_types/change_tariff_ticket.py +87 -0
- otrs_somconnexio/otrs_models/ticket_types/change_tariff_ticket_mobile_pack.py +51 -0
- otrs_somconnexio/otrs_models/ticket_types/change_tariff_ticket_shared_bonds.py +22 -0
- otrs_somconnexio/otrs_models/ticket_types/check_coverage_ticket.py +52 -0
- otrs_somconnexio/otrs_models/ticket_types/we_call_you_ticket.py +53 -0
- otrs_somconnexio/otrs_models/vf_provisioning_article.py +4 -2
- otrs_somconnexio/responses/ticket_creation.py +5 -4
- otrs_somconnexio/services/activate_change_tarriff_mobile_tickets.py +13 -0
- otrs_somconnexio/services/base_get_ticket_by_number.py +22 -0
- otrs_somconnexio/services/change_to_confirm_ticket.py +45 -0
- otrs_somconnexio/services/get_mobile_related_tickets.py +11 -0
- otrs_somconnexio/services/get_sharing_data_mobile_tickets.py +65 -0
- otrs_somconnexio/services/get_ticket_title.py +26 -0
- otrs_somconnexio/services/mapping_mobile_minutes.py +5 -5
- otrs_somconnexio/services/mapping_services.py +8 -6
- otrs_somconnexio/services/move_sharing_data_mobile_tickets.py +13 -0
- otrs_somconnexio/services/search_tickets_mobile_change_tariff.py +25 -0
- otrs_somconnexio/services/search_tickets_service.py +57 -0
- otrs_somconnexio/services/set_SIM_recieved_mobile_ticket.py +107 -0
- otrs_somconnexio/services/set_SIM_returned_mobile_ticket.py +37 -0
- otrs_somconnexio/services/set_fiber_contract_code_mobile_ticket.py +21 -0
- otrs_somconnexio/services/unblock_mobile_pack_ticket.py +48 -0
- otrs_somconnexio/services/update_process_ticket_with_coverage_tickets_info_service.py +10 -10
- otrs_somconnexio/services/update_ticket_DF.py +18 -0
- otrs_somconnexio/services/update_ticket_with_provider_info.py +2 -3
- otrs_somconnexio/user_management_client/client.py +15 -27
- otrs_somconnexio/user_management_client/user_management_response.py +2 -3
- {otrs_somconnexio-0.4.4.dist-info → otrs_somconnexio-0.7.3.dist-info}/METADATA +19 -4
- otrs_somconnexio-0.7.3.dist-info/RECORD +202 -0
- {otrs_somconnexio-0.4.4.dist-info → otrs_somconnexio-0.7.3.dist-info}/WHEEL +1 -1
- tests/data/otrs_raw_responses.py +12 -6
- tests/integration/test_change_customer_language.py +14 -19
- tests/integration/test_ticket_factory.py +383 -106
- tests/integration/test_update_ticket_with_coverage_data.py +53 -27
- tests/otrs_models/common_helper.py +9 -0
- tests/otrs_models/configuration/changes/__init__.py +0 -0
- tests/otrs_models/configuration/changes/test_change_tariff_ticket.py +91 -0
- tests/otrs_models/configuration/provision/__init__.py +0 -0
- tests/otrs_models/configuration/provision/test_adsl_ticket.py +30 -0
- tests/otrs_models/configuration/provision/test_fiber_ticket.py +32 -0
- tests/otrs_models/configuration/provision/test_mobile_ticket.py +62 -0
- tests/otrs_models/process_ticket/test_internet_process_ticket.py +54 -60
- tests/otrs_models/process_ticket/test_mobile_process_ticket.py +56 -33
- tests/otrs_models/test_abstract_article.py +3 -2
- tests/otrs_models/test_adsl_data.py +11 -4
- tests/otrs_models/test_adsl_dynamic_fields.py +217 -100
- tests/otrs_models/test_adsl_ticket.py +78 -83
- tests/otrs_models/test_coverage_article.py +9 -7
- tests/otrs_models/test_coverage_ticket.py +4 -2
- tests/otrs_models/test_customer_user.py +23 -20
- tests/otrs_models/test_fiber_data.py +20 -4
- tests/otrs_models/test_fiber_dynamic_fields.py +458 -134
- tests/otrs_models/test_fiber_ticket.py +113 -79
- tests/otrs_models/test_mobile_data.py +14 -3
- tests/otrs_models/test_mobile_dynamic_fields.py +335 -74
- tests/otrs_models/test_mobile_paused_ticket.py +35 -0
- tests/otrs_models/test_mobile_ticket.py +82 -96
- tests/otrs_models/test_provision_article.py +49 -0
- tests/otrs_models/test_router_4G_data.py +43 -0
- tests/otrs_models/test_router_4G_dynamic_fields.py +619 -0
- tests/otrs_models/test_router_4G_ticket.py +135 -0
- tests/otrs_models/test_service.py +58 -14
- tests/otrs_models/test_switchboard_data.py +37 -0
- tests/otrs_models/test_switchboard_dynamic_fields.py +197 -0
- tests/otrs_models/test_switchboard_header_data.py +18 -0
- tests/otrs_models/test_switchboard_header_dynamic_fields.py +119 -0
- tests/otrs_models/test_switchboard_header_ticket.py +127 -0
- tests/otrs_models/test_switchboard_ticket.py +147 -0
- tests/otrs_models/test_telecom_company.py +16 -16
- tests/otrs_models/test_ticket_factory.py +73 -16
- tests/otrs_models/test_vf_provisioning_article.py +6 -5
- tests/otrs_models/ticket_types/__init__.py +0 -0
- tests/otrs_models/ticket_types/test_add_data.py +79 -0
- tests/otrs_models/ticket_types/test_change_email.py +163 -0
- tests/otrs_models/ticket_types/test_change_iban.py +82 -0
- tests/otrs_models/ticket_types/test_change_owner.py +277 -0
- tests/otrs_models/ticket_types/test_change_pack_not_shared_data.py +77 -0
- tests/otrs_models/ticket_types/test_change_personal_email.py +81 -0
- tests/otrs_models/ticket_types/test_change_tariff.py +435 -0
- tests/otrs_models/ticket_types/test_change_tariff_adsl_landline.py +115 -0
- tests/otrs_models/ticket_types/test_change_tariff_adsl_out_landline.py +115 -0
- tests/otrs_models/ticket_types/test_change_tariff_fiber.py +175 -0
- tests/otrs_models/ticket_types/test_change_tariff_mobile_pack.py +151 -0
- tests/otrs_models/ticket_types/test_change_tariff_shared_bonds.py +65 -0
- tests/otrs_models/ticket_types/test_check_coverage.py +106 -0
- tests/otrs_models/ticket_types/test_shared_bond.py +80 -0
- tests/otrs_models/ticket_types/test_we_call_you.py +108 -0
- tests/responses/test_ticket_creation.py +4 -4
- tests/services/test_activate_change_tariff_mobile_tickets.py +45 -0
- tests/services/test_change_to_confirm_ticket.py +80 -0
- tests/services/test_get_mobile_related_tickets.py +39 -0
- tests/services/test_get_sharing_data_mobile_tickets.py +127 -0
- tests/services/test_mapping_mobile_minutes.py +8 -8
- tests/services/{test_mappint_services.py → test_mapping_services.py} +9 -9
- tests/services/test_move_sharing_data_mobile_tickets.py +43 -0
- tests/services/test_search_tickets_mobile_change_tariff.py +84 -0
- tests/services/test_search_tickets_service.py +166 -0
- tests/services/test_set_SIM_recieved_mobile_ticket_service.py +211 -0
- tests/services/test_set_SIM_returned_mobile_ticket_service.py +59 -0
- tests/services/test_set_fiber_contract_code_mobile_ticket_service.py +47 -0
- tests/services/test_unblock_mobile_pack_ticket.py +224 -0
- tests/services/test_update_process_ticket_with_VF_provisioning.py +15 -14
- tests/services/test_update_process_ticket_with_coverage_tickets_info_service.py +22 -10
- tests/services/test_update_ticket_with_provider_info.py +16 -15
- tests/user_management_client/test_client.py +41 -58
- tests/user_management_client/test_user_management_response.py +13 -26
- otrs_somconnexio/otrs_models/configurations/mobile_ticket.py +0 -17
- otrs_somconnexio/otrs_models/coverage/mm_fibre.py +0 -7
- otrs_somconnexio/otrs_models/coverage/vdf_fibre.py +0 -8
- otrs_somconnexio-0.4.4.dist-info/RECORD +0 -95
- tests/otrs_models/configuration/test_adsl_ticket.py +0 -45
- tests/otrs_models/configuration/test_fiber_ticket.py +0 -45
- tests/otrs_models/configuration/test_mobile_ticket.py +0 -45
- {otrs_somconnexio-0.4.4.dist-info → otrs_somconnexio-0.7.3.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
class SwitchboardTicketConfiguration:
|
|
3
|
+
process_id = "Process-340f0714fca27d563373adda18b505d9"
|
|
4
|
+
activity_id = "Activity-cbf9c1acfd068e164d7e7c53cbd6a137"
|
|
5
|
+
type = "Petición"
|
|
6
|
+
SLA = "No pendent resposta"
|
|
7
|
+
service = "Centraleta Virtual"
|
|
8
|
+
queue_id = 242
|
|
9
|
+
state = "new"
|
|
10
|
+
priority = "3 normal"
|
|
File without changes
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
class CheckCoverageConfiguration:
|
|
2
|
+
process_id = "Process-be8cf222949132c9fae1bb74615a5ae4"
|
|
3
|
+
activity_id = "Activity-df0c0c05df090639bb592a6d2af2d893"
|
|
4
|
+
type = "Petición"
|
|
5
|
+
state = "new"
|
|
6
|
+
priority = "3 normal"
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class CheckCoverageCATConfiguration(CheckCoverageConfiguration):
|
|
10
|
+
subject = "Consulta de cobertura (cat)"
|
|
11
|
+
queue_id = 42
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class CheckCoverageESConfiguration(CheckCoverageConfiguration):
|
|
15
|
+
subject = "Consulta de cobertura (es)"
|
|
16
|
+
queue_id = 43
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
class WeCallYouConfiguration:
|
|
2
|
+
process_id = "Process-ecf037c9e125f692e0ccb1d82eba5d3a"
|
|
3
|
+
activity_id = "Activity-1b94759f56e5b7ecf67e1330d1c6afab"
|
|
4
|
+
type = "Petición"
|
|
5
|
+
state = "new"
|
|
6
|
+
priority = "3 normal"
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class WeCallYouCATConfiguration(WeCallYouConfiguration):
|
|
10
|
+
queue_id = 144
|
|
11
|
+
subject = "Formulari 'Vols que et truquem?' (CAT)"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class WeCallYouESConfiguration(WeCallYouConfiguration):
|
|
15
|
+
queue_id = 145
|
|
16
|
+
subject = "Formulari 'Vols que et truquem?' (ES)"
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class WeCallYouCompanyCATConfiguration(WeCallYouConfiguration):
|
|
20
|
+
queue_id = 230
|
|
21
|
+
subject = "Formulari 'Vols que et truquem?' - Empreses (CAT)"
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class WeCallYouCompanyESConfiguration(WeCallYouConfiguration):
|
|
25
|
+
queue_id = 231
|
|
26
|
+
subject = "Formulari 'Vols que et truquem?' - Empreses (ES)"
|
|
@@ -6,10 +6,26 @@ class CoverageArticle(AbstractArticle):
|
|
|
6
6
|
"""
|
|
7
7
|
This entity gets created from a CoverageTicket.
|
|
8
8
|
"""
|
|
9
|
+
|
|
9
10
|
dynamic_fields_names = (
|
|
10
|
-
"tipusVia",
|
|
11
|
-
"
|
|
12
|
-
"
|
|
11
|
+
"tipusVia",
|
|
12
|
+
"nomVia",
|
|
13
|
+
"numero",
|
|
14
|
+
"bloc",
|
|
15
|
+
"portal",
|
|
16
|
+
"pis",
|
|
17
|
+
"escala",
|
|
18
|
+
"porta",
|
|
19
|
+
"poblacioServei",
|
|
20
|
+
"provinciaServei",
|
|
21
|
+
"codiProvinciaServei",
|
|
22
|
+
"CPservei",
|
|
23
|
+
"altresCobertura",
|
|
24
|
+
"coberturaADSL",
|
|
25
|
+
"coberturaFibraMM",
|
|
26
|
+
"coberturaFibraVdf",
|
|
27
|
+
"coberturaFibraOrange",
|
|
28
|
+
"IDhogar",
|
|
13
29
|
)
|
|
14
30
|
subject = "Sol·licitud cobertura"
|
|
15
31
|
|
|
@@ -22,5 +38,5 @@ class CoverageArticle(AbstractArticle):
|
|
|
22
38
|
for df_name in self.dynamic_fields_names:
|
|
23
39
|
df_value = getattr(self.ticket, df_name)
|
|
24
40
|
if df_value:
|
|
25
|
-
body =
|
|
41
|
+
body = "{}{}: {}\n".format(body, df_name, df_value)
|
|
26
42
|
return body
|
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
class CustomerData:
|
|
2
|
-
def __init__(
|
|
2
|
+
def __init__(
|
|
3
|
+
self,
|
|
4
|
+
id,
|
|
5
|
+
vat_number,
|
|
6
|
+
name,
|
|
7
|
+
first_name,
|
|
8
|
+
street,
|
|
9
|
+
city,
|
|
10
|
+
zip,
|
|
11
|
+
subdivision,
|
|
12
|
+
has_active_contracts,
|
|
13
|
+
language,
|
|
14
|
+
):
|
|
3
15
|
self.id = id
|
|
4
16
|
self.vat_number = vat_number
|
|
5
|
-
self.email = email
|
|
6
|
-
self.phone = phone
|
|
7
17
|
self.name = name
|
|
8
18
|
self.first_name = first_name
|
|
9
19
|
self.street = street
|
|
10
20
|
self.city = city
|
|
11
21
|
self.zip = zip
|
|
12
22
|
self.subdivision = subdivision
|
|
23
|
+
self.has_active_contracts = has_active_contracts
|
|
24
|
+
self.language = language
|
|
@@ -7,19 +7,13 @@ class CustomerUser:
|
|
|
7
7
|
self.client = client(self.id)
|
|
8
8
|
|
|
9
9
|
def change_language(self, lang):
|
|
10
|
-
self.client.set_preference(
|
|
11
|
-
'UserLanguage',
|
|
12
|
-
lang
|
|
13
|
-
)
|
|
10
|
+
self.client.set_preference("UserLanguage", lang)
|
|
14
11
|
|
|
15
12
|
def set_mm_account_id(self, mm_account_id):
|
|
16
13
|
"""
|
|
17
14
|
Set "MMAccountId" parameter in the OTRS preferences from this CustomerUser
|
|
18
15
|
"""
|
|
19
|
-
self.client.set_preference(
|
|
20
|
-
'MMAccountId',
|
|
21
|
-
mm_account_id
|
|
22
|
-
)
|
|
16
|
+
self.client.set_preference("MMAccountId", mm_account_id)
|
|
23
17
|
|
|
24
18
|
def get_mm_account_id(self):
|
|
25
19
|
"""
|
|
@@ -28,7 +22,7 @@ class CustomerUser:
|
|
|
28
22
|
"""
|
|
29
23
|
preferences = self.client.get_preferences()
|
|
30
24
|
|
|
31
|
-
return preferences.get(
|
|
25
|
+
return preferences.get("MMAccountId")
|
|
32
26
|
|
|
33
27
|
def get_data(self):
|
|
34
28
|
return self.client.get_data()
|
|
@@ -1,36 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
type = 'fiber'
|
|
1
|
+
from otrs_somconnexio.otrs_models.internet_data import InternetData
|
|
3
2
|
|
|
4
|
-
def __init__(
|
|
5
|
-
self, order_id, phone_number, iban, service_address, service_city,
|
|
6
|
-
service_zip, service_subdivision, shipment_address, shipment_city, shipment_zip,
|
|
7
|
-
shipment_subdivision, previous_service, previous_provider, previous_internal_provider,
|
|
8
|
-
previous_owner_vat, previous_owner_name, previous_owner_surname, notes,
|
|
9
|
-
adsl_coverage, mm_fiber_coverage, vdf_fiber_coverage, change_address, product):
|
|
10
|
-
# Common all the Tickets
|
|
11
|
-
self.order_id = order_id
|
|
12
|
-
self.phone_number = phone_number
|
|
13
|
-
self.iban = iban
|
|
14
|
-
self.previous_internal_provider = previous_internal_provider
|
|
15
|
-
self.previous_provider = previous_provider
|
|
16
|
-
self.previous_owner_vat = previous_owner_vat
|
|
17
|
-
self.previous_owner_name = previous_owner_name
|
|
18
|
-
self.previous_owner_surname = previous_owner_surname
|
|
19
3
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
self.service_city = service_city
|
|
23
|
-
self.service_zip = service_zip
|
|
24
|
-
self.service_subdivision = service_subdivision
|
|
25
|
-
self.shipment_address = shipment_address
|
|
26
|
-
self.shipment_city = shipment_city
|
|
27
|
-
self.shipment_zip = shipment_zip
|
|
28
|
-
self.shipment_subdivision = shipment_subdivision
|
|
29
|
-
self.previous_service = previous_service
|
|
30
|
-
self.notes = notes
|
|
31
|
-
self.adsl_coverage = adsl_coverage
|
|
32
|
-
self.mm_fiber_coverage = mm_fiber_coverage
|
|
33
|
-
self.vdf_fiber_coverage = vdf_fiber_coverage
|
|
34
|
-
self.change_address = change_address
|
|
4
|
+
class FiberData(InternetData):
|
|
5
|
+
service_type = "fiber"
|
|
35
6
|
|
|
36
|
-
|
|
7
|
+
def __init__(self, **args):
|
|
8
|
+
fiber_args = [
|
|
9
|
+
"previous_contract_pon",
|
|
10
|
+
"previous_contract_fiber_speed",
|
|
11
|
+
"all_grouped_SIMS_recieved",
|
|
12
|
+
"has_grouped_mobile_with_previous_owner",
|
|
13
|
+
"product_ba_mm",
|
|
14
|
+
"keep_landline",
|
|
15
|
+
]
|
|
16
|
+
for key in fiber_args:
|
|
17
|
+
setattr(self, key, args.get(key, ""))
|
|
18
|
+
args.pop(key, None)
|
|
19
|
+
|
|
20
|
+
super().__init__(**args)
|
|
@@ -1,10 +1,64 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
|
+
from pyotrs.lib import DynamicField
|
|
3
|
+
|
|
2
4
|
from otrs_somconnexio.otrs_models.internet_dynamic_fields import InternetDynamicFields
|
|
3
5
|
|
|
4
6
|
|
|
5
7
|
class FiberDynamicFields(InternetDynamicFields):
|
|
6
|
-
|
|
7
8
|
def _build_specific_broadband_service_dynamic_fields(self):
|
|
8
|
-
"""
|
|
9
|
-
Return only the specifics fields of Fiber Ticket.
|
|
10
|
-
return [
|
|
9
|
+
"""Return list of OTRS DynamicFields to create a OTRS Process Ticket from service data and customer data.
|
|
10
|
+
Return only the specifics fields of Fiber Ticket."""
|
|
11
|
+
return [
|
|
12
|
+
self._df_previous_contract_pon(),
|
|
13
|
+
self._df_previous_contract_fiber_speed(),
|
|
14
|
+
self._df_mobile_pack_contracts(),
|
|
15
|
+
self._df_all_grouped_SIMS_recieved(),
|
|
16
|
+
self._df_has_previous_owner_with_mobile_pack_contracts(),
|
|
17
|
+
self._df_product_ba_mm(),
|
|
18
|
+
self._keep_landline_number(),
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
def _df_previous_contract_pon(self):
|
|
22
|
+
return DynamicField(
|
|
23
|
+
name="ponAntic", value=self.service_data.previous_contract_pon
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
def _df_previous_contract_fiber_speed(self):
|
|
27
|
+
return DynamicField(
|
|
28
|
+
name="velocitatSollicitadaContracteAnteriorCU",
|
|
29
|
+
value=self.service_data.previous_contract_fiber_speed,
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
def _df_mobile_pack_contracts(self):
|
|
33
|
+
return DynamicField(
|
|
34
|
+
name="OdooMobileContractRefRelacionats",
|
|
35
|
+
value=self.service_data.mobile_pack_contracts,
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
def _df_all_grouped_SIMS_recieved(self):
|
|
39
|
+
are_all_grouped_SIMS_recieved = (
|
|
40
|
+
"1" if self.service_data.all_grouped_SIMS_recieved else "0"
|
|
41
|
+
)
|
|
42
|
+
return DynamicField(
|
|
43
|
+
name="SIMrebuda",
|
|
44
|
+
value=are_all_grouped_SIMS_recieved,
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
def _df_has_previous_owner_with_mobile_pack_contracts(self):
|
|
48
|
+
has_grouped_mobile_with_previous_owner = (
|
|
49
|
+
"1" if self.service_data.has_grouped_mobile_with_previous_owner else "0"
|
|
50
|
+
)
|
|
51
|
+
return DynamicField(
|
|
52
|
+
name="flagDNItitularAnteriorMobils",
|
|
53
|
+
value=has_grouped_mobile_with_previous_owner,
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
def _df_product_ba_mm(self):
|
|
57
|
+
return DynamicField(name="productBAMM", value=self.service_data.product_ba_mm)
|
|
58
|
+
|
|
59
|
+
def _keep_landline_number(self):
|
|
60
|
+
if self.service_data.keep_landline:
|
|
61
|
+
value = "current_number"
|
|
62
|
+
else:
|
|
63
|
+
value = "new_number"
|
|
64
|
+
return DynamicField(name="mantenirFix", value=value)
|
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
|
-
from otrs_somconnexio.otrs_models.configurations.fiber_ticket import
|
|
2
|
+
from otrs_somconnexio.otrs_models.configurations.provision.fiber_ticket import (
|
|
3
|
+
FiberTicketConfiguration,
|
|
4
|
+
)
|
|
3
5
|
from otrs_somconnexio.otrs_models.fiber_dynamic_fields import FiberDynamicFields
|
|
4
6
|
from otrs_somconnexio.otrs_models.provision_ticket import ProvisionTicket
|
|
5
7
|
|
|
6
8
|
|
|
7
9
|
class FiberTicket(ProvisionTicket):
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
def __init__(
|
|
11
|
+
self, service_data, customer_data, responsible_data, otrs_configuration=None
|
|
12
|
+
):
|
|
13
|
+
super(FiberTicket, self).__init__(responsible_data)
|
|
10
14
|
self.service_data = service_data
|
|
11
15
|
self.customer_data = customer_data
|
|
12
16
|
self.otrs_configuration = FiberTicketConfiguration(otrs_configuration)
|
|
13
17
|
|
|
14
18
|
def service_type(self):
|
|
15
|
-
return
|
|
19
|
+
return "fiber"
|
|
16
20
|
|
|
17
21
|
def _build_dynamic_fields(self):
|
|
18
22
|
return FiberDynamicFields(
|
|
19
23
|
self.service_data,
|
|
20
24
|
self.customer_data,
|
|
21
25
|
self._ticket_process_id(),
|
|
22
|
-
self._ticket_activity_id()
|
|
26
|
+
self._ticket_activity_id(),
|
|
23
27
|
).all()
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
class InternetData(object):
|
|
2
|
+
def __init__(
|
|
3
|
+
self,
|
|
4
|
+
order_id,
|
|
5
|
+
contact_phone,
|
|
6
|
+
phone_number,
|
|
7
|
+
iban,
|
|
8
|
+
email,
|
|
9
|
+
service_address,
|
|
10
|
+
service_city,
|
|
11
|
+
service_zip,
|
|
12
|
+
service_subdivision,
|
|
13
|
+
service_subdivision_code,
|
|
14
|
+
shipment_address,
|
|
15
|
+
shipment_city,
|
|
16
|
+
shipment_zip,
|
|
17
|
+
shipment_subdivision,
|
|
18
|
+
previous_service,
|
|
19
|
+
previous_provider,
|
|
20
|
+
previous_internal_provider,
|
|
21
|
+
previous_owner_vat,
|
|
22
|
+
previous_owner_name,
|
|
23
|
+
previous_owner_surname,
|
|
24
|
+
product,
|
|
25
|
+
adsl_coverage,
|
|
26
|
+
mm_fiber_coverage,
|
|
27
|
+
asociatel_fiber_coverage,
|
|
28
|
+
vdf_fiber_coverage,
|
|
29
|
+
orange_fiber_coverage,
|
|
30
|
+
type,
|
|
31
|
+
technology,
|
|
32
|
+
sales_team,
|
|
33
|
+
previous_contract_address="",
|
|
34
|
+
previous_contract_phone="",
|
|
35
|
+
mobile_pack_contracts="",
|
|
36
|
+
notes="",
|
|
37
|
+
activation_notes="",
|
|
38
|
+
confirmed_documentation=False,
|
|
39
|
+
):
|
|
40
|
+
# Common all the Tickets
|
|
41
|
+
self.order_id = order_id
|
|
42
|
+
self.phone_number = phone_number
|
|
43
|
+
self.iban = iban
|
|
44
|
+
self.email = email
|
|
45
|
+
self.previous_provider = previous_provider
|
|
46
|
+
self.previous_internal_provider = previous_internal_provider
|
|
47
|
+
self.previous_owner_vat = previous_owner_vat
|
|
48
|
+
self.previous_owner_name = previous_owner_name
|
|
49
|
+
self.previous_owner_surname = previous_owner_surname
|
|
50
|
+
self.product = product
|
|
51
|
+
self.technology = technology
|
|
52
|
+
self.contact_phone = contact_phone
|
|
53
|
+
self.sales_team = sales_team
|
|
54
|
+
self.notes = notes
|
|
55
|
+
self.activation_notes = activation_notes
|
|
56
|
+
self.confirmed_documentation = confirmed_documentation
|
|
57
|
+
|
|
58
|
+
# Common Internet the Tickets
|
|
59
|
+
self.service_address = service_address
|
|
60
|
+
self.service_city = service_city
|
|
61
|
+
self.service_zip = service_zip
|
|
62
|
+
self.service_subdivision = service_subdivision
|
|
63
|
+
self.service_subdivision_code = service_subdivision_code
|
|
64
|
+
self.shipment_address = shipment_address
|
|
65
|
+
self.shipment_city = shipment_city
|
|
66
|
+
self.shipment_zip = shipment_zip
|
|
67
|
+
self.shipment_subdivision = shipment_subdivision
|
|
68
|
+
self.previous_service = previous_service
|
|
69
|
+
self.adsl_coverage = adsl_coverage
|
|
70
|
+
self.mm_fiber_coverage = mm_fiber_coverage
|
|
71
|
+
self.asociatel_fiber_coverage = asociatel_fiber_coverage
|
|
72
|
+
self.vdf_fiber_coverage = vdf_fiber_coverage
|
|
73
|
+
self.orange_fiber_coverage = orange_fiber_coverage
|
|
74
|
+
self.type = type
|
|
75
|
+
self.previous_contract_address = previous_contract_address
|
|
76
|
+
self.previous_contract_phone = previous_contract_phone
|
|
77
|
+
|
|
78
|
+
# Pack Tickets
|
|
79
|
+
self.mobile_pack_contracts = mobile_pack_contracts
|
|
@@ -6,25 +6,28 @@ from otrs_somconnexio.otrs_models.provision_dynamic_fields import ProvisionDynam
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class InternetDynamicFields(ProvisionDynamicFields):
|
|
9
|
-
|
|
10
9
|
def _build_specific_dynamic_fields(self):
|
|
11
10
|
dynamic_fields = [
|
|
12
|
-
self.
|
|
11
|
+
self._contract_id(),
|
|
13
12
|
self._previous_service(),
|
|
14
13
|
self._previous_provider(),
|
|
14
|
+
self._previous_contract_address(),
|
|
15
|
+
self._previous_contract_phone(),
|
|
15
16
|
self._landline_number(),
|
|
16
17
|
self._service_address(),
|
|
17
18
|
self._service_city(),
|
|
18
19
|
self._service_zip(),
|
|
19
20
|
self._service_subdivision(),
|
|
21
|
+
self._service_subdivision_code(),
|
|
20
22
|
self._shipment_address(),
|
|
21
23
|
self._shipment_city(),
|
|
22
24
|
self._shipment_subdivision(),
|
|
23
25
|
self._shipment_zip(),
|
|
24
26
|
self._previous_owner_vat(),
|
|
25
|
-
self._notes(),
|
|
26
27
|
self._adsl_coverage(),
|
|
27
28
|
self._mm_fiber_coverage(),
|
|
29
|
+
self._orange_fiber_coverage(),
|
|
30
|
+
self._asociatel_fiber_coverage(),
|
|
28
31
|
self._vdf_fiber_coverage(),
|
|
29
32
|
self._change_address(),
|
|
30
33
|
self._change_address_provider(),
|
|
@@ -32,23 +35,27 @@ class InternetDynamicFields(ProvisionDynamicFields):
|
|
|
32
35
|
dynamic_fields += self._build_specific_broadband_service_dynamic_fields()
|
|
33
36
|
return dynamic_fields
|
|
34
37
|
|
|
35
|
-
def
|
|
38
|
+
def _contract_id(self):
|
|
36
39
|
return DynamicField(name="IDContracte", value=self.service_data.order_id)
|
|
37
40
|
|
|
38
41
|
def _previous_service(self):
|
|
39
|
-
return DynamicField(
|
|
42
|
+
return DynamicField(
|
|
43
|
+
name="serveiPrevi", value=self.service_data.previous_service
|
|
44
|
+
)
|
|
40
45
|
|
|
41
46
|
def _previous_provider(self):
|
|
42
47
|
provider = None
|
|
43
|
-
if self.service_data.
|
|
48
|
+
if self.service_data.type != "location_change":
|
|
44
49
|
provider = self.service_data.previous_provider
|
|
45
50
|
return DynamicField(name="proveidorPrevi", value=provider)
|
|
46
51
|
|
|
47
52
|
def _landline_number(self):
|
|
48
|
-
return DynamicField(name=
|
|
53
|
+
return DynamicField(name="telefonFixVell", value=self.service_data.phone_number)
|
|
49
54
|
|
|
50
55
|
def _service_address(self):
|
|
51
|
-
return DynamicField(
|
|
56
|
+
return DynamicField(
|
|
57
|
+
name="direccioServei", value=self.service_data.service_address
|
|
58
|
+
)
|
|
52
59
|
|
|
53
60
|
def _service_city(self):
|
|
54
61
|
return DynamicField(name="poblacioServei", value=self.service_data.service_city)
|
|
@@ -57,49 +64,81 @@ class InternetDynamicFields(ProvisionDynamicFields):
|
|
|
57
64
|
return DynamicField(name="CPservei", value=self.service_data.service_zip)
|
|
58
65
|
|
|
59
66
|
def _service_subdivision(self):
|
|
60
|
-
return DynamicField(
|
|
67
|
+
return DynamicField(
|
|
68
|
+
name="provinciaServei", value=self.service_data.service_subdivision
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
def _service_subdivision_code(self):
|
|
72
|
+
return DynamicField(
|
|
73
|
+
name="codiProvinciaServei", value=self.service_data.service_subdivision_code
|
|
74
|
+
)
|
|
61
75
|
|
|
62
76
|
def _shipment_address(self):
|
|
63
|
-
return DynamicField(
|
|
77
|
+
return DynamicField(
|
|
78
|
+
name="direccioEnviament", value=self.service_data.shipment_address
|
|
79
|
+
)
|
|
64
80
|
|
|
65
81
|
def _shipment_city(self):
|
|
66
|
-
return DynamicField(
|
|
82
|
+
return DynamicField(
|
|
83
|
+
name="poblacioEnviament", value=self.service_data.shipment_city
|
|
84
|
+
)
|
|
67
85
|
|
|
68
86
|
def _shipment_subdivision(self):
|
|
69
|
-
return DynamicField(
|
|
87
|
+
return DynamicField(
|
|
88
|
+
name="provinciaEnviament", value=self.service_data.shipment_subdivision
|
|
89
|
+
)
|
|
70
90
|
|
|
71
91
|
def _shipment_zip(self):
|
|
72
92
|
return DynamicField(name="CPenviament", value=self.service_data.shipment_zip)
|
|
73
93
|
|
|
74
94
|
def _previous_owner_vat(self):
|
|
75
|
-
return DynamicField(
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
return DynamicField(name="notes", value=self.service_data.notes)
|
|
95
|
+
return DynamicField(
|
|
96
|
+
name="NIFNIEtitular", value=self.service_data.previous_owner_vat
|
|
97
|
+
)
|
|
79
98
|
|
|
80
99
|
def _adsl_coverage(self):
|
|
81
100
|
return DynamicField(name="coberturaADSL", value=self.service_data.adsl_coverage)
|
|
82
101
|
|
|
83
102
|
def _mm_fiber_coverage(self):
|
|
84
103
|
return DynamicField(
|
|
85
|
-
name="coberturaFibraMM",
|
|
86
|
-
|
|
104
|
+
name="coberturaFibraMM", value=self.service_data.mm_fiber_coverage
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
def _asociatel_fiber_coverage(self):
|
|
108
|
+
# OTRS DF used for asociatel fiber coverage is the same as the former VDF
|
|
109
|
+
return DynamicField(
|
|
110
|
+
name="coberturaFibraVdf", value=self.service_data.asociatel_fiber_coverage
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
def _orange_fiber_coverage(self):
|
|
114
|
+
return DynamicField(
|
|
115
|
+
name="coberturaFibraOrange", value=self.service_data.orange_fiber_coverage
|
|
87
116
|
)
|
|
88
117
|
|
|
89
118
|
def _vdf_fiber_coverage(self):
|
|
90
119
|
return DynamicField(
|
|
91
|
-
name="
|
|
92
|
-
|
|
120
|
+
name="coberturaFibraVdfCU", value=self.service_data.vdf_fiber_coverage
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
def _previous_contract_phone(self):
|
|
124
|
+
return DynamicField(
|
|
125
|
+
name="telefonFixAntic", value=self.service_data.previous_contract_phone
|
|
126
|
+
)
|
|
127
|
+
|
|
128
|
+
def _previous_contract_address(self):
|
|
129
|
+
return DynamicField(
|
|
130
|
+
name="direccioServeiAntic",
|
|
131
|
+
value=self.service_data.previous_contract_address,
|
|
93
132
|
)
|
|
94
133
|
|
|
95
134
|
def _change_address(self):
|
|
96
|
-
|
|
135
|
+
change_address = "yes" if self.service_data.type == "location_change" else "no"
|
|
136
|
+
return DynamicField(name="canviUbicacioMateixTitular", value=change_address)
|
|
97
137
|
|
|
98
138
|
def _change_address_provider(self):
|
|
99
|
-
return DynamicField(name="proveidorPreviCU", value=self.service_data.previous_internal_provider)
|
|
100
|
-
|
|
101
|
-
def _product(self):
|
|
102
139
|
return DynamicField(
|
|
103
|
-
name="
|
|
104
|
-
value=self.service_data.product
|
|
140
|
+
name="proveidorPreviCU", value=self.service_data.previous_internal_provider
|
|
105
141
|
)
|
|
142
|
+
|
|
143
|
+
def _product(self):
|
|
144
|
+
return DynamicField(name="productBA", value=self.service_data.product)
|