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.
Files changed (192) hide show
  1. otrs_somconnexio/client.py +110 -42
  2. otrs_somconnexio/exceptions.py +44 -11
  3. otrs_somconnexio/otrs_models/abstract_article.py +3 -0
  4. otrs_somconnexio/otrs_models/adsl_data.py +7 -37
  5. otrs_somconnexio/otrs_models/adsl_dynamic_fields.py +5 -4
  6. otrs_somconnexio/otrs_models/adsl_ticket.py +9 -5
  7. otrs_somconnexio/otrs_models/configurations/changes/__init__.py +0 -0
  8. otrs_somconnexio/otrs_models/configurations/changes/add_data.py +13 -0
  9. otrs_somconnexio/otrs_models/configurations/changes/change_email.py +16 -0
  10. otrs_somconnexio/otrs_models/configurations/changes/change_iban.py +8 -0
  11. otrs_somconnexio/otrs_models/configurations/changes/change_owner.py +19 -0
  12. otrs_somconnexio/otrs_models/configurations/changes/change_pack.py +6 -0
  13. otrs_somconnexio/otrs_models/configurations/changes/change_shared_bond.py +7 -0
  14. otrs_somconnexio/otrs_models/configurations/changes/change_tariff.py +29 -0
  15. otrs_somconnexio/otrs_models/configurations/changes/change_tariff_adsl.py +20 -0
  16. otrs_somconnexio/otrs_models/configurations/changes/change_tariff_fiber.py +11 -0
  17. otrs_somconnexio/otrs_models/configurations/provision/__init__.py +0 -0
  18. otrs_somconnexio/otrs_models/configurations/{adsl_ticket.py → provision/adsl_ticket.py} +2 -2
  19. otrs_somconnexio/otrs_models/configurations/{fiber_ticket.py → provision/fiber_ticket.py} +6 -3
  20. otrs_somconnexio/otrs_models/configurations/provision/mobile_ticket.py +44 -0
  21. otrs_somconnexio/otrs_models/configurations/provision/router_4G_ticket.py +8 -0
  22. otrs_somconnexio/otrs_models/configurations/provision/switchboard_ticket.py +10 -0
  23. otrs_somconnexio/otrs_models/configurations/querys/__init__.py +0 -0
  24. otrs_somconnexio/otrs_models/configurations/querys/check_coverage.py +16 -0
  25. otrs_somconnexio/otrs_models/configurations/querys/we_call_you.py +26 -0
  26. otrs_somconnexio/otrs_models/coverage/adsl.py +1 -1
  27. otrs_somconnexio/otrs_models/coverage/asociatel_fiber.py +6 -0
  28. otrs_somconnexio/otrs_models/coverage/mm_fiber.py +7 -0
  29. otrs_somconnexio/otrs_models/coverage/orange_fiber.py +5 -0
  30. otrs_somconnexio/otrs_models/coverage/vdf_fiber.py +8 -0
  31. otrs_somconnexio/otrs_models/coverage_article.py +20 -4
  32. otrs_somconnexio/otrs_models/coverage_ticket.py +1 -0
  33. otrs_somconnexio/otrs_models/customer_data.py +15 -3
  34. otrs_somconnexio/otrs_models/customer_user.py +3 -9
  35. otrs_somconnexio/otrs_models/fiber_data.py +17 -33
  36. otrs_somconnexio/otrs_models/fiber_dynamic_fields.py +58 -4
  37. otrs_somconnexio/otrs_models/fiber_ticket.py +9 -5
  38. otrs_somconnexio/otrs_models/internet_data.py +79 -0
  39. otrs_somconnexio/otrs_models/internet_dynamic_fields.py +65 -26
  40. otrs_somconnexio/otrs_models/mobile_data.py +49 -5
  41. otrs_somconnexio/otrs_models/mobile_dynamic_fields.py +50 -8
  42. otrs_somconnexio/otrs_models/mobile_ticket.py +20 -4
  43. otrs_somconnexio/otrs_models/process_ticket/internet.py +40 -97
  44. otrs_somconnexio/otrs_models/process_ticket/mobile.py +63 -43
  45. otrs_somconnexio/otrs_models/process_ticket/process_ticket.py +74 -0
  46. otrs_somconnexio/otrs_models/providers.py +4 -3
  47. otrs_somconnexio/otrs_models/provision_article.py +7 -5
  48. otrs_somconnexio/otrs_models/provision_dynamic_fields.py +76 -11
  49. otrs_somconnexio/otrs_models/provision_ticket.py +52 -28
  50. otrs_somconnexio/otrs_models/responsible_data.py +6 -0
  51. otrs_somconnexio/otrs_models/router_4G_data.py +8 -0
  52. otrs_somconnexio/otrs_models/router_4G_dynamic_fields.py +9 -0
  53. otrs_somconnexio/otrs_models/router_4G_ticket.py +26 -0
  54. otrs_somconnexio/otrs_models/service.py +41 -12
  55. otrs_somconnexio/otrs_models/switchboard_data.py +58 -0
  56. otrs_somconnexio/otrs_models/switchboard_dynamic_fields.py +94 -0
  57. otrs_somconnexio/otrs_models/switchboard_header_data.py +18 -0
  58. otrs_somconnexio/otrs_models/switchboard_header_dynamic_fields.py +80 -0
  59. otrs_somconnexio/otrs_models/switchboard_header_ticket.py +30 -0
  60. otrs_somconnexio/otrs_models/switchboard_ticket.py +35 -0
  61. otrs_somconnexio/otrs_models/telecom_company.py +69 -69
  62. otrs_somconnexio/otrs_models/ticket_factory.py +34 -11
  63. otrs_somconnexio/otrs_models/ticket_types/__init__.py +0 -0
  64. otrs_somconnexio/otrs_models/ticket_types/add_data_ticket.py +36 -0
  65. otrs_somconnexio/otrs_models/ticket_types/base_change_tariff_ba_ticket.py +23 -0
  66. otrs_somconnexio/otrs_models/ticket_types/base_change_ticket.py +33 -0
  67. otrs_somconnexio/otrs_models/ticket_types/base_customer_ticket.py +24 -0
  68. otrs_somconnexio/otrs_models/ticket_types/base_ticket.py +147 -0
  69. otrs_somconnexio/otrs_models/ticket_types/change_email_ticket.py +40 -0
  70. otrs_somconnexio/otrs_models/ticket_types/change_iban_ticket.py +39 -0
  71. otrs_somconnexio/otrs_models/ticket_types/change_owner_ticket.py +132 -0
  72. otrs_somconnexio/otrs_models/ticket_types/change_pack_not_shared_data.py +36 -0
  73. otrs_somconnexio/otrs_models/ticket_types/change_personal_email_ticket.py +31 -0
  74. otrs_somconnexio/otrs_models/ticket_types/change_shared_bond_ticket.py +35 -0
  75. otrs_somconnexio/otrs_models/ticket_types/change_tariff_adsl_landline_ticket.py +30 -0
  76. otrs_somconnexio/otrs_models/ticket_types/change_tariff_adsl_out_landline_ticket.py +30 -0
  77. otrs_somconnexio/otrs_models/ticket_types/change_tariff_adsl_ticket.py +42 -0
  78. otrs_somconnexio/otrs_models/ticket_types/change_tariff_fiber_ticket.py +43 -0
  79. otrs_somconnexio/otrs_models/ticket_types/change_tariff_ticket.py +87 -0
  80. otrs_somconnexio/otrs_models/ticket_types/change_tariff_ticket_mobile_pack.py +51 -0
  81. otrs_somconnexio/otrs_models/ticket_types/change_tariff_ticket_shared_bonds.py +22 -0
  82. otrs_somconnexio/otrs_models/ticket_types/check_coverage_ticket.py +52 -0
  83. otrs_somconnexio/otrs_models/ticket_types/we_call_you_ticket.py +53 -0
  84. otrs_somconnexio/otrs_models/vf_provisioning_article.py +4 -2
  85. otrs_somconnexio/responses/ticket_creation.py +5 -4
  86. otrs_somconnexio/services/activate_change_tarriff_mobile_tickets.py +13 -0
  87. otrs_somconnexio/services/base_get_ticket_by_number.py +22 -0
  88. otrs_somconnexio/services/change_to_confirm_ticket.py +45 -0
  89. otrs_somconnexio/services/get_mobile_related_tickets.py +11 -0
  90. otrs_somconnexio/services/get_sharing_data_mobile_tickets.py +65 -0
  91. otrs_somconnexio/services/get_ticket_title.py +26 -0
  92. otrs_somconnexio/services/mapping_mobile_minutes.py +5 -5
  93. otrs_somconnexio/services/mapping_services.py +8 -6
  94. otrs_somconnexio/services/move_sharing_data_mobile_tickets.py +13 -0
  95. otrs_somconnexio/services/search_tickets_mobile_change_tariff.py +25 -0
  96. otrs_somconnexio/services/search_tickets_service.py +57 -0
  97. otrs_somconnexio/services/set_SIM_recieved_mobile_ticket.py +107 -0
  98. otrs_somconnexio/services/set_SIM_returned_mobile_ticket.py +37 -0
  99. otrs_somconnexio/services/set_fiber_contract_code_mobile_ticket.py +21 -0
  100. otrs_somconnexio/services/unblock_mobile_pack_ticket.py +48 -0
  101. otrs_somconnexio/services/update_process_ticket_with_coverage_tickets_info_service.py +10 -10
  102. otrs_somconnexio/services/update_ticket_DF.py +18 -0
  103. otrs_somconnexio/services/update_ticket_with_provider_info.py +2 -3
  104. otrs_somconnexio/user_management_client/client.py +15 -27
  105. otrs_somconnexio/user_management_client/user_management_response.py +2 -3
  106. {otrs_somconnexio-0.4.4.dist-info → otrs_somconnexio-0.7.3.dist-info}/METADATA +19 -4
  107. otrs_somconnexio-0.7.3.dist-info/RECORD +202 -0
  108. {otrs_somconnexio-0.4.4.dist-info → otrs_somconnexio-0.7.3.dist-info}/WHEEL +1 -1
  109. tests/data/otrs_raw_responses.py +12 -6
  110. tests/integration/test_change_customer_language.py +14 -19
  111. tests/integration/test_ticket_factory.py +383 -106
  112. tests/integration/test_update_ticket_with_coverage_data.py +53 -27
  113. tests/otrs_models/common_helper.py +9 -0
  114. tests/otrs_models/configuration/changes/__init__.py +0 -0
  115. tests/otrs_models/configuration/changes/test_change_tariff_ticket.py +91 -0
  116. tests/otrs_models/configuration/provision/__init__.py +0 -0
  117. tests/otrs_models/configuration/provision/test_adsl_ticket.py +30 -0
  118. tests/otrs_models/configuration/provision/test_fiber_ticket.py +32 -0
  119. tests/otrs_models/configuration/provision/test_mobile_ticket.py +62 -0
  120. tests/otrs_models/process_ticket/test_internet_process_ticket.py +54 -60
  121. tests/otrs_models/process_ticket/test_mobile_process_ticket.py +56 -33
  122. tests/otrs_models/test_abstract_article.py +3 -2
  123. tests/otrs_models/test_adsl_data.py +11 -4
  124. tests/otrs_models/test_adsl_dynamic_fields.py +217 -100
  125. tests/otrs_models/test_adsl_ticket.py +78 -83
  126. tests/otrs_models/test_coverage_article.py +9 -7
  127. tests/otrs_models/test_coverage_ticket.py +4 -2
  128. tests/otrs_models/test_customer_user.py +23 -20
  129. tests/otrs_models/test_fiber_data.py +20 -4
  130. tests/otrs_models/test_fiber_dynamic_fields.py +458 -134
  131. tests/otrs_models/test_fiber_ticket.py +113 -79
  132. tests/otrs_models/test_mobile_data.py +14 -3
  133. tests/otrs_models/test_mobile_dynamic_fields.py +335 -74
  134. tests/otrs_models/test_mobile_paused_ticket.py +35 -0
  135. tests/otrs_models/test_mobile_ticket.py +82 -96
  136. tests/otrs_models/test_provision_article.py +49 -0
  137. tests/otrs_models/test_router_4G_data.py +43 -0
  138. tests/otrs_models/test_router_4G_dynamic_fields.py +619 -0
  139. tests/otrs_models/test_router_4G_ticket.py +135 -0
  140. tests/otrs_models/test_service.py +58 -14
  141. tests/otrs_models/test_switchboard_data.py +37 -0
  142. tests/otrs_models/test_switchboard_dynamic_fields.py +197 -0
  143. tests/otrs_models/test_switchboard_header_data.py +18 -0
  144. tests/otrs_models/test_switchboard_header_dynamic_fields.py +119 -0
  145. tests/otrs_models/test_switchboard_header_ticket.py +127 -0
  146. tests/otrs_models/test_switchboard_ticket.py +147 -0
  147. tests/otrs_models/test_telecom_company.py +16 -16
  148. tests/otrs_models/test_ticket_factory.py +73 -16
  149. tests/otrs_models/test_vf_provisioning_article.py +6 -5
  150. tests/otrs_models/ticket_types/__init__.py +0 -0
  151. tests/otrs_models/ticket_types/test_add_data.py +79 -0
  152. tests/otrs_models/ticket_types/test_change_email.py +163 -0
  153. tests/otrs_models/ticket_types/test_change_iban.py +82 -0
  154. tests/otrs_models/ticket_types/test_change_owner.py +277 -0
  155. tests/otrs_models/ticket_types/test_change_pack_not_shared_data.py +77 -0
  156. tests/otrs_models/ticket_types/test_change_personal_email.py +81 -0
  157. tests/otrs_models/ticket_types/test_change_tariff.py +435 -0
  158. tests/otrs_models/ticket_types/test_change_tariff_adsl_landline.py +115 -0
  159. tests/otrs_models/ticket_types/test_change_tariff_adsl_out_landline.py +115 -0
  160. tests/otrs_models/ticket_types/test_change_tariff_fiber.py +175 -0
  161. tests/otrs_models/ticket_types/test_change_tariff_mobile_pack.py +151 -0
  162. tests/otrs_models/ticket_types/test_change_tariff_shared_bonds.py +65 -0
  163. tests/otrs_models/ticket_types/test_check_coverage.py +106 -0
  164. tests/otrs_models/ticket_types/test_shared_bond.py +80 -0
  165. tests/otrs_models/ticket_types/test_we_call_you.py +108 -0
  166. tests/responses/test_ticket_creation.py +4 -4
  167. tests/services/test_activate_change_tariff_mobile_tickets.py +45 -0
  168. tests/services/test_change_to_confirm_ticket.py +80 -0
  169. tests/services/test_get_mobile_related_tickets.py +39 -0
  170. tests/services/test_get_sharing_data_mobile_tickets.py +127 -0
  171. tests/services/test_mapping_mobile_minutes.py +8 -8
  172. tests/services/{test_mappint_services.py → test_mapping_services.py} +9 -9
  173. tests/services/test_move_sharing_data_mobile_tickets.py +43 -0
  174. tests/services/test_search_tickets_mobile_change_tariff.py +84 -0
  175. tests/services/test_search_tickets_service.py +166 -0
  176. tests/services/test_set_SIM_recieved_mobile_ticket_service.py +211 -0
  177. tests/services/test_set_SIM_returned_mobile_ticket_service.py +59 -0
  178. tests/services/test_set_fiber_contract_code_mobile_ticket_service.py +47 -0
  179. tests/services/test_unblock_mobile_pack_ticket.py +224 -0
  180. tests/services/test_update_process_ticket_with_VF_provisioning.py +15 -14
  181. tests/services/test_update_process_ticket_with_coverage_tickets_info_service.py +22 -10
  182. tests/services/test_update_ticket_with_provider_info.py +16 -15
  183. tests/user_management_client/test_client.py +41 -58
  184. tests/user_management_client/test_user_management_response.py +13 -26
  185. otrs_somconnexio/otrs_models/configurations/mobile_ticket.py +0 -17
  186. otrs_somconnexio/otrs_models/coverage/mm_fibre.py +0 -7
  187. otrs_somconnexio/otrs_models/coverage/vdf_fibre.py +0 -8
  188. otrs_somconnexio-0.4.4.dist-info/RECORD +0 -95
  189. tests/otrs_models/configuration/test_adsl_ticket.py +0 -45
  190. tests/otrs_models/configuration/test_fiber_ticket.py +0 -45
  191. tests/otrs_models/configuration/test_mobile_ticket.py +0 -45
  192. {otrs_somconnexio-0.4.4.dist-info → otrs_somconnexio-0.7.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,8 @@
1
+ # coding: utf-8
2
+ class Router4GTicketConfiguration:
3
+ process_id = "Process-4b7130980e3fb4fcf3c57f00c7a2e903"
4
+ activity_id = "Activity-ac1a618667aedbb7c25e196bffb5bf09"
5
+ type = "Petición"
6
+ queue_id = 146
7
+ state = "new"
8
+ priority = "3 normal"
@@ -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"
@@ -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)"
@@ -16,5 +16,5 @@ class ADSLCoverage:
16
16
  ("18", "18 Mb"),
17
17
  ("19", "19 Mb"),
18
18
  ("20", "20 Mb"),
19
- ("NoServei", "No Servei")
19
+ ("NoServei", "No Servei"),
20
20
  ]
@@ -0,0 +1,6 @@
1
+ class AsociatelFiberCoverage:
2
+ VALUES = [
3
+ ("fibraFTTH", "Fibra (FTTH)"),
4
+ ("NEBAFTTH", "Fibra (NEBA)"),
5
+ ("NoRevisat", "No revisat"),
6
+ ]
@@ -0,0 +1,7 @@
1
+ class MMFiberCoverage:
2
+ VALUES = [
3
+ ("fibraFTTH", "Fibra (FTTH)"),
4
+ ("NoFibra", "No Fibra (MM)"),
5
+ ("NoRevisat", "No revisat"),
6
+ ("fibraIndirecta", "Fibra (indirecta)"),
7
+ ]
@@ -0,0 +1,5 @@
1
+ class OrangeFiberCoverage:
2
+ VALUES = [
3
+ ("fibraFTTH", "Fibra (FTTH)"),
4
+ ("NoRevisat", "No revisat"),
5
+ ]
@@ -0,0 +1,8 @@
1
+ class VdfFiberCoverage:
2
+ VALUES = [
3
+ ("fibraCoaxial", "Fibra (coaxial)"),
4
+ ("fibraFTTH", "Fibra (FTTH)"),
5
+ ("NEBAFTTH", "Fibra (NEBA)"),
6
+ ("NoFibraVdf", "No fibra"),
7
+ ("NoRevisat", "No revisat"),
8
+ ]
@@ -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", "nomVia", "numero", "bloc", "portal", "pis", "escala", "porta",
11
- "poblacioServei", "provinciaServei", "CPservei", "altresCobertura", "coberturaADSL",
12
- "coberturaFibraMM", "coberturaFibraVdf", "IDhogar"
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 = u"{}{}: {}\n".format(body, df_name, df_value)
41
+ body = "{}{}: {}\n".format(body, df_name, df_value)
26
42
  return body
@@ -4,6 +4,7 @@ class CoverageTicket:
4
4
  This entity is for read-only purposes only. These tickets are not created or updated in OTRS.
5
5
  For this reason, it only implements a getter and the constructor.
6
6
  """
7
+
7
8
  def __init__(self, ticket):
8
9
  self.ticket = ticket
9
10
 
@@ -1,12 +1,24 @@
1
1
  class CustomerData:
2
- def __init__(self, id, vat_number, email, phone, name, first_name, street, city, zip, subdivision):
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('MMAccountId')
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
- class FiberData:
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
- # Common Internet the Tickets
21
- self.service_address = service_address
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
- self.product = product
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
- """ Return list of OTRS DynamicFields to create a OTRS Process Ticket from service data and customer data.
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 FiberTicketConfiguration
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
- def __init__(self, service_data, customer_data, otrs_configuration=None):
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 'fiber'
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._econtract_id(),
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 _econtract_id(self):
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(name="serveiPrevi", value=self.service_data.previous_service)
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.change_address == "no":
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='telefonFixVell', value=self.service_data.phone_number)
53
+ return DynamicField(name="telefonFixVell", value=self.service_data.phone_number)
49
54
 
50
55
  def _service_address(self):
51
- return DynamicField(name="direccioServei", value=self.service_data.service_address)
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(name="provinciaServei", value=self.service_data.service_subdivision)
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(name="direccioEnviament", value=self.service_data.shipment_address)
77
+ return DynamicField(
78
+ name="direccioEnviament", value=self.service_data.shipment_address
79
+ )
64
80
 
65
81
  def _shipment_city(self):
66
- return DynamicField(name="poblacioEnviament", value=self.service_data.shipment_city)
82
+ return DynamicField(
83
+ name="poblacioEnviament", value=self.service_data.shipment_city
84
+ )
67
85
 
68
86
  def _shipment_subdivision(self):
69
- return DynamicField(name="provinciaEnviament", value=self.service_data.shipment_subdivision)
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(name="NIFNIEtitular", value=self.service_data.previous_owner_vat)
76
-
77
- def _notes(self):
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
- value=self.service_data.mm_fiber_coverage
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="coberturaFibraVdf",
92
- value=self.service_data.vdf_fiber_coverage
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
- return DynamicField(name="canviUbicacioMateixTitular", value=self.service_data.change_address)
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="productBA",
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)