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
|
@@ -1,18 +1,62 @@
|
|
|
1
1
|
class MobileData:
|
|
2
|
-
|
|
2
|
+
service_type = "mobile"
|
|
3
3
|
|
|
4
4
|
def __init__(
|
|
5
|
-
self,
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
self,
|
|
6
|
+
order_id,
|
|
7
|
+
contact_phone,
|
|
8
|
+
phone_number,
|
|
9
|
+
iban,
|
|
10
|
+
email,
|
|
11
|
+
sc_icc,
|
|
12
|
+
icc,
|
|
13
|
+
has_sim,
|
|
14
|
+
type,
|
|
15
|
+
previous_owner_vat,
|
|
16
|
+
previous_owner_name,
|
|
17
|
+
previous_owner_surname,
|
|
18
|
+
previous_provider,
|
|
19
|
+
product,
|
|
20
|
+
delivery_street,
|
|
21
|
+
delivery_city,
|
|
22
|
+
delivery_zip_code,
|
|
23
|
+
delivery_state,
|
|
24
|
+
technology,
|
|
25
|
+
sim_delivery_tracking_code,
|
|
26
|
+
sales_team,
|
|
27
|
+
activation_notes="",
|
|
28
|
+
notes="",
|
|
29
|
+
is_grouped_with_fiber=False,
|
|
30
|
+
is_from_pack=False,
|
|
31
|
+
fiber_linked="",
|
|
32
|
+
shared_bond_id="",
|
|
33
|
+
confirmed_documentation=False,
|
|
34
|
+
):
|
|
8
35
|
self.order_id = order_id
|
|
9
36
|
self.phone_number = phone_number
|
|
10
37
|
self.iban = iban
|
|
38
|
+
self.email = email
|
|
11
39
|
self.sc_icc = sc_icc
|
|
12
40
|
self.icc = icc
|
|
13
|
-
self.
|
|
41
|
+
self.has_sim = has_sim
|
|
42
|
+
self.type = type
|
|
14
43
|
self.previous_provider = previous_provider
|
|
15
44
|
self.previous_owner_vat = previous_owner_vat
|
|
16
45
|
self.previous_owner_name = previous_owner_name
|
|
17
46
|
self.previous_owner_surname = previous_owner_surname
|
|
18
47
|
self.product = product
|
|
48
|
+
self.delivery_street = delivery_street
|
|
49
|
+
self.delivery_city = delivery_city
|
|
50
|
+
self.delivery_zip_code = delivery_zip_code
|
|
51
|
+
self.delivery_state = delivery_state
|
|
52
|
+
self.technology = technology
|
|
53
|
+
self.sim_delivery_tracking_code = sim_delivery_tracking_code
|
|
54
|
+
self.sales_team = sales_team
|
|
55
|
+
self.activation_notes = activation_notes
|
|
56
|
+
self.notes = notes
|
|
57
|
+
self.is_grouped_with_fiber = is_grouped_with_fiber
|
|
58
|
+
self.is_from_pack = is_from_pack
|
|
59
|
+
self.fiber_linked = fiber_linked
|
|
60
|
+
self.shared_bond_id = shared_bond_id
|
|
61
|
+
self.contact_phone = contact_phone
|
|
62
|
+
self.confirmed_documentation = confirmed_documentation
|
|
@@ -4,7 +4,6 @@ from otrs_somconnexio.otrs_models.provision_dynamic_fields import ProvisionDynam
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class MobileDynamicFields(ProvisionDynamicFields):
|
|
7
|
-
|
|
8
7
|
def _build_specific_dynamic_fields(self):
|
|
9
8
|
return [
|
|
10
9
|
self._line(),
|
|
@@ -17,6 +16,16 @@ class MobileDynamicFields(ProvisionDynamicFields):
|
|
|
17
16
|
self._zip(),
|
|
18
17
|
self._city(),
|
|
19
18
|
self._subdivision(),
|
|
19
|
+
self._sim_received(),
|
|
20
|
+
self._sim_delivery_tracking_code(),
|
|
21
|
+
self._send_sim_type(),
|
|
22
|
+
self._delivery_street(),
|
|
23
|
+
self._delivery_zip_code(),
|
|
24
|
+
self._delivery_city(),
|
|
25
|
+
self._delivery_state(),
|
|
26
|
+
self._fiber_linked(),
|
|
27
|
+
self._shared_bond_id(),
|
|
28
|
+
self._confirm_doc(),
|
|
20
29
|
]
|
|
21
30
|
|
|
22
31
|
def _line(self):
|
|
@@ -29,21 +38,32 @@ class MobileDynamicFields(ProvisionDynamicFields):
|
|
|
29
38
|
return DynamicField("ICCdonant", self.service_data.icc)
|
|
30
39
|
|
|
31
40
|
def _service_type(self):
|
|
32
|
-
if self.service_data.portability:
|
|
41
|
+
if self.service_data.type == "portability":
|
|
33
42
|
return DynamicField("tipusServeiMobil", "portabilitat")
|
|
34
43
|
else:
|
|
35
44
|
return DynamicField("tipusServeiMobil", "altaNova")
|
|
36
45
|
|
|
37
46
|
def _previous_provider(self):
|
|
38
47
|
return DynamicField(
|
|
39
|
-
name="operadorDonantMobil",
|
|
40
|
-
value=self.service_data.previous_provider
|
|
48
|
+
name="operadorDonantMobil", value=self.service_data.previous_provider
|
|
41
49
|
)
|
|
42
50
|
|
|
43
51
|
def _previous_owner_vat(self):
|
|
44
52
|
return DynamicField(
|
|
45
|
-
name="dniTitularAnterior",
|
|
46
|
-
|
|
53
|
+
name="dniTitularAnterior", value=self.service_data.previous_owner_vat
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
def _sim_received(self):
|
|
57
|
+
sim_recieved = "1" if self.service_data.has_sim else "0"
|
|
58
|
+
return DynamicField("SIMrebuda", sim_recieved)
|
|
59
|
+
|
|
60
|
+
def _send_sim_type(self):
|
|
61
|
+
CH_SC_OSO_SIM = "None" if self.service_data.has_sim else "CH_SC_OSO_SIM"
|
|
62
|
+
return DynamicField("tipusEnviamentSIM", CH_SC_OSO_SIM)
|
|
63
|
+
|
|
64
|
+
def _sim_delivery_tracking_code(self):
|
|
65
|
+
return DynamicField(
|
|
66
|
+
"CorreusTrackingCode", self.service_data.sim_delivery_tracking_code
|
|
47
67
|
)
|
|
48
68
|
|
|
49
69
|
def _street(self):
|
|
@@ -58,8 +78,30 @@ class MobileDynamicFields(ProvisionDynamicFields):
|
|
|
58
78
|
def _subdivision(self):
|
|
59
79
|
return DynamicField("provinciaMobil", self.customer_data.subdivision)
|
|
60
80
|
|
|
81
|
+
def _delivery_street(self):
|
|
82
|
+
return DynamicField("direccioEnviament", self.service_data.delivery_street)
|
|
83
|
+
|
|
84
|
+
def _delivery_city(self):
|
|
85
|
+
return DynamicField("poblacioEnviament", self.service_data.delivery_city)
|
|
86
|
+
|
|
87
|
+
def _delivery_zip_code(self):
|
|
88
|
+
return DynamicField("CPenviament", self.service_data.delivery_zip_code)
|
|
89
|
+
|
|
90
|
+
def _delivery_state(self):
|
|
91
|
+
return DynamicField("provinciaEnviament", self.service_data.delivery_state)
|
|
92
|
+
|
|
61
93
|
def _product(self):
|
|
94
|
+
return DynamicField(name="productMobil", value=self.service_data.product)
|
|
95
|
+
|
|
96
|
+
def _fiber_linked(self):
|
|
62
97
|
return DynamicField(
|
|
63
|
-
name="
|
|
64
|
-
value=self.service_data.product
|
|
98
|
+
name="OdooContractRefRelacionat", value=self.service_data.fiber_linked
|
|
65
99
|
)
|
|
100
|
+
|
|
101
|
+
def _shared_bond_id(self):
|
|
102
|
+
return DynamicField(
|
|
103
|
+
name="IDAbonamentCompartit", value=self.service_data.shared_bond_id
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
def _confirm_doc(self):
|
|
107
|
+
return DynamicField(name="confirmDoc", value="no")
|
|
@@ -1,22 +1,38 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
|
-
from otrs_somconnexio.otrs_models.configurations.mobile_ticket import
|
|
2
|
+
from otrs_somconnexio.otrs_models.configurations.provision.mobile_ticket import (
|
|
3
|
+
MobileTicketConfiguration,
|
|
4
|
+
MobileTicketPausedConfiguration,
|
|
5
|
+
)
|
|
3
6
|
from otrs_somconnexio.otrs_models.mobile_dynamic_fields import MobileDynamicFields
|
|
4
7
|
from otrs_somconnexio.otrs_models.provision_ticket import ProvisionTicket
|
|
5
8
|
|
|
6
9
|
|
|
7
10
|
class MobileTicket(ProvisionTicket):
|
|
8
|
-
def __init__(
|
|
11
|
+
def __init__(
|
|
12
|
+
self, service_data, customer_data, responsible_data, otrs_configuration=None
|
|
13
|
+
):
|
|
14
|
+
super(MobileTicket, self).__init__(responsible_data)
|
|
9
15
|
self.service_data = service_data
|
|
10
16
|
self.customer_data = customer_data
|
|
11
17
|
self.otrs_configuration = MobileTicketConfiguration(otrs_configuration)
|
|
12
18
|
|
|
13
19
|
def service_type(self):
|
|
14
|
-
return
|
|
20
|
+
return "mobile"
|
|
15
21
|
|
|
16
22
|
def _build_dynamic_fields(self):
|
|
17
23
|
return MobileDynamicFields(
|
|
18
24
|
self.service_data,
|
|
19
25
|
self.customer_data,
|
|
20
26
|
self._ticket_process_id(),
|
|
21
|
-
self._ticket_activity_id()
|
|
27
|
+
self._ticket_activity_id(),
|
|
22
28
|
).all()
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class MobilePausedTicket(MobileTicket):
|
|
32
|
+
def __init__(
|
|
33
|
+
self, service_data, customer_data, responsible_data, otrs_configuration=None
|
|
34
|
+
):
|
|
35
|
+
super().__init__(
|
|
36
|
+
service_data, customer_data, responsible_data, otrs_configuration
|
|
37
|
+
)
|
|
38
|
+
self.otrs_configuration = MobileTicketPausedConfiguration(otrs_configuration)
|
|
@@ -1,67 +1,31 @@
|
|
|
1
|
-
from datetime import datetime
|
|
2
|
-
|
|
3
|
-
from otrs_somconnexio.services.mapping_services import ServiceMappingServices
|
|
4
1
|
from otrs_somconnexio.otrs_models.process_ticket.mobile import MobileProcessTicket
|
|
2
|
+
from otrs_somconnexio.otrs_models.process_ticket.process_ticket import ProcessTicket
|
|
5
3
|
|
|
6
4
|
|
|
7
|
-
class InternetProcessTicket():
|
|
8
|
-
def __init__(self, otrs_response, service):
|
|
9
|
-
self.response = otrs_response
|
|
10
|
-
self.service = service
|
|
11
|
-
|
|
12
|
-
@property
|
|
13
|
-
def id(self):
|
|
14
|
-
return self.response.field_get('TicketID')
|
|
15
|
-
|
|
16
|
-
@property
|
|
17
|
-
def number(self):
|
|
18
|
-
return self.response.field_get('TicketNumber')
|
|
19
|
-
|
|
20
|
-
@property
|
|
21
|
-
def state(self):
|
|
22
|
-
return self.response.field_get('State')
|
|
23
|
-
|
|
24
|
-
@property
|
|
25
|
-
def contract_id(self):
|
|
26
|
-
return self.response.dynamic_field_get('IDContracte').value
|
|
27
|
-
|
|
28
|
-
# Partner
|
|
29
|
-
@property
|
|
30
|
-
def partner_name(self):
|
|
31
|
-
return self.response.dynamic_field_get('nomSoci').value
|
|
32
|
-
|
|
33
|
-
@property
|
|
34
|
-
def partner_surname(self):
|
|
35
|
-
return self.response.dynamic_field_get('cognom1').value
|
|
36
|
-
|
|
37
|
-
@property
|
|
38
|
-
def partner_vat_number(self):
|
|
39
|
-
return self.response.dynamic_field_get('NIFNIESoci').value
|
|
40
|
-
|
|
41
|
-
# Service
|
|
42
|
-
@property
|
|
43
|
-
def owner_vat_number(self):
|
|
44
|
-
return self.response.dynamic_field_get('NIFNIEtitular').value
|
|
45
|
-
|
|
5
|
+
class InternetProcessTicket(ProcessTicket):
|
|
46
6
|
@property
|
|
47
7
|
def previous_provider(self):
|
|
48
|
-
return self.response.dynamic_field_get(
|
|
8
|
+
return self.response.dynamic_field_get("proveidorPrevi").value
|
|
49
9
|
|
|
50
10
|
@property
|
|
51
11
|
def service_address(self):
|
|
52
|
-
return self.response.dynamic_field_get(
|
|
12
|
+
return self.response.dynamic_field_get("direccioServei").value
|
|
53
13
|
|
|
54
14
|
@property
|
|
55
15
|
def service_city(self):
|
|
56
|
-
return self.response.dynamic_field_get(
|
|
16
|
+
return self.response.dynamic_field_get("poblacioServei").value
|
|
57
17
|
|
|
58
18
|
@property
|
|
59
19
|
def service_subdivision(self):
|
|
60
|
-
return self.response.dynamic_field_get(
|
|
20
|
+
return self.response.dynamic_field_get("provinciaServei").value
|
|
21
|
+
|
|
22
|
+
@property
|
|
23
|
+
def service_subdivision_code(self):
|
|
24
|
+
return self.response.dynamic_field_get("codiProvinciaServei").value
|
|
61
25
|
|
|
62
26
|
@property
|
|
63
27
|
def service_zip(self):
|
|
64
|
-
return self.response.dynamic_field_get(
|
|
28
|
+
return self.response.dynamic_field_get("CPservei").value
|
|
65
29
|
|
|
66
30
|
@property
|
|
67
31
|
def extid(self):
|
|
@@ -69,17 +33,20 @@ class InternetProcessTicket():
|
|
|
69
33
|
ADSL: IDcomanda ?
|
|
70
34
|
Fiber: IDhogar ?
|
|
71
35
|
"""
|
|
72
|
-
if
|
|
36
|
+
if (
|
|
37
|
+
self.response.dynamic_field_get("IDcomanda").value
|
|
38
|
+
and self.response.dynamic_field_get("IDhogar").value
|
|
39
|
+
):
|
|
73
40
|
# TODO: Log possible error?
|
|
74
41
|
pass
|
|
75
|
-
if self.response.dynamic_field_get(
|
|
76
|
-
return self.response.dynamic_field_get(
|
|
77
|
-
elif self.response.dynamic_field_get(
|
|
78
|
-
return self.response.dynamic_field_get(
|
|
42
|
+
if self.response.dynamic_field_get("IDcomanda").value:
|
|
43
|
+
return self.response.dynamic_field_get("IDcomanda").value
|
|
44
|
+
elif self.response.dynamic_field_get("IDhogar").value:
|
|
45
|
+
return self.response.dynamic_field_get("IDhogar").value
|
|
79
46
|
|
|
80
47
|
@property
|
|
81
48
|
def mac_address(self):
|
|
82
|
-
return self.response.dynamic_field_get(
|
|
49
|
+
return self.response.dynamic_field_get("MACaddress").value
|
|
83
50
|
|
|
84
51
|
@property
|
|
85
52
|
def reference(self):
|
|
@@ -87,87 +54,63 @@ class InternetProcessTicket():
|
|
|
87
54
|
ADSL: numAdministratiuJazztel
|
|
88
55
|
Fiber: pon
|
|
89
56
|
"""
|
|
90
|
-
if
|
|
91
|
-
|
|
57
|
+
if (
|
|
58
|
+
self.response.dynamic_field_get("pon").value
|
|
59
|
+
and self.response.dynamic_field_get("numAdministratiuJazztel").value
|
|
60
|
+
):
|
|
92
61
|
# TODO: Log possible error?
|
|
93
62
|
pass
|
|
94
|
-
if self.response.dynamic_field_get(
|
|
95
|
-
return self.response.dynamic_field_get(
|
|
96
|
-
elif self.response.dynamic_field_get(
|
|
97
|
-
return self.response.dynamic_field_get(
|
|
63
|
+
if self.response.dynamic_field_get("pon").value:
|
|
64
|
+
return self.response.dynamic_field_get("pon").value
|
|
65
|
+
elif self.response.dynamic_field_get("numAdministratiuJazztel").value:
|
|
66
|
+
return self.response.dynamic_field_get("numAdministratiuJazztel").value
|
|
98
67
|
|
|
99
68
|
@property
|
|
100
69
|
def endpoint_user(self):
|
|
101
|
-
return self.response.dynamic_field_get(
|
|
70
|
+
return self.response.dynamic_field_get("usuariEndpoint").value
|
|
102
71
|
|
|
103
72
|
@property
|
|
104
73
|
def endpoint_password(self):
|
|
105
|
-
return self.response.dynamic_field_get(
|
|
74
|
+
return self.response.dynamic_field_get("contrasenyaEndpoint").value
|
|
106
75
|
|
|
107
76
|
@property
|
|
108
77
|
def ppp_user(self):
|
|
109
|
-
return self.response.dynamic_field_get(
|
|
78
|
+
return self.response.dynamic_field_get("usuariPPP").value
|
|
110
79
|
|
|
111
80
|
@property
|
|
112
81
|
def ppp_password(self):
|
|
113
|
-
return self.response.dynamic_field_get(
|
|
114
|
-
|
|
115
|
-
@property
|
|
116
|
-
def invoices_start_date(self):
|
|
117
|
-
""" Convert the string in a datetime object to be returned """
|
|
118
|
-
invoices_start_date = self.response.dynamic_field_get('dataIniciFacturacio').value
|
|
119
|
-
return datetime.strptime(invoices_start_date, '%Y-%m-%d %H:%M:%S')
|
|
120
|
-
|
|
121
|
-
@property
|
|
122
|
-
def service_technology(self):
|
|
123
|
-
""" Return is the service is fiber or adsl """
|
|
124
|
-
service_tech = self.response.dynamic_field_get('TecDelServei').value
|
|
125
|
-
return ServiceMappingServices.service(service_tech)
|
|
82
|
+
return self.response.dynamic_field_get("serialNumber").value
|
|
126
83
|
|
|
127
84
|
@property
|
|
128
85
|
def msisdn(self):
|
|
129
|
-
"""
|
|
130
|
-
return self.response.dynamic_field_get(
|
|
86
|
+
"""Return the assigned number."""
|
|
87
|
+
return self.response.dynamic_field_get("telefonFixAssignat").value
|
|
131
88
|
|
|
132
89
|
# ADSL
|
|
133
90
|
@property
|
|
134
91
|
def landline(self):
|
|
135
|
-
return self.response.dynamic_field_get(
|
|
92
|
+
return self.response.dynamic_field_get("serveiFix").value
|
|
136
93
|
|
|
137
94
|
@property
|
|
138
95
|
def landline_minutes(self):
|
|
139
|
-
return self.response.dynamic_field_get(
|
|
96
|
+
return self.response.dynamic_field_get("minutsInclosos").value
|
|
140
97
|
|
|
141
98
|
@property
|
|
142
99
|
def keep_landline_number(self):
|
|
143
|
-
return self.response.dynamic_field_get(
|
|
100
|
+
return self.response.dynamic_field_get("mantenirFix").value
|
|
144
101
|
|
|
145
102
|
# Fiber
|
|
146
103
|
@property
|
|
147
104
|
def speed(self):
|
|
148
|
-
return self.response.dynamic_field_get(
|
|
149
|
-
|
|
150
|
-
@property
|
|
151
|
-
def notes(self):
|
|
152
|
-
return self.response.dynamic_field_get('notes').value
|
|
105
|
+
return self.response.dynamic_field_get("velocitatSollicitada").value
|
|
153
106
|
|
|
154
107
|
@property
|
|
155
108
|
def icc(self):
|
|
156
109
|
return MobileProcessTicket(self.response).icc
|
|
157
110
|
|
|
158
|
-
@property
|
|
159
|
-
def iban(self):
|
|
160
|
-
return self.response.dynamic_field_get('IBAN').value
|
|
161
|
-
|
|
162
111
|
@property
|
|
163
112
|
def product_code(self):
|
|
164
|
-
return self.response.dynamic_field_get(
|
|
165
|
-
|
|
166
|
-
def confirmed(self):
|
|
167
|
-
return self.state == 'closed successful'
|
|
168
|
-
|
|
169
|
-
def cancelled(self):
|
|
170
|
-
return self.state == 'closed unsuccessful'
|
|
113
|
+
return self.response.dynamic_field_get("productBA").value
|
|
171
114
|
|
|
172
115
|
def paused_without_coverage(self):
|
|
173
|
-
return
|
|
116
|
+
return not self.service.has_coverage()
|
|
@@ -1,89 +1,109 @@
|
|
|
1
1
|
from datetime import datetime
|
|
2
2
|
|
|
3
|
+
from otrs_somconnexio.otrs_models.process_ticket.process_ticket import ProcessTicket
|
|
3
4
|
from otrs_somconnexio.services.mapping_mobile_minutes import ServiceMappingMobileMinutes
|
|
4
5
|
|
|
5
6
|
|
|
6
|
-
class MobileProcessTicket:
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
class MobileProcessTicket(ProcessTicket):
|
|
8
|
+
@property
|
|
9
|
+
def msisdn(self):
|
|
10
|
+
"""Return the assigned number."""
|
|
11
|
+
return self.response.dynamic_field_get("liniaMobil").value
|
|
9
12
|
|
|
10
13
|
@property
|
|
11
|
-
def
|
|
12
|
-
|
|
14
|
+
def service_type(self):
|
|
15
|
+
"""Return the mobile service type."""
|
|
16
|
+
return self.response.dynamic_field_get("tipusServeiMobil").value
|
|
13
17
|
|
|
14
18
|
@property
|
|
15
|
-
def
|
|
16
|
-
return self.response.
|
|
19
|
+
def data(self):
|
|
20
|
+
return self.response.dynamic_field_get("dadesMobil").value
|
|
17
21
|
|
|
18
22
|
@property
|
|
19
|
-
def
|
|
20
|
-
return
|
|
23
|
+
def minutes(self):
|
|
24
|
+
return ServiceMappingMobileMinutes.minutes(
|
|
25
|
+
self.response.dynamic_field_get("minutsMobil").value
|
|
26
|
+
)
|
|
21
27
|
|
|
22
28
|
@property
|
|
23
|
-
def
|
|
24
|
-
return self.response.dynamic_field_get(
|
|
29
|
+
def icc(self):
|
|
30
|
+
return self.response.dynamic_field_get("ICCSC").value
|
|
25
31
|
|
|
26
32
|
@property
|
|
27
|
-
def
|
|
28
|
-
return self.response.dynamic_field_get(
|
|
33
|
+
def donor_icc(self):
|
|
34
|
+
return self.response.dynamic_field_get("ICCdonant").value
|
|
29
35
|
|
|
30
36
|
@property
|
|
31
|
-
def
|
|
32
|
-
return self.response.dynamic_field_get(
|
|
37
|
+
def previous_owner_name(self):
|
|
38
|
+
return self.response.dynamic_field_get("titular").value
|
|
33
39
|
|
|
34
40
|
@property
|
|
35
|
-
def
|
|
36
|
-
return self.response.dynamic_field_get(
|
|
41
|
+
def previous_owner_surname(self):
|
|
42
|
+
return self.response.dynamic_field_get("cognom1Titular").value
|
|
37
43
|
|
|
38
44
|
@property
|
|
39
|
-
def
|
|
40
|
-
return self.response.dynamic_field_get(
|
|
45
|
+
def previous_owner_docid(self):
|
|
46
|
+
return self.response.dynamic_field_get("dniTitularAnterior").value
|
|
41
47
|
|
|
42
48
|
@property
|
|
43
|
-
def
|
|
44
|
-
|
|
45
|
-
invoices_start_date = self.response.dynamic_field_get('dataIniciFacturacio').value
|
|
46
|
-
return datetime.strptime(invoices_start_date, '%Y-%m-%d %H:%M:%S')
|
|
49
|
+
def previous_provider(self):
|
|
50
|
+
return self.response.dynamic_field_get("operadorDonantMobil").value
|
|
47
51
|
|
|
48
52
|
@property
|
|
49
|
-
def
|
|
50
|
-
return self.response.dynamic_field_get(
|
|
53
|
+
def iban(self):
|
|
54
|
+
return self.response.dynamic_field_get("IBAN").value
|
|
51
55
|
|
|
52
56
|
@property
|
|
53
|
-
def
|
|
54
|
-
|
|
55
|
-
return 'mobile'
|
|
57
|
+
def product_code(self):
|
|
58
|
+
return self.response.dynamic_field_get("productMobil").value
|
|
56
59
|
|
|
57
60
|
@property
|
|
58
|
-
def
|
|
59
|
-
|
|
60
|
-
return self.response.dynamic_field_get('liniaMobil').value
|
|
61
|
+
def delivery_street(self):
|
|
62
|
+
return self.response.dynamic_field_get("direccioEnviament").value
|
|
61
63
|
|
|
62
64
|
@property
|
|
63
|
-
def
|
|
64
|
-
return self.response.dynamic_field_get(
|
|
65
|
+
def delivery_city(self):
|
|
66
|
+
return self.response.dynamic_field_get("poblacioEnviament").value
|
|
65
67
|
|
|
66
68
|
@property
|
|
67
|
-
def
|
|
68
|
-
return
|
|
69
|
+
def delivery_zip_code(self):
|
|
70
|
+
return self.response.dynamic_field_get("CPenviament").value
|
|
69
71
|
|
|
70
72
|
@property
|
|
71
|
-
def
|
|
72
|
-
return self.response.dynamic_field_get(
|
|
73
|
+
def delivery_state(self):
|
|
74
|
+
return self.response.dynamic_field_get("provinciaEnviament").value
|
|
73
75
|
|
|
74
76
|
@property
|
|
75
|
-
def
|
|
76
|
-
return self.response.dynamic_field_get(
|
|
77
|
+
def international_minutes(self):
|
|
78
|
+
return self.response.dynamic_field_get("abonamentInternacional").value
|
|
77
79
|
|
|
78
80
|
@property
|
|
79
|
-
def
|
|
80
|
-
return self.response.dynamic_field_get(
|
|
81
|
+
def fiber_contract_code(self):
|
|
82
|
+
return self.response.dynamic_field_get("OdooContractRefRelacionat").value
|
|
83
|
+
|
|
84
|
+
@property
|
|
85
|
+
def shared_bond_id(self):
|
|
86
|
+
return self.response.dynamic_field_get("IDAbonamentCompartit").value
|
|
87
|
+
|
|
88
|
+
@property
|
|
89
|
+
def activation_date(self):
|
|
90
|
+
"""Convert the string in a datetime object to be returned"""
|
|
91
|
+
date = self.response.dynamic_field_get("dataActivacioLiniaMobil").value
|
|
92
|
+
return datetime.strptime(date, "%Y-%m-%d %H:%M:%S")
|
|
93
|
+
|
|
94
|
+
@property
|
|
95
|
+
def mobile_service_type(self):
|
|
96
|
+
return self.response.dynamic_field_get("tipusServeiMobil").value
|
|
97
|
+
|
|
98
|
+
@property
|
|
99
|
+
def confirmed_documentation(self):
|
|
100
|
+
return self.response.dynamic_field_get("confirmDoc").value
|
|
81
101
|
|
|
82
102
|
def confirmed(self):
|
|
83
|
-
return self.state ==
|
|
103
|
+
return self.state == "closed successful"
|
|
84
104
|
|
|
85
105
|
def cancelled(self):
|
|
86
|
-
return self.state ==
|
|
106
|
+
return self.state == "closed unsuccessful"
|
|
87
107
|
|
|
88
108
|
def paused_without_coverage(self):
|
|
89
109
|
return False
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
from otrs_somconnexio.services.mapping_services import ServiceMappingServices
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class ProcessTicket:
|
|
6
|
+
def __init__(self, otrs_response, service=None):
|
|
7
|
+
self.response = otrs_response
|
|
8
|
+
self.service = service
|
|
9
|
+
|
|
10
|
+
@property
|
|
11
|
+
def id(self):
|
|
12
|
+
return self.response.field_get("TicketID")
|
|
13
|
+
|
|
14
|
+
@property
|
|
15
|
+
def number(self):
|
|
16
|
+
return self.response.field_get("TicketNumber")
|
|
17
|
+
|
|
18
|
+
@property
|
|
19
|
+
def queue(self):
|
|
20
|
+
return self.response.field_get("Queue")
|
|
21
|
+
|
|
22
|
+
@property
|
|
23
|
+
def queue_id(self):
|
|
24
|
+
return self.response.field_get("QueueID")
|
|
25
|
+
|
|
26
|
+
@property
|
|
27
|
+
def state(self):
|
|
28
|
+
return self.response.field_get("State")
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def contract_id(self):
|
|
32
|
+
return self.response.dynamic_field_get("IDContracte").value
|
|
33
|
+
|
|
34
|
+
# Partner
|
|
35
|
+
@property
|
|
36
|
+
def partner_name(self):
|
|
37
|
+
return self.response.dynamic_field_get("nomSoci").value
|
|
38
|
+
|
|
39
|
+
@property
|
|
40
|
+
def partner_surname(self):
|
|
41
|
+
return self.response.dynamic_field_get("cognom1").value
|
|
42
|
+
|
|
43
|
+
@property
|
|
44
|
+
def partner_vat_number(self):
|
|
45
|
+
return self.response.dynamic_field_get("NIFNIESoci").value
|
|
46
|
+
|
|
47
|
+
# Service
|
|
48
|
+
@property
|
|
49
|
+
def owner_vat_number(self):
|
|
50
|
+
return self.response.dynamic_field_get("NIFNIEtitular").value
|
|
51
|
+
|
|
52
|
+
@property
|
|
53
|
+
def iban(self):
|
|
54
|
+
return self.response.dynamic_field_get("IBAN").value
|
|
55
|
+
|
|
56
|
+
@property
|
|
57
|
+
def invoices_start_date(self):
|
|
58
|
+
"""Convert the string in a datetime object to be returned"""
|
|
59
|
+
invoices_start_date = self.response.dynamic_field_get(
|
|
60
|
+
"dataIniciFacturacio"
|
|
61
|
+
).value
|
|
62
|
+
return datetime.strptime(invoices_start_date, "%Y-%m-%d %H:%M:%S")
|
|
63
|
+
|
|
64
|
+
@property
|
|
65
|
+
def service_technology(self):
|
|
66
|
+
"""Return is the service is fiber or adsl"""
|
|
67
|
+
service_tech = self.response.dynamic_field_get("TecDelServei").value
|
|
68
|
+
return ServiceMappingServices.service(service_tech)
|
|
69
|
+
|
|
70
|
+
def confirmed(self):
|
|
71
|
+
return self.state == "closed successful"
|
|
72
|
+
|
|
73
|
+
def cancelled(self):
|
|
74
|
+
return self.state == "closed unsuccessful"
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
from otrs_somconnexio.otrs_models.abstract_article import AbstractArticle
|
|
3
|
+
from otrs_somconnexio.services.get_ticket_title import GetTicketTitle
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
class ProvisionArticle(AbstractArticle):
|
|
6
|
-
def __init__(self, service_type,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
def __init__(self, technology, order_id, service_type, notes=""):
|
|
8
|
+
subject = GetTicketTitle(technology, order_id, service_type).build()
|
|
9
|
+
self.subject = subject
|
|
10
|
+
if notes:
|
|
11
|
+
self.isVisibleForCustomer = "0"
|
|
12
|
+
self.body = notes
|