---
# System prepended metadata

title: PR#113 - Clôture groupée v2 - 2022-08-16

---

# PR#113 - Clôture groupée v2 - 2022-08-16

[Lien vers la PR #113](https://bitbucket.org/zelty/zelty-pos/pull-requests/113)

# Général

- [ ] Supprimer le fichier `Zelty Caisse/UI/Controllers/SettingsViews/POSSettingsParamsController.m` qui aurait du être supprimé après le merge de `master`
- [ ] Checker les erreurs sur SonarCloud (pour l'instant la build ne compile pas)
- [ ] Tu as oublié le prefix `ZD` sur `ZBatchCloseOrdersViewModel` (et son protocol) et sur `ZBatchCloseOrdersViewController`
- [ ] Dans le filesystem `ZBatchCloseOrdersViewController` se trouve dans `Zelty Caisse` alors qu'il faudrait le mettre dans `Zelty Caisse/ZDelivery/Batch Close Orders`

# ZColorCatalog

- [ ] `selectedCellBackground`
  - C'est bien la modif que tu as fait MAIS on a déjà une propriété `cellBackgroundSelected` du coup ça fait doubon. On ne peut pas utiliser l'existante ?
  - Ta couleur ne gère pas de darkmode ce qui est dommage. Si on l'utilise autre par on va avoir un souci avec le dark mode ^^

# CustomAlert

- [ ] Tu as mis `Zelty` en contenu de l'alerte et le contenu en titre...
- [ ] Tu peux te baser sur `ZAlert` pour voir les méthodes qu'on a y'en a avec ou sans le titre. Quand on ne passe pas le titre on met `Zelty` dans le titre.

# ZDeliveryMainViewController

- [ ] Rien a voir mais j'ai l'impression que `orderIsAddedOrDeleted` ne sert a rien ? Peut-être checker les autres variables si on peut pas faire un peu de ménage.
- [ ] Ton `ZDeliveryMainViewController.closeOrdersByBatch()` délenche les méthodes suivantes :
  - `self.mainPresenter?.closeOrdersByBatch()`
  - `interactor.closeOrdersByBatch(uuids: uuids)` (on fait un tour dans l'interactor)
  - `presenter?.dismissBatchCloseOrdersView()`  (on reivent dans le presenter)
  - `view?.viewModel?.flowDelegate?.dismiss()` (on appelle la vue dans laquelle on était au début, puis le VM, puis le flowDelegate)
  - => `ZDeliveryMainViewController.closeOrdersByBatch()` devrait appeler directement `self.flowDelegate.dismiss()`
- [ ] Tu peux ensuite supprimer toute la chaine `dismissBatchCloseOrdersView()` qui n'est plus utilisée
- [ ] Le `ZBatchCloseOrdersViewModel` (et le `ZBatchCloseOrdersViewModelRepresentable`) ne devraient pas avoir le `flowDelegate: ZDBatchCloseOrdersCoordinatorFlowDelegate` en propriété ce n'est pas logique ça ne fait pas partie de la logique métier mais de la logique de la vue. Normalement avec les modifs ci-dessus la propriété ne devrait plus être utilisée.

# ZDeliveryCoordinator

- [ ] `dismissBatchCloseOrdersView` il faut vider la mémoire en supprimant `batchCloseOrdersCoordinatorFlowDelegate = nil` sinon ton coordinator (et le VC qu'il contient) vont rester en mémoire indéfiniement

# Le reste

- [ ] Dans  `updateUIAfterBatchCloseOrdersViewControllerDidDismiss()` tu peux par remplacer la première ligne `closableByBatchOrderZDeliveryMainViewModels.forEach { $0.isSelected = false }` par un truc qui désélectionne tout (cf : https://stackoverflow.com/questions/59221167/how-can-i-deselect-all-rows-in-an-uitableview)
