Skip to content

Commit

Permalink
Merge b96461a into 83b7b2b
Browse files Browse the repository at this point in the history
  • Loading branch information
vokimon committed Jan 27, 2022
2 parents 83b7b2b + b96461a commit 2f7e312
Show file tree
Hide file tree
Showing 34 changed files with 2,462 additions and 676 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
# The type of runner that the job will run on
runs-on: ubuntu-latest
env:
TRAVIS: 1 # Skip tests requiring data
TRAVIS: 'true' # Skip tests requiring data
strategy:
matrix:
python-version:
Expand Down Expand Up @@ -56,6 +56,7 @@ jobs:
- uses: actions/upload-artifact@master
if: failure() && hashFiles('b2bdata/*result*')
with:
# TODO: use GITHUB_REF_NAME GITHUB_SHA
name: b2b-results
path: |
b2bdata/*result*
Expand Down
23 changes: 21 additions & 2 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# Changelog

## unreleased

- Call annotation workflow redesign
- Claims and infos unified, single log, api entry, topic list...
- Structured info on topics/categories are retrieved
from api avoiding fragile parsing of the description
- Save Annotation without call, person or contract
- `tomatic_uploadcases.py` upload both info and claims
- All categories have a code and optionally a section
- Translate HelpDesk section as CONSULTA
- Translate
- ERP user is set on cases
- Custom banners for pebrotic and ketchup variants by CLI
- Fix: search values trimmed and urlencoded

## 4.3.2 2022-01-21

- Persistent kumato mode using local browser storage
Expand All @@ -23,14 +38,18 @@

## 4.2.5 2021-11-23

- Callinfo: New autoconsumption alert
- Call annotations are uploaded by a cron to the ERP as CRM and ATC Cases
- Call logging and annotation simplified in a single log (Breaks backward compatibility)
- persons.yaml is created the first time Tomatic is run

- Call Info: New alert for self-comsumption contracts
- Fix: person color sliders set to initial values
- Persons have a new field: ERP User
- Accessibility: White for text in person boxes with dark colors

## 4.2.4 2021-11-22

- Documentation: Added a user guide
- Documentation: Added user guide with screenshots and videos
- Documentation: README splitted and reorganized
- CI/CD Migrated from Travis to Github Actions
- Scripts moved to a folder and used thought PATH
Expand Down
155 changes: 126 additions & 29 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,109 @@
# TODO's

## Backlog

- [ ] Remove config.yaml from git (backup the file to use it in production)
- [ ] Configurable timetable directory ('graelles')
- [ ] Configurable execution directory ('executions')
- [ ] Move shiftload generated files to a configurable dir (maybe same as timetables dir?)
- [ ] `Claim.get_claims` -> Claim.get/update/retrieveClaimTypes
- [ ] As an agent i want to be able to see cancelled contracts in callinfo (pe. for claims of unauthorized switching)
- [ ] Call Info: Report diferently, search cleared from no search found
- [ ] Call Info: Intercept backend connection errors and behave
- [ ] Call info: List previous calls from same person/contract
- [ ] Unify call log also into the case log
- [ ] Google login
- [ ] API tests in fastapi
- [ ] Accept fragile erp tests
- [ ] Strip spaces in the search
- [ ] Edit previous annotations
- [ ] On ringing sandwich pbx ext, and use tomatic users inside (do not log by ext but by user)
- [ ] Translate call log field names from catalan
- [ ] api/info/ringring -> api/call/ringring (ext)
- [ ] /api/personlog/<ext> en els casos de fallada returnar una llista buida sense errors (no son de fallada, encara no hi ha logs i prou)
- [ ] api/personlog/{ext} -> api/call/log/{user}
- [ ] api/updateClaims -> called by cron or init
- [ ] api/updateClaimTypes -> called by cron or init
- [ ] api/updateCrmCategories -> called by cron or init
- [ ] api/getClaimTypes -> api/call/claim/types?
- [ ] api/getInfos -> api/call/info/types?
- [ ] consider joining getClaimTypes and getInfos
- [ ] GSpread docs say that moving the credential to `~/.config/gspread/service_account.json` avoids having to pass it around as parameter
- [ ] `tomatic_calls` should use persons module instead referring persons.yaml directly

- Planner:
- [ ] Refactor as Single Page App
- [ ] Style it
- [ ] Show cutting reasons of best solutions
- [ ] Ask before deleting, killing, uploading...
- Scheduler:
- [ ] Join load computation into the scheduler script
- Person editor:
- [ ] Disable ok until all fields are valid
- [ ] Check extension not taken already
- [ ] Check erp user exists
- [ ] Focus on first dialog field on open
- [ ] Take person info from holidays manager
- [ ] List/admin mode
- Callinfo
- [ ] Simplify yaml structure
- [ ] Refactor tests
- Alerts:
- [ ] Unpaid invoices

## Trello https://trello.com/c/ljKRzvz5/4221-0-3-p7-centraleta-kalinfo-desar-els-casos-de-consultes-del-kalinfo-al-erp

- [ ] Cache topics. Avoid retrieving from erp every time
- [ ] Clean up del retrieveClaims/Infos: menu, dialog, frontend call, api...
- [ ] !!! create crm: solved = True (lo comentamos cuando lo movimos a una funcion a parte)
- [ ] Dubte AiS: renombrar user -> seccion/team (preguntar a AiS per terminologia de domini)
- [ ] Dubte AiS/ERP: how to value solved, depending of resolution
- [ ] callinfo log: join infos/claims with log? (consider performance and usage)
- [ ] create crm: extract seccio del reason and remove the field
- [ ] create crm: cas contracte no existeix
- [ ] callreg: Rename Claims to reflect its repurposing
- [ ] callreg: On failing annotation, ui notifies the user
- [ ] Urlencoding the search does not work (search something with slash or commas
- [ ] Manual annotations with some search renders "Registre..." in the call list


## Dones

- [x] encapsulate access to the categories info in frontend
- [x] entry point to obtain categories
- [x] callreg: create crm: Inserir usuari correcte al CRM (es fa servir l'usuari loggejat a l'erp: Scriptlauncher i no veiem com canviar-ho)
- [x] Dubte AiS: cal pujar les anotacios que heu fet de proves -> No, quan les posem netejem
- [x] Dubte AiS: tenim les llistes a produccio que fem amb elles (mostrarles perque hi ha brossa i textos que poden canviar) -> Ara les bones estan a testing, Script de migracio
- [x] callinfo log: unite resolution fields
- [x] callinfo log: join infos and claims
- [x] Importar categories que falten de atc com a categorias de crmcases
- [x] anotate_case: sensitive to the case fields creates atc or not
- [x] Use contrast text color for person boxes
- [x] Editable erpuser in PersonEditor
- [x] move scripts to a folder
- [x] Fix: Person color picker sliders are not valued with the initial color
- [x] persons interface: api uses persons
- [x] persons interface: persons() set attributes with ns() if not found
- [x] persons interface: persons.update(person, **kwds)
- [x] persons interface: tomatic_says use persons
- [x] persons interface: scheduler use persons
- [x] persons interface: shiftload uses persons
- [x] pbx interface: use pbx backends instead of current pbx interface
- [x] pbx interface: remove use setScheduledQueue (mostly in tests)
- [x] pbx interface: unify backend interfaces
- [x] pbx interface: dbasterisk works with names not extensions
- [x] Hangouts: Configurable token file path
- [x] Hangouts: Choose output channel by CLI
- [x] Hangouts: Choose token file by CLI
- [x] Hangouts: List channels when no channel has been configured yet
- [x] Refactoritzar codi comu dels getInfoPersonByXXXX
- [x] Optimizar búsquedas callinfo
- [x] Commit `info_cases/info_cases.yaml`
- [x] Commit `claims_dict.yaml`
- [x] /api/claimReasons Deprecated (no ui code aparently)
- [x] /api/infoReasons Deprecated (no ui code aparently)
- [x] /api/callReasons Deprecated (no ui code aparently)
- [x] Translate case field names from catalan
- [x] Call Info: download invoices and metering in a separate query to provide response earlier
- [x] Call Info: Relayout persons and contracts in one side, alarms invoices and meters on the other
- [x] Anotar trucada d'una persona encara no vinculada a som
Expand Down Expand Up @@ -25,35 +131,26 @@
- [x] Contract info: Add provincia field
- [x] Contract info: Add Contract modification list
- [x] Call Registry: layout shorter and wider on small screens

### 2021-11-12

- [x] Create Claim case
- [ ] Create Phone Call Case
- [ ] One endpoint for call registry in API
- [ ] One method for call registry in CallRegistry
- [ ] `Claim.get_claims` -> Claim.get/update/retrieveClaimTypes
- [ ] As an agent i want to be able to see ended contracts in callinfo (pe. for claims of unauthorized switching)
- [ ] Call Info: Report diferently, search cleared from no search found
- [ ] Call Info: Intercept backend connection errors and behave
- [ ] Call info: List previous calls from same person/contract
- [ ] Google login
- [ ] API tests in fastapi
- [ ] Accept fragile erp tests
- [ ] Fix: Person color picker does not pick initial color
- [ ] Strip spaces in the search
- [ ] Edit previous annotations
- [ ] Use contrast text color for person boxes
- [ ] Sandwich pbx ext from ringring, and use users all along
- [ ] Translate log field names from catalan
- [ ] api/info/ringring -> api/call/ringring (ext)
- [ ] api/personlog/{ext} -> api/call/log/{user}
- [ ] api/updatelog/{user} -> api/call/log/update/{user}
- [ ] api/infoCase -> api/call/annotation
- [ ] api/atrCase -> api/call/annotation (joined)
- [ ] consider joining updatelog, infoCase and atrCase
- [ ] api/updateClaims -> cron or init
- [ ] api/updateClaimTypes -> cron or init
- [ ] api/updateCrmCategories -> cron or init
- [ ] api/getClaimTypes -> api/call/claim/types?
- [ ] api/getInfos -> api/call/info/types?
- [ ] conisider joining getClaimTypes and getInfos
- [x] One endpoint for call registry in API
- [x] joining updatelog, infoCase and atrCase
- [x] api/updatelog/{user} -> api/call/annotation (joined)
- [x] api/infoCase -> api/call/annotation (joined)
- [x] api/atrCase -> api/call/annotation (joined)
- [x] One method for call registry in CallRegistry
- [x] Bug: Antotacions UI: Radio button no resolt + tenia rao > no tenia rao
- [x] create crm: cas amb tot
- [x] create crm: cas sense contracte
- [x] create crm: cas sense partner
- [x] create crm: te sentit loggejar el cups si tenim el contract id? -> No, fet
- [x] create atc uses create crm
- [x] create atc: cover test cases
- [x] empty kalinfo.crmcase and remove
- [x] Claims.get_claims -> claimCategories()
- [x] callinfo log: do not dump cups



Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
categories:
- '[ASSIGNAR USUARI] 001. ATENCION INCORRECTA'
- '[RECLAMACIONS] 002. PRIVACIDAD DE LOS DATOS'
- '[FACTURA] 003. INCIDENCIA EN EQUIPOS DE MEDIDA'
- '[RECLAMACIONS] 004. DAÑOS ORIGINADOS POR EQUIPO DE MEDIDA'
- '[FACTURA] 005. CONTADOR EN FACTURA NO CORRESPONDE CON INSTALADO'
- '[FACTURA] 006. CONTRATOS ATR QUE NO SE FACTURAN'
- '[FACTURA] 007. CUPS NO PERTENECE A COMERCIALIZADORA O NO VIGENTE EN PERIODO DE
FACTURA'
- '[FACTURA] 008. DISCONFORMIDAD CON CONCEPTOS FACTURADOS'
- '[FACTURA] 009. DISCONFORMIDAD CON LECTURA FACTURADA'
- '[FACTURA] 010. DISCONFORMIDAD EN FACTURA ANOMALÍA / FRAUDE'
- '[FACTURA] 011. RECLAMACIÓN FACTURA PAGO DUPLICADO'
- '[FACTURA] 012. REFACTURACION NO RECIBIDA'
- '[CONTRACTES - C] 013. DISCONFORMIDAD CON CAMBIO DE SUMINISTRADOR'
- '[CONTRACTES - C] 014. REQUERIMIENTO DE FIANZA / DEPÓSITO DE GARANTÍA'
- '[COBRAMENTS] 015. RETRASO CORTE DE SUMINISTRO'
- '[FACTURA] 018. DISCONFORMIDAD CON CRITERIOS ECONÓMICOS / COBROS'
- '[FACTURA] 019. DISCONFORMIDAD CON CRITERIOS TÉCNICOS / OBRA EJECUTADA'
- '[RECLAMACIONS] 020. CALIDAD DE ONDA'
- '[RECLAMACIONS] 021. CON PETICIÓN DE INDEMNIZACIÓN'
- '[RECLAMACIONS] 022. SIN PETICIÓN DE INDEMNIZACIÓN'
- '[RECLAMACIONS] 023. RETRASO EN PAGO INDEMNIZACION'
- '[RECLAMACIONS] 024. DAÑOS A TERCEROS POR INSTALACIONES'
- '[RECLAMACIONS] 025. IMPACTO AMBIENTAL INSTALACIONES'
- '[RECLAMACIONS] 026. RECLAMACIONES SOBRE INSTALACIONES'
- '[RECLAMACIONS] 027. DISCONFORMIDAD DESCUENTO SERVICIO INDIVIDUAL'
- '[RECLAMACIONS] 028. EJECUCIÓN INDEBIDA DE CORTE'
- '[ASSIGNAR USUARI] 029. RETRASO EN LA ATENCIÓN A RECLAMACIONES'
- '[CONTRACTES - A] 030. RETRASO PLAZO DE CONTESTACIÓN NUEVOS SUMINISTROS'
- '[CONTRACTES - A] 031. RETRASO PLAZO DE EJECUCIÓN NUEVO SUMINISTRO'
- '[COBRAMENTS] 032. RETRASO REENGANCHE TRAS CORTE'
- '[CONTRACTES - C] 034. DISCONFORMIDAD CON CONCEPTOS DE CONTRATACIÓN ATR-PEAJE'
- '[ASSIGNAR USUARI] 035. DISCONFORMIDAD RECHAZO SOLICITUD ATR-PEAJE'
- '[FACTURA] 036. PETICIÓN DE REFACTURACIÓN APORTANDO LECTURA'
- '[FACTURA] 037. FICHERO XML INCORRECTO'
- '[RECLAMACIONS] 038. PRIVACIDAD DE LOS DATOS'
- '[RECLAMACIONS] 039. SOLICITUD DE CERTIFICADO / INFORME DE CALIDAD'
- '[FACTURA] 040. SOLICITUD DE DUPLICADO DE FACTURA'
- '[RECLAMACIONS] 041. SOLICITUD DE ACTUACIÓN SOBRE INSTALACIONES'
- '[RECLAMACIONS] 042. SOLICITUD DE DESCARGO'
- '[RECLAMACIONS] 043. PETICIÓN DE PRECINTADO / DESPRECINTADO DE EQUIPOS'
- '[FACTURA] 044. PETICIONES CON ORIGEN EN CAMPAÑAS DE TELEGESTIÓN'
- '[CONTRACTES - C] 045. ACTUALIZACION DIRECCIÓN PUNTO DE SUMINISTRO'
- '[FACTURA] 046. CERTIFICADO DE LECTURA'
- '[FACTURA] 047. SOLICITUD RECALCULO CCH SIN MODIFICACION CIERRE ATR'
- '[ASSIGNAR USUARI] 048. PETICIÓN INFORMACIÓN ADICIONAL RECHAZO'
- '[FACTURA] 049. FALTA FICHERO MEDIDA'
- '[FACTURA] 055. DISCONFORMIDAD SOBRE IMPORTE FACTURADO AUTOCONSUMO'
- '[FACTURA] 056. PETICIÓN DESGLOSE IMPORTE A FACTURAR AUTOCONSUMO'
- '[RECLAMACIONS] 057. DISCONFORMIDAD CON EXPEDIENTE DE ANOMALIA Y FRAUDE (sin factura
emitida)'
- '[CONTRACTES - C] 058. RETRASO EN PLAZO ACEPTACIÓN CAMBIO DE COMERCIALIZADOR'
- '[CONTRACTES - C] 059. RETRASO EN PLAZO ACTIVACIÓN CAMBIO DE COMERCIALIZADOR '
- '[CONTRACTES - M] 060. RETRASO EN PLAZO ACEPTACIÓN MODIFICACIÓN CONTRACTUAL'
- '[CONTRACTES - M] 061. RETRASO EN PLAZO ACTIVACIÓN MODIFICACIÓN CONTRACTUAL'
- '[CONTRACTES - A] 062. RETRASO EN PLAZO ACEPTACIÓN ALTA DE UN NUEVO SUMINISTRO'
- '[CONTRACTES - A] 063. RETRASO EN PLAZO ACTIVACIÓN ALTA DE UN NUEVO SUMINISTRO'
- '[CONTRACTES - B] 064. RETRASO EN PLAZO ACEPTACIÓN DE UNA BAJA DE UN SUMINISTRO'
- '[CONTRACTES - B] 065. RETRASO EN PLAZO ACTIVACIÓN BAJA DE UN SUMINISTRO'
- '[CONTRACTES - M] 066. INFORMACIÓN/VALIDACIÓN SOBRE DATOS DEL CONTRATO ATR/PEAJE'
- '[FACTURA] 067. VERIFICACIÓN DE CONTADOR'
- '[Atenció al Client] 068. RECLAMACIÓN POR APLICACIÓN DEL FACTOR DE CONVERSIÓN O
EL PCS'
- '[CONTRACTES - C] 100. INCIDENCIAS CONTRATACIÓN BONO SOCIAL'
- '[COBRAMENTS] 101. DATOS BANCARIOS/FORMA DE PAGO ERRÓNEA'
- '[COBRAMENTS] 102. ERRORES EN COBROS/ ABONOS'
- '[FACTURA] 103. DISCONFORMIDAD PRECIOS FACTURADOS O REPERCUTIDOS POR LA COMERCIALIZADORA'
- '[COBRAMENTS] 104. DISCONFORMIDAD FRACCIONAMIENTO O GASTOS ESPECIALES COBRADOS'
- '[COBRAMENTS] 105. DISCONFORMIDAD CON EL RECOBRO'
- '[RECLAMACIONS] 106. DISCONFORMIDAD CON PENALIZACIÓN POR PRONTA RESOLUCIÓN'
- '[CONTRACTES - C] 107. INSUFICIENTE INFORMACIÓN EN EL MOMENTO DE LA CONTRATACIÓN
(Condiciones contractuales, derecho de desistimiento)'
- '[CONTRACTES - C] 108. RECLAMACION RESPECTO AL DERECHO DE DESISTIMIENTO'
- '[FACTURA] 109. FACTURACION DE OTROS SERVICIOS TRAS LA CANCELACIÓN DEL SUMINISTRO'
- '[FACTURA] 110. FALTA DE CLARIDAD EN LAS FACTURAS '
- '[RECLAMACIONS] 111. FALTA DE CLARIDAD CONDICIONES CONTRACTUALES'
- '[RECLAMACIONS] 112. DIFICULTAD EN LA CONTRATACIÓN DE LA TUR/PVPC CON EL CUR/COR'
- '[RECLAMACIONS] 113. RECLAMACIONES POR PRACTICAS COMERCIALES INCORRECTAS'
- '[FACTURA] 114. RETRASO EN FACTURACIÓN COMERCIALIZADOR'
- '[FACTURA] 069. COPIA F1 EN PDF'
- '[ASSIGNAR USUARI] 070. RETRASO EN LA ATENCIÓN A RECLAMACIONES NO SUJETAS A ATENCIÓN
REGLAMENTARIA'
- '[Atenció al Client] 033. POR URGENCIAS'
- '[Atenció al Client] 050. DESACUERDO FACTURACIÓN'
- '[Atenció al Client] 051. CONDUCTA INADECUADA'
- '[Atenció al Client] 052. DISCONFORMIDAD TRABAJOS REALIZADOS'
- '[Atenció al Client] 053. INCUMPLIMIENTO HORA'
- '[Atenció al Client] 054. DAÑOS INSPECCIÓN'
- '[ASSIGNAR USUARI] 071. RETRASO EN PLAZO DE ACEPTACIÓN DESISTIMIENTO'
- '[ASSIGNAR USUARI] 072. RETRASO EN PLAZO DE ACTIVACIÓN DESISTIMIENTO'
- '[ASSIGNAR USUARI] 073. PARÁMETROS DE COMUNICACIÓN'
- '[ASSIGNAR USUARI] 074. RETRASO EN PLAZO DE ACEPTACIÓN ANULACIÓN'

0 comments on commit 2f7e312

Please sign in to comment.