otrs-somconnexio 0.7.2__tar.gz → 0.8.0__tar.gz

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 (212) hide show
  1. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/PKG-INFO +1 -1
  2. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/fiber_dynamic_fields.py +0 -6
  3. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/mobile_dynamic_fields.py +0 -6
  4. otrs_somconnexio-0.8.0/otrs_somconnexio/otrs_models/provision_article.py +9 -0
  5. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/provision_dynamic_fields.py +6 -0
  6. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/provision_ticket.py +43 -10
  7. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/switchboard_header_data.py +4 -0
  8. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/switchboard_header_dynamic_fields.py +1 -1
  9. otrs_somconnexio-0.8.0/otrs_somconnexio/otrs_models/switchboard_header_ticket.py +88 -0
  10. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/switchboard_ticket.py +8 -0
  11. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio.egg-info/PKG-INFO +1 -1
  12. otrs_somconnexio-0.8.0/otrs_somconnexio.egg-info/requires.txt +4 -0
  13. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/setup.py +7 -2
  14. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_adsl_dynamic_fields.py +1 -0
  15. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_adsl_ticket.py +10 -9
  16. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_fiber_dynamic_fields.py +2 -1
  17. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_fiber_ticket.py +18 -8
  18. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_mobile_ticket.py +14 -4
  19. otrs_somconnexio-0.8.0/tests/otrs_models/test_provision_article.py +32 -0
  20. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_router_4G_dynamic_fields.py +17 -0
  21. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_router_4G_ticket.py +19 -10
  22. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_switchboard_dynamic_fields.py +8 -1
  23. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_switchboard_header_data.py +2 -0
  24. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_switchboard_header_dynamic_fields.py +1 -1
  25. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_switchboard_header_ticket.py +85 -9
  26. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_switchboard_ticket.py +36 -24
  27. otrs_somconnexio-0.7.2/otrs_somconnexio/otrs_models/provision_article.py +0 -12
  28. otrs_somconnexio-0.7.2/otrs_somconnexio/otrs_models/switchboard_header_ticket.py +0 -27
  29. otrs_somconnexio-0.7.2/otrs_somconnexio.egg-info/requires.txt +0 -2
  30. otrs_somconnexio-0.7.2/tests/otrs_models/test_provision_article.py +0 -49
  31. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/README.md +0 -0
  32. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/__init__.py +0 -0
  33. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/client.py +0 -0
  34. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/exceptions.py +0 -0
  35. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/__init__.py +0 -0
  36. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/abstract_article.py +0 -0
  37. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/adsl_data.py +0 -0
  38. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/adsl_dynamic_fields.py +0 -0
  39. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/adsl_ticket.py +0 -0
  40. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/__init__.py +0 -0
  41. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/changes/__init__.py +0 -0
  42. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/changes/add_data.py +0 -0
  43. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/changes/change_email.py +0 -0
  44. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/changes/change_iban.py +0 -0
  45. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/changes/change_owner.py +0 -0
  46. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/changes/change_pack.py +0 -0
  47. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/changes/change_shared_bond.py +0 -0
  48. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/changes/change_tariff.py +0 -0
  49. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/changes/change_tariff_adsl.py +0 -0
  50. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/changes/change_tariff_fiber.py +0 -0
  51. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/provision/__init__.py +0 -0
  52. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/provision/adsl_ticket.py +0 -0
  53. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/provision/fiber_ticket.py +0 -0
  54. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/provision/mobile_ticket.py +0 -0
  55. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/provision/router_4G_ticket.py +0 -0
  56. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/provision/switchboard_ticket.py +0 -0
  57. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/querys/__init__.py +0 -0
  58. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/querys/check_coverage.py +0 -0
  59. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/configurations/querys/we_call_you.py +0 -0
  60. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/coverage/__init__.py +0 -0
  61. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/coverage/adsl.py +0 -0
  62. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/coverage/asociatel_fiber.py +0 -0
  63. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/coverage/mm_fiber.py +0 -0
  64. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/coverage/orange_fiber.py +0 -0
  65. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/coverage/vdf_fiber.py +0 -0
  66. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/coverage_article.py +0 -0
  67. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/coverage_ticket.py +0 -0
  68. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/customer_data.py +0 -0
  69. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/customer_user.py +0 -0
  70. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/fiber_data.py +0 -0
  71. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/fiber_ticket.py +0 -0
  72. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/internet_data.py +0 -0
  73. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/internet_dynamic_fields.py +0 -0
  74. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/mobile_data.py +0 -0
  75. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/mobile_ticket.py +0 -0
  76. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/process_ticket/__init__.py +0 -0
  77. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/process_ticket/internet.py +0 -0
  78. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/process_ticket/mobile.py +0 -0
  79. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/process_ticket/process_ticket.py +0 -0
  80. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/providers.py +0 -0
  81. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/responsible_data.py +0 -0
  82. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/router_4G_data.py +0 -0
  83. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/router_4G_dynamic_fields.py +0 -0
  84. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/router_4G_ticket.py +0 -0
  85. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/service.py +0 -0
  86. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/switchboard_data.py +0 -0
  87. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/switchboard_dynamic_fields.py +0 -0
  88. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/telecom_company.py +0 -0
  89. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_factory.py +0 -0
  90. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/__init__.py +0 -0
  91. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/add_data_ticket.py +0 -0
  92. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/base_change_tariff_ba_ticket.py +0 -0
  93. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/base_change_ticket.py +0 -0
  94. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/base_customer_ticket.py +0 -0
  95. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/base_ticket.py +0 -0
  96. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/change_email_ticket.py +0 -0
  97. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/change_iban_ticket.py +0 -0
  98. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/change_owner_ticket.py +0 -0
  99. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/change_pack_not_shared_data.py +0 -0
  100. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/change_personal_email_ticket.py +0 -0
  101. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/change_shared_bond_ticket.py +0 -0
  102. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/change_tariff_adsl_landline_ticket.py +0 -0
  103. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/change_tariff_adsl_out_landline_ticket.py +0 -0
  104. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/change_tariff_adsl_ticket.py +0 -0
  105. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/change_tariff_fiber_ticket.py +0 -0
  106. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/change_tariff_ticket.py +0 -0
  107. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/change_tariff_ticket_mobile_pack.py +0 -0
  108. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/change_tariff_ticket_shared_bonds.py +0 -0
  109. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/check_coverage_ticket.py +0 -0
  110. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/ticket_types/we_call_you_ticket.py +0 -0
  111. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/otrs_models/vf_provisioning_article.py +0 -0
  112. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/responses/__init__.py +0 -0
  113. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/responses/ticket_creation.py +0 -0
  114. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/__init__.py +0 -0
  115. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/activate_change_tarriff_mobile_tickets.py +0 -0
  116. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/base_get_ticket_by_number.py +0 -0
  117. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/change_to_confirm_ticket.py +0 -0
  118. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/get_mobile_related_tickets.py +0 -0
  119. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/get_sharing_data_mobile_tickets.py +0 -0
  120. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/get_ticket_title.py +0 -0
  121. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/mapping_mobile_minutes.py +0 -0
  122. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/mapping_services.py +0 -0
  123. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/move_sharing_data_mobile_tickets.py +0 -0
  124. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/search_tickets_mobile_change_tariff.py +0 -0
  125. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/search_tickets_service.py +0 -0
  126. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/set_SIM_recieved_mobile_ticket.py +0 -0
  127. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/set_SIM_returned_mobile_ticket.py +0 -0
  128. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/set_fiber_contract_code_mobile_ticket.py +0 -0
  129. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/unblock_mobile_pack_ticket.py +0 -0
  130. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/update_process_ticket_with_VF_provisioning.py +0 -0
  131. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/update_process_ticket_with_coverage_tickets_info_service.py +0 -0
  132. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/update_ticket_DF.py +0 -0
  133. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/services/update_ticket_with_provider_info.py +0 -0
  134. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/user_management_client/__init__.py +0 -0
  135. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/user_management_client/client.py +0 -0
  136. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio/user_management_client/user_management_response.py +0 -0
  137. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio.egg-info/SOURCES.txt +0 -0
  138. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio.egg-info/dependency_links.txt +0 -0
  139. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio.egg-info/not-zip-safe +0 -0
  140. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/otrs_somconnexio.egg-info/top_level.txt +0 -0
  141. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/setup.cfg +0 -0
  142. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/data/__init__.py +0 -0
  143. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/data/otrs_raw_responses.py +0 -0
  144. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/integration/__init__.py +0 -0
  145. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/integration/test_change_customer_language.py +0 -0
  146. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/integration/test_ticket_factory.py +0 -0
  147. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/integration/test_update_ticket_with_coverage_data.py +0 -0
  148. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/__init__.py +0 -0
  149. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/common_helper.py +0 -0
  150. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/configuration/__init__.py +0 -0
  151. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/configuration/changes/__init__.py +0 -0
  152. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/configuration/changes/test_change_tariff_ticket.py +0 -0
  153. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/configuration/provision/__init__.py +0 -0
  154. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/configuration/provision/test_adsl_ticket.py +0 -0
  155. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/configuration/provision/test_fiber_ticket.py +0 -0
  156. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/configuration/provision/test_mobile_ticket.py +0 -0
  157. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/process_ticket/__init__.py +0 -0
  158. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/process_ticket/test_internet_process_ticket.py +0 -0
  159. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/process_ticket/test_mobile_process_ticket.py +0 -0
  160. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_abstract_article.py +0 -0
  161. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_adsl_data.py +0 -0
  162. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_coverage_article.py +0 -0
  163. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_coverage_ticket.py +0 -0
  164. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_customer_user.py +0 -0
  165. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_fiber_data.py +0 -0
  166. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_mobile_data.py +0 -0
  167. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_mobile_dynamic_fields.py +0 -0
  168. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_mobile_paused_ticket.py +0 -0
  169. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_router_4G_data.py +0 -0
  170. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_service.py +0 -0
  171. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_switchboard_data.py +0 -0
  172. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_telecom_company.py +0 -0
  173. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_ticket_factory.py +0 -0
  174. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/test_vf_provisioning_article.py +0 -0
  175. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/ticket_types/__init__.py +0 -0
  176. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/ticket_types/test_add_data.py +0 -0
  177. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/ticket_types/test_change_email.py +0 -0
  178. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/ticket_types/test_change_iban.py +0 -0
  179. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/ticket_types/test_change_owner.py +0 -0
  180. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/ticket_types/test_change_pack_not_shared_data.py +0 -0
  181. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/ticket_types/test_change_personal_email.py +0 -0
  182. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/ticket_types/test_change_tariff.py +0 -0
  183. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/ticket_types/test_change_tariff_adsl_landline.py +0 -0
  184. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/ticket_types/test_change_tariff_adsl_out_landline.py +0 -0
  185. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/ticket_types/test_change_tariff_fiber.py +0 -0
  186. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/ticket_types/test_change_tariff_mobile_pack.py +0 -0
  187. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/ticket_types/test_change_tariff_shared_bonds.py +0 -0
  188. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/ticket_types/test_check_coverage.py +0 -0
  189. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/ticket_types/test_shared_bond.py +0 -0
  190. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/otrs_models/ticket_types/test_we_call_you.py +0 -0
  191. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/responses/__init__.py +0 -0
  192. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/responses/test_ticket_creation.py +0 -0
  193. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/__init__.py +0 -0
  194. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/test_activate_change_tariff_mobile_tickets.py +0 -0
  195. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/test_change_to_confirm_ticket.py +0 -0
  196. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/test_get_mobile_related_tickets.py +0 -0
  197. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/test_get_sharing_data_mobile_tickets.py +0 -0
  198. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/test_mapping_mobile_minutes.py +0 -0
  199. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/test_mapping_services.py +0 -0
  200. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/test_move_sharing_data_mobile_tickets.py +0 -0
  201. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/test_search_tickets_mobile_change_tariff.py +0 -0
  202. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/test_search_tickets_service.py +0 -0
  203. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/test_set_SIM_recieved_mobile_ticket_service.py +0 -0
  204. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/test_set_SIM_returned_mobile_ticket_service.py +0 -0
  205. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/test_set_fiber_contract_code_mobile_ticket_service.py +0 -0
  206. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/test_unblock_mobile_pack_ticket.py +0 -0
  207. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/test_update_process_ticket_with_VF_provisioning.py +0 -0
  208. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/test_update_process_ticket_with_coverage_tickets_info_service.py +0 -0
  209. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/services/test_update_ticket_with_provider_info.py +0 -0
  210. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/user_management_client/__init__.py +0 -0
  211. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/user_management_client/test_client.py +0 -0
  212. {otrs_somconnexio-0.7.2 → otrs_somconnexio-0.8.0}/tests/user_management_client/test_user_management_response.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: otrs_somconnexio
3
- Version: 0.7.2
3
+ Version: 0.8.0
4
4
  Summary: Python package for Somconnexio data syncing in OTRS
5
5
  Home-page: https://gitlab.com/coopdevs/otrs_somconnexio
6
6
  Author: Coopdevs
@@ -11,7 +11,6 @@ class FiberDynamicFields(InternetDynamicFields):
11
11
  return [
12
12
  self._df_previous_contract_pon(),
13
13
  self._df_previous_contract_fiber_speed(),
14
- self._activation_notes(),
15
14
  self._df_mobile_pack_contracts(),
16
15
  self._df_all_grouped_SIMS_recieved(),
17
16
  self._df_has_previous_owner_with_mobile_pack_contracts(),
@@ -19,11 +18,6 @@ class FiberDynamicFields(InternetDynamicFields):
19
18
  self._keep_landline_number(),
20
19
  ]
21
20
 
22
- def _activation_notes(self):
23
- return DynamicField(
24
- name="consideracionsActivacio2", value=self.service_data.activation_notes
25
- )
26
-
27
21
  def _df_previous_contract_pon(self):
28
22
  return DynamicField(
29
23
  name="ponAntic", value=self.service_data.previous_contract_pon
@@ -19,7 +19,6 @@ class MobileDynamicFields(ProvisionDynamicFields):
19
19
  self._sim_received(),
20
20
  self._sim_delivery_tracking_code(),
21
21
  self._send_sim_type(),
22
- self._activation_notes(),
23
22
  self._delivery_street(),
24
23
  self._delivery_zip_code(),
25
24
  self._delivery_city(),
@@ -54,11 +53,6 @@ class MobileDynamicFields(ProvisionDynamicFields):
54
53
  name="dniTitularAnterior", value=self.service_data.previous_owner_vat
55
54
  )
56
55
 
57
- def _activation_notes(self):
58
- return DynamicField(
59
- name="consideracionsActivacio", value=self.service_data.activation_notes
60
- )
61
-
62
56
  def _sim_received(self):
63
57
  sim_recieved = "1" if self.service_data.has_sim else "0"
64
58
  return DynamicField("SIMrebuda", sim_recieved)
@@ -0,0 +1,9 @@
1
+ # coding: utf-8
2
+ from otrs_somconnexio.otrs_models.abstract_article import AbstractArticle
3
+
4
+
5
+ class ProvisionArticle(AbstractArticle):
6
+ def __init__(self, subject, notes=""):
7
+ self.subject = subject
8
+ self.isVisibleForCustomer = "0" if notes else "1"
9
+ self.body = notes
@@ -32,6 +32,7 @@ class ProvisionDynamicFields:
32
32
  self._order_id(),
33
33
  self._confirmed_documentation(),
34
34
  self._notes(),
35
+ self._activation_notes(),
35
36
  ]
36
37
  dynamic_fields += self._build_specific_dynamic_fields()
37
38
 
@@ -122,3 +123,8 @@ class ProvisionDynamicFields:
122
123
  return DynamicField(
123
124
  name="consideracionsGenerals", value=self.service_data.notes
124
125
  )
126
+
127
+ def _activation_notes(self):
128
+ return DynamicField(
129
+ name="consideracionsActivacio", value=self.service_data.activation_notes
130
+ )
@@ -1,6 +1,6 @@
1
1
  # coding: utf-8
2
- from pyotrs.lib import Ticket
3
-
2
+ import base64
3
+ from pyotrs.lib import Attachment, Ticket
4
4
  from otrs_somconnexio.client import OTRSClient
5
5
  from otrs_somconnexio.otrs_models.provision_article import ProvisionArticle
6
6
  from otrs_somconnexio.services.get_ticket_title import GetTicketTitle
@@ -11,8 +11,12 @@ class ProvisionTicket:
11
11
  self.responsible_data = responsible_data
12
12
 
13
13
  def create(self):
14
+ new_ticket = self._build_ticket()
14
15
  self.otrs_ticket = OTRSClient().create_otrs_process_ticket(
15
- self._build_ticket(), self._build_article(), self._build_dynamic_fields()
16
+ new_ticket,
17
+ article=self._build_article(),
18
+ dynamic_fields=self._build_dynamic_fields(),
19
+ attachments=self._build_attachments(),
16
20
  )
17
21
 
18
22
  @property
@@ -24,11 +28,7 @@ class ProvisionTicket:
24
28
  return self.otrs_ticket.number
25
29
 
26
30
  def _build_ticket(self):
27
- title = GetTicketTitle(
28
- self.service_data.technology,
29
- self.service_data.order_id,
30
- self.service_type(),
31
- ).build()
31
+ title = self._ticket_title()
32
32
  return Ticket(
33
33
  {
34
34
  "Title": title,
@@ -44,13 +44,40 @@ class ProvisionTicket:
44
44
  }
45
45
  )
46
46
 
47
+ def _get_article_subject(self):
48
+ return self._ticket_title()
49
+
50
+ def _get_article_notes(self):
51
+ return self.service_data.notes
52
+
47
53
  def _build_article(self):
48
54
  provision_article = ProvisionArticle(
55
+ self._get_article_subject(),
56
+ self._get_article_notes(),
57
+ )
58
+ return provision_article.call()
59
+
60
+ def _ticket_title(self):
61
+ return GetTicketTitle(
49
62
  self.service_data.technology,
50
63
  self.service_data.order_id,
51
64
  self.service_type(),
52
- )
53
- return provision_article.call()
65
+ ).build()
66
+
67
+ def _build_attachments(self):
68
+ docs = self._files_to_attach()
69
+ if not docs:
70
+ return []
71
+ return [
72
+ Attachment.create_basic(
73
+ Content=base64.b64encode(bytes(doc["Content"], "utf-8")).decode(
74
+ "utf-8"
75
+ ),
76
+ Filename=doc["Filename"],
77
+ ContentType=doc.get("ContentType", "text/plain"),
78
+ )
79
+ for doc in docs
80
+ ]
54
81
 
55
82
  def _ticket_type(self):
56
83
  return self.otrs_configuration.type
@@ -90,3 +117,9 @@ class ProvisionTicket:
90
117
  return self.responsible_data.email
91
118
  else:
92
119
  return False
120
+
121
+ def _files_to_attach(self):
122
+ """Override to attach files to the ticket.
123
+ Format: [{"Filename": "file.txt", "Content": "file content", "ContentType": "text/plain"}, ...]
124
+ """
125
+ return []
@@ -8,6 +8,8 @@ class SwitchboardHeaderData:
8
8
  contact_phone,
9
9
  sales_team,
10
10
  technology,
11
+ lead_line_data,
12
+ agent_data,
11
13
  notes="",
12
14
  ):
13
15
  self.order_id = order_id
@@ -15,4 +17,6 @@ class SwitchboardHeaderData:
15
17
  self.contact_phone = contact_phone
16
18
  self.sales_team = sales_team
17
19
  self.technology = technology
20
+ self.lead_line_data = lead_line_data
21
+ self.agent_data = agent_data
18
22
  self.notes = notes
@@ -76,5 +76,5 @@ class SwitchboardHeaderDynamicFields:
76
76
 
77
77
  def _notes(self):
78
78
  return DynamicField(
79
- name="consideracionsActivacio3", value=self.service_data.notes
79
+ name="consideracionsActivacio", value=self.service_data.notes
80
80
  )
@@ -0,0 +1,88 @@
1
+ # coding: utf-8
2
+ from tabulate import tabulate
3
+ from itertools import groupby
4
+ from otrs_somconnexio.otrs_models.provision_ticket import ProvisionTicket
5
+ from otrs_somconnexio.otrs_models.switchboard_header_dynamic_fields import (
6
+ SwitchboardHeaderDynamicFields,
7
+ )
8
+ from otrs_somconnexio.otrs_models.configurations.provision.switchboard_ticket import (
9
+ SwitchboardTicketConfiguration,
10
+ )
11
+
12
+
13
+ class SwitchboardHeaderTicket(ProvisionTicket):
14
+ def __init__(self, service_data, customer_data, responsible_data):
15
+ super(SwitchboardHeaderTicket, self).__init__(responsible_data)
16
+ self.service_data = service_data
17
+ self.customer_data = customer_data
18
+ self.otrs_configuration = SwitchboardTicketConfiguration()
19
+
20
+ def service_type(self):
21
+ return "switchboard_header"
22
+
23
+ def _build_dynamic_fields(self):
24
+ return SwitchboardHeaderDynamicFields(
25
+ self.service_data,
26
+ self.customer_data,
27
+ self._ticket_process_id(),
28
+ self._ticket_activity_id(),
29
+ ).all()
30
+
31
+ def _ticket_title(self):
32
+ return "Provisió centraleta virtual (CV) → Capçalera"
33
+
34
+ def _files_to_attach(self):
35
+ formatted_agent_data = self._format_agent_data()
36
+
37
+ attachments = []
38
+
39
+ if formatted_agent_data:
40
+ attachments.append(
41
+ {
42
+ "Filename": "importació_agents_operator_{}.txt".format(
43
+ self.service_data.order_id
44
+ ),
45
+ "Content": formatted_agent_data,
46
+ }
47
+ )
48
+
49
+ return attachments
50
+
51
+ def _get_article_notes(self):
52
+ return self._format_lead_line_data()
53
+
54
+ def _format_lead_line_data(self):
55
+ """Format lead line data for tsv table attachment."""
56
+ lead_line_data = self.service_data.lead_line_data
57
+ if not lead_line_data:
58
+ return ""
59
+
60
+ lead_table_data = list(zip(*lead_line_data.values()))
61
+ headers = lead_line_data.keys()
62
+ lead_lines_table = tabulate(lead_table_data, headers, tablefmt="csv")
63
+
64
+ return lead_lines_table
65
+
66
+ def _format_agent_data(self):
67
+ """Format agent data for operator import attachment.
68
+ Sorted by product, grouped by product.
69
+ """
70
+ agent_data = self.service_data.agent_data
71
+ if not agent_data:
72
+ return ""
73
+
74
+ sorted_agents = sorted(agent_data, key=lambda d: d["product"])
75
+
76
+ pin = "2424"
77
+ agents_info = []
78
+ for product, agents in groupby(sorted_agents, key=lambda ag: ag["product"]):
79
+ agents_info.append(f"{product}:")
80
+
81
+ for agent in agents:
82
+ agents_info.append(
83
+ f"{agent['extension']}\t{agent['agent_name']}\t{pin}\t{agent['agent_name']}\t{agent['agent_email']}" # noqa E501
84
+ )
85
+
86
+ agents_info.append("")
87
+
88
+ return "\n".join(agents_info)
@@ -25,3 +25,11 @@ class SwitchboardTicket(ProvisionTicket):
25
25
  self._ticket_process_id(),
26
26
  self._ticket_activity_id(),
27
27
  ).all()
28
+
29
+ def _ticket_title(self):
30
+ if self.service_data.landline:
31
+ return "Alta número de fix (CV)"
32
+ elif self.service_data.mobile_phone_number:
33
+ return "Alta mòbil agent (CV)"
34
+ else:
35
+ return "Provisió centraleta virtual (CV)"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: otrs-somconnexio
3
- Version: 0.7.2
3
+ Version: 0.8.0
4
4
  Summary: Python package for Somconnexio data syncing in OTRS
5
5
  Home-page: https://gitlab.com/coopdevs/otrs_somconnexio
6
6
  Author: Coopdevs
@@ -0,0 +1,4 @@
1
+ pyotrs==0.12.7
2
+ future==0.18.2
3
+ tabulate==0.9.0
4
+ more-itertools==10.0.0
@@ -5,7 +5,7 @@ with open("README.md") as f:
5
5
  README = f.read()
6
6
 
7
7
 
8
- VERSION = "0.7.2"
8
+ VERSION = "0.8.0"
9
9
 
10
10
  setup(
11
11
  name="otrs_somconnexio",
@@ -19,7 +19,12 @@ setup(
19
19
  packages=find_packages(exclude=("tests", "docs")),
20
20
  include_package_data=True,
21
21
  zip_safe=False,
22
- install_requires=["pyotrs==0.12.7", "future==0.18.2"],
22
+ install_requires=[
23
+ "pyotrs==0.12.7",
24
+ "future==0.18.2",
25
+ "tabulate==0.9.0",
26
+ "more-itertools==10.0.0",
27
+ ],
23
28
  test_suite="unittest2.collector",
24
29
  tests_require=["unittest2", "mock", "factory_boy", "ipdb"],
25
30
  classifiers=[
@@ -41,6 +41,7 @@ class ADSLDynamicFieldsTestCase(unittest.TestCase):
41
41
  "previous_contract_address",
42
42
  "previous_contract_phone",
43
43
  "notes",
44
+ "activation_notes",
44
45
  "adsl_coverage",
45
46
  "mm_fiber_coverage",
46
47
  "asociatel_fiber_coverage",
@@ -9,11 +9,10 @@ from otrs_somconnexio.otrs_models.configurations.provision.adsl_ticket import (
9
9
 
10
10
 
11
11
  class ADSLTicketTestCase(unittest.TestCase):
12
-
13
12
  @patch("otrs_somconnexio.otrs_models.provision_ticket.Ticket")
14
13
  def test_build_ticket(self, MockTicket):
15
14
  customer_data = Mock(spec=["id"])
16
- service_data = Mock(spec=["order_id", "technology"])
15
+ service_data = Mock(spec=["order_id", "technology", "notes"])
17
16
  expected_ticket_arguments = {
18
17
  "Title": "Ticket#{} - Només ADSL".format(service_data.order_id),
19
18
  "Type": ADSLTicketConfiguration.type,
@@ -31,18 +30,19 @@ class ADSLTicketTestCase(unittest.TestCase):
31
30
  MockTicket.assert_called_with(expected_ticket_arguments)
32
31
 
33
32
  @patch("otrs_somconnexio.otrs_models.provision_ticket.ProvisionArticle")
34
- def test_build_article(self, MockInternetArticle):
33
+ def test_build_article(self, MockProvisionArticle):
35
34
  customer_data = Mock(spec=[])
36
- service_data = Mock(spec=["order_id", "technology"])
35
+ service_data = Mock(spec=["order_id", "technology", "notes"])
37
36
 
38
- mock_mobile_article = MockInternetArticle.return_value
37
+ mock_adsl_article = MockProvisionArticle.return_value
39
38
 
40
- ADSLTicket(service_data, customer_data, None)._build_article()
39
+ ticket = ADSLTicket(service_data, customer_data, None)
40
+ ticket._build_article()
41
41
 
42
- MockInternetArticle.assert_called_with(
43
- service_data.technology, service_data.order_id, "adsl"
42
+ MockProvisionArticle.assert_called_once_with(
43
+ ticket._ticket_title(), service_data.notes
44
44
  )
45
- mock_mobile_article.call.assert_called_once()
45
+ mock_adsl_article.call.assert_called_once()
46
46
 
47
47
  @patch("otrs_somconnexio.otrs_models.adsl_ticket.ADSLDynamicFields")
48
48
  def test_build_dynamic_fields(self, MockADSLDynamicFields):
@@ -97,6 +97,7 @@ class ADSLTicketTestCase(unittest.TestCase):
97
97
  "shipment_zip",
98
98
  "shipment_subdivision",
99
99
  "notes",
100
+ "activation_notes",
100
101
  "adsl_coverage",
101
102
  "mm_fiber_coverage",
102
103
  "asociatel_fiber_coverage",
@@ -652,7 +652,8 @@ class FiberDynamicFieldsTestCase(unittest.TestCase):
652
652
 
653
653
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
654
654
  self.assertEqual(
655
- dynamic_fields_dct["consideracionsActivacio2"], "text text text"
655
+ dynamic_fields_dct["consideracionsActivacio"],
656
+ self.service_data.activation_notes,
656
657
  )
657
658
 
658
659
  def test_mobile_pack_contracts_field(self):
@@ -15,7 +15,7 @@ class FiberTicketTestCase(unittest.TestCase):
15
15
  @patch("otrs_somconnexio.otrs_models.provision_ticket.Ticket")
16
16
  def test_build_ticket(self, MockTicket):
17
17
  customer_data = Mock(spec=["id"])
18
- service_data = Mock(spec=["order_id", "technology"])
18
+ service_data = Mock(spec=["order_id", "technology", "notes"])
19
19
 
20
20
  expected_ticket_arguments = {
21
21
  "Title": "Ticket#{} - Només fibra".format(service_data.order_id),
@@ -36,7 +36,7 @@ class FiberTicketTestCase(unittest.TestCase):
36
36
  @patch("otrs_somconnexio.otrs_models.provision_ticket.Ticket")
37
37
  def test_build_ticket_mixed(self, MockTicket):
38
38
  customer_data = Mock(spec=["id"])
39
- service_data = Mock(spec=["order_id", "technology"])
39
+ service_data = Mock(spec=["order_id", "technology", "notes"])
40
40
  service_data.technology = "Mixta"
41
41
  expected_ticket_arguments = {
42
42
  "Title": "Ticket#{} - Fibra mixta".format(service_data.order_id),
@@ -55,16 +55,17 @@ class FiberTicketTestCase(unittest.TestCase):
55
55
  MockTicket.assert_called_with(expected_ticket_arguments)
56
56
 
57
57
  @patch("otrs_somconnexio.otrs_models.provision_ticket.ProvisionArticle")
58
- def test_build_article(self, MockInternetArticle):
58
+ def test_build_article(self, MockProvisionArticle):
59
59
  customer_data = Mock(spec=[])
60
- service_data = Mock(spec=["order_id", "technology"])
60
+ service_data = Mock(spec=["order_id", "technology", "notes"])
61
61
 
62
- mock_mobile_article = MockInternetArticle.return_value
62
+ mock_mobile_article = MockProvisionArticle.return_value
63
63
 
64
- FiberTicket(service_data, customer_data, self.responsible_data)._build_article()
64
+ ticket = FiberTicket(service_data, customer_data, self.responsible_data)
65
+ ticket._build_article()
65
66
 
66
- MockInternetArticle.assert_called_with(
67
- service_data.technology, service_data.order_id, "fiber"
67
+ MockProvisionArticle.assert_called_once_with(
68
+ ticket._ticket_title(), service_data.notes
68
69
  )
69
70
  mock_mobile_article.call.assert_called_once()
70
71
 
@@ -162,3 +163,12 @@ class FiberTicketTestCase(unittest.TestCase):
162
163
  self.assertEqual(
163
164
  ticket.otrs_configuration.service, "Banda Ancha::Fibra::Provisió Fibra"
164
165
  )
166
+
167
+ def test_files_to_attach_no_attachments(self):
168
+ customer_data = Mock()
169
+ service_data = Mock()
170
+
171
+ ticket = FiberTicket(service_data, customer_data, self.responsible_data)
172
+ attachments = ticket._files_to_attach()
173
+
174
+ self.assertFalse(attachments)
@@ -38,17 +38,18 @@ class MobileTicketTestCase(unittest.TestCase):
38
38
 
39
39
  @patch("otrs_somconnexio.otrs_models.provision_ticket.ProvisionArticle")
40
40
  def test_build_article(self, MockProvisionArticle):
41
- mobile_data = Mock(spec=["order_id", "technology"])
41
+ mobile_data = Mock(spec=["order_id", "technology", "notes"])
42
42
  mobile_data.order_id = 123
43
43
 
44
44
  customer_data = Mock(spec=["order_id"])
45
45
 
46
46
  mock_mobile_article = MockProvisionArticle.return_value
47
47
 
48
- MobileTicket(mobile_data, customer_data, self.responsible_data)._build_article()
48
+ ticket = MobileTicket(mobile_data, customer_data, self.responsible_data)
49
+ ticket._build_article()
49
50
 
50
- MockProvisionArticle.assert_called_with(
51
- mobile_data.technology, mobile_data.order_id, "mobile"
51
+ MockProvisionArticle.assert_called_once_with(
52
+ ticket._ticket_title(), mobile_data.notes
52
53
  )
53
54
  mock_mobile_article.call.assert_called_once()
54
55
 
@@ -138,3 +139,12 @@ class MobileTicketTestCase(unittest.TestCase):
138
139
 
139
140
  self.assertEqual(ticket.id, 123)
140
141
  self.assertEqual(ticket.number, "#123")
142
+
143
+ def test_files_to_attach_no_attachments(self):
144
+ customer_data = Mock()
145
+ service_data = Mock()
146
+
147
+ ticket = MobileTicket(service_data, customer_data, self.responsible_data)
148
+ attachments = ticket._files_to_attach()
149
+
150
+ self.assertFalse(attachments)
@@ -0,0 +1,32 @@
1
+ # coding: utf-8
2
+ import unittest
3
+ from mock import patch
4
+
5
+ from otrs_somconnexio.otrs_models.provision_article import ProvisionArticle
6
+
7
+
8
+ class ProvisionArticleTestCase(unittest.TestCase):
9
+ @patch("otrs_somconnexio.otrs_models.abstract_article.Article")
10
+ def test_call_with_notes(self, MockArticle):
11
+ subject = "test subject"
12
+ notes = "test notes"
13
+ expected_article_arguments = {
14
+ "Subject": subject,
15
+ "Body": notes,
16
+ "ContentType": "text/plain; charset=utf8",
17
+ "IsVisibleForCustomer": "0",
18
+ }
19
+ ProvisionArticle(subject=subject, notes=notes).call()
20
+ MockArticle.assert_called_once_with(expected_article_arguments)
21
+
22
+ @patch("otrs_somconnexio.otrs_models.abstract_article.Article")
23
+ def test_call_without_notes(self, MockArticle):
24
+ subject = "test subject"
25
+ expected_article_arguments = {
26
+ "Subject": subject,
27
+ "Body": "",
28
+ "ContentType": "text/plain; charset=utf8",
29
+ "IsVisibleForCustomer": "1",
30
+ }
31
+ ProvisionArticle(subject=subject, notes="").call()
32
+ MockArticle.assert_called_once_with(expected_article_arguments)
@@ -40,6 +40,7 @@ class Router4GDynamicFieldsTestCase(unittest.TestCase):
40
40
  "previous_owner_name",
41
41
  "previous_owner_surname",
42
42
  "notes",
43
+ "activation_notes",
43
44
  "adsl_coverage",
44
45
  "mm_fiber_coverage",
45
46
  "asociatel_fiber_coverage",
@@ -400,6 +401,22 @@ class Router4GDynamicFieldsTestCase(unittest.TestCase):
400
401
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
401
402
  self.assertEqual(dynamic_fields_dct["provinciaEnviament"], "Subdivision")
402
403
 
404
+ def test_activation_notes_field(self):
405
+ self.service_data.activation_notes = "text text text"
406
+
407
+ dynamic_fields = Router4GDynamicFields(
408
+ self.service_data,
409
+ self.customer_data,
410
+ self.router_4G_otrs_process_id,
411
+ self.router_4G_otrs_activity_id,
412
+ ).all()
413
+
414
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
415
+ self.assertEqual(
416
+ dynamic_fields_dct["consideracionsActivacio"],
417
+ self.service_data.activation_notes,
418
+ )
419
+
403
420
  def test_owner_vat_field(self):
404
421
  self.service_data.previous_owner_vat = "12345M"
405
422
 
@@ -15,7 +15,7 @@ class Router4GTicketTestCase(unittest.TestCase):
15
15
  @patch("otrs_somconnexio.otrs_models.provision_ticket.Ticket")
16
16
  def test_build_ticket(self, MockTicket):
17
17
  customer_data = Mock(spec=["id"])
18
- service_data = Mock(spec=["order_id", "technology"])
18
+ service_data = Mock(spec=["order_id", "technology", "notes"])
19
19
 
20
20
  expected_ticket_arguments = {
21
21
  "Title": "Ticket#{} - Només 4G".format(service_data.order_id),
@@ -36,20 +36,19 @@ class Router4GTicketTestCase(unittest.TestCase):
36
36
  MockTicket.assert_called_with(expected_ticket_arguments)
37
37
 
38
38
  @patch("otrs_somconnexio.otrs_models.provision_ticket.ProvisionArticle")
39
- def test_build_article(self, MockInternetArticle):
39
+ def test_build_article(self, MockProvisionArticle):
40
40
  customer_data = Mock(spec=[])
41
- service_data = Mock(spec=["order_id", "technology"])
41
+ service_data = Mock(spec=["order_id", "technology", "notes"])
42
42
 
43
- mock_internet_article = MockInternetArticle.return_value
43
+ mock_provision_article = MockProvisionArticle.return_value
44
44
 
45
- Router4GTicket(
46
- service_data, customer_data, self.responsible_data
47
- )._build_article()
45
+ ticket = Router4GTicket(service_data, customer_data, self.responsible_data)
46
+ ticket._build_article()
48
47
 
49
- MockInternetArticle.assert_called_with(
50
- service_data.technology, service_data.order_id, "4G"
48
+ MockProvisionArticle.assert_called_once_with(
49
+ ticket._ticket_title(), service_data.notes
51
50
  )
52
- mock_internet_article.call.assert_called_once()
51
+ mock_provision_article.call.assert_called_once()
53
52
 
54
53
  @patch("otrs_somconnexio.otrs_models.router_4G_ticket.Router4GDynamicFields")
55
54
  def test_build_dynamic_fields(self, MockRouter4GDynamicFields):
@@ -106,6 +105,7 @@ class Router4GTicketTestCase(unittest.TestCase):
106
105
  "shipment_zip",
107
106
  "shipment_subdivision",
108
107
  "notes",
108
+ "activation_notes",
109
109
  "adsl_coverage",
110
110
  "mm_fiber_coverage",
111
111
  "asociatel_fiber_coverage",
@@ -132,3 +132,12 @@ class Router4GTicketTestCase(unittest.TestCase):
132
132
 
133
133
  self.assertEqual(ticket.id, 123)
134
134
  self.assertEqual(ticket.number, "#123")
135
+
136
+ def test_files_to_attach_no_attachments(self):
137
+ customer_data = Mock()
138
+ service_data = Mock()
139
+
140
+ ticket = Router4GTicket(service_data, customer_data, self.responsible_data)
141
+ attachments = ticket._files_to_attach()
142
+
143
+ self.assertFalse(attachments)
@@ -45,7 +45,8 @@ class SwitchboardDynamicFieldsTestCase(unittest.TestCase):
45
45
  shipment_subdivision=faker.state(),
46
46
  additional_products="A,B,C",
47
47
  confirmed_documentation=faker.boolean(),
48
- notes=faker.word(),
48
+ notes=faker.text(),
49
+ activation_notes=faker.text(),
49
50
  )
50
51
 
51
52
  self.switchboard_otrs_process_id = faker.uuid4()
@@ -188,3 +189,9 @@ class SwitchboardDynamicFieldsTestCase(unittest.TestCase):
188
189
  self.dynamic_fields_dct["consideracionsGenerals"],
189
190
  self.service_data.notes,
190
191
  )
192
+
193
+ def test_activation_notes_field(self):
194
+ self.assertEqual(
195
+ self.dynamic_fields_dct["consideracionsActivacio"],
196
+ self.service_data.activation_notes,
197
+ )
@@ -10,6 +10,8 @@ class SwitchboardHeaderDataTestCase(unittest.TestCase):
10
10
  order_id=123,
11
11
  contact_phone="666666661",
12
12
  email="test@test.com",
13
+ agent_data=[],
14
+ lead_line_data={},
13
15
  sales_team="residential",
14
16
  technology="switchboard",
15
17
  notes="Notes",
@@ -114,6 +114,6 @@ class SwitchboardHeaderDynamicFieldsTestCase(unittest.TestCase):
114
114
 
115
115
  def test_notes_field(self):
116
116
  self.assertEqual(
117
- self.dynamic_fields_dct["consideracionsActivacio3"],
117
+ self.dynamic_fields_dct["consideracionsActivacio"],
118
118
  self.service_data.notes,
119
119
  )