git.iko.soy/dashared/hookah-tau
on develop help sign in
7 files changed+77−10
since splitsnapshots
unifiedsplit
Hookah Tau.xcodeproj/project.pbxproj+2−2 Hookah Tau/Controllers/Admin/Clients/Profile/ClientProfileCoordinator.swift+11−1 Hookah Tau/Controllers/Admin/Clients/Profile/ProfileTableViewController.swift+16−2 Hookah Tau/Controllers/Admin/Reservations/Making a reeservation/1/AdminFirstStepReservationViewCoordinator.swift+39 Hookah Tau/Controllers/Admin/Reservations/Making a reeservation/2/AdminSecondStepReservationViewController.swift+4−1 Hookah Tau/Controllers/Admin/Reservations/Making a reeservation/2/AdminSecondStepReservationViewCoordinator.swift+1 Hookah Tau/Controllers/Admin/Reservations/Views/AdminReservationView.swift+4−4
Hookah Tau.xcodeproj/project.pbxproj+2−2
@@ -1466,7 +1466,7 @@
14661466 buildSettings = {
14671467 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
14681468 CODE_SIGN_STYLE = Automatic;
1469− CURRENT_PROJECT_VERSION = 4;
1469+ CURRENT_PROJECT_VERSION = 5;
14701470 DEVELOPMENT_TEAM = 23S94LRHD8;
14711471 INFOPLIST_FILE = "Hookah Tau/Info.plist";
14721472 IPHONEOS_DEPLOYMENT_TARGET = 11.0;
@@ -1486,7 +1486,7 @@
14861486 buildSettings = {
14871487 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
14881488 CODE_SIGN_STYLE = Automatic;
1489− CURRENT_PROJECT_VERSION = 4;
1489+ CURRENT_PROJECT_VERSION = 5;
14901490 DEVELOPMENT_TEAM = 23S94LRHD8;
14911491 INFOPLIST_FILE = "Hookah Tau/Info.plist";
14921492 IPHONEOS_DEPLOYMENT_TARGET = 11.0;
Hookah Tau/Controllers/Admin/Clients/Profile/ClientProfileCoordinator.swift+11−1
@@ -24,8 +24,18 @@ class ClientProfileCoordinator: BaseCoordinator {
2424
2525
2626 // Создание бронирования из профиля клиента
27− func createReservation(forUserWithPhone phoneNumber: String) {
27+ func createReservation(forUserWithPhone phoneNumber: String, user fullUser: FullUser) {
28+ let coordinator = AdminFirstStepReservationViewCoordinator(navigationController: navigationController)
29+ coordinator.phone = phoneNumber
30+ coordinator.fullUser = fullUser
2831
32+ addDependency(coordinator)
33+ coordinator.didFinish = { [weak self] in
34+ self?.removeDependency(coordinator)
35+ self?.navigationController?.popViewController(animated: true)
36+ }
37+
38+ coordinator.start()
2939 }
3040
3141 // Просмотр (и редактирование) брони
Hookah Tau/Controllers/Admin/Clients/Profile/ProfileTableViewController.swift+16−2
@@ -79,14 +79,19 @@ class ProfileTableViewController: BaseViewController {
7979 setupNavBar()
8080 setupTable()
8181 setupActivityIndicator()
82− loadReservations()
82+ //loadReservations()
8383 }
8484
8585 override func viewWillAppear(_ animated: Bool) {
86− super.viewDidAppear(animated)
86+ super.viewWillAppear(animated)
8787 tabBarController?.tabBar.isHidden = true
8888 }
8989
90+ override func viewDidAppear(_ animated: Bool) {
91+ super.viewDidAppear(animated)
92+ loadReservations()
93+ }
94+
9095 // MARK: - Setup
9196
9297 func setupNavBar() {
@@ -183,7 +188,16 @@ class ProfileTableViewController: BaseViewController {
183188 }
184189
185190 @objc func book() {
191+ guard
192+ let phone = user?.phoneNumber,
193+ let user = user
194+ else { return }
186195
196+ let fullUser = FullUser(uuid: user.uuid,
197+ name: user.name,
198+ phoneNumber: user.phoneNumber,
199+ isAdmin: user.isAdmin)
200+ coodinator?.createReservation(forUserWithPhone: phone, user: fullUser)
187201 }
188202}
189203
Hookah Tau/Controllers/Admin/Reservations/Making a reeservation/1/AdminFirstStepReservationViewCoordinator.swift+39
@@ -28,6 +28,12 @@ class AdminFirstStepReservationViewCoordinator: BaseCoordinator{
2828
2929 var establishment: Int = 1
3030
31+ var phone: String?
32+
33+ var fullUser: FullUser?
34+
35+ var model: SecondStepModel?
36+
3137 // MARK: - Lifecycle
3238
3339 override func start() {
@@ -52,6 +58,39 @@ extension AdminFirstStepReservationViewCoordinator: FirstStepReservationProtocol
5258 }
5359
5460 func makeReservation(model: SecondStepModel, mapView: MapImageScroll?) {
61+ self.model = model
62+
63+ if let p = phone {
64+ goToFinalStep(with: fullUser, phone: p)
65+ } else {
66+ goToSecondStep(model: model, mapView: mapView)
67+ }
68+ }
69+
70+ func goToFinalStep(with user: FullUser?, phone phoneNumber: String) {
71+ let finalStepCoordinator = AdminFinalStepReservationCoordinator(navigationController: navigationController)
72+ finalStepCoordinator.model = self.model
73+
74+ addDependency(finalStepCoordinator)
75+ finalStepCoordinator.didFinish = { [weak self] in
76+ self?.navigationController?.popViewController(animated: false)
77+ self?.removeDependency(finalStepCoordinator)
78+ self?.didFinish?()
79+ }
80+
81+ if let u = user {
82+ finalStepCoordinator.user = u
83+ } else {
84+ finalStepCoordinator.user = FullUser(uuid: nil,
85+ name: nil,
86+ phoneNumber: phoneNumber,
87+ isAdmin: true)
88+ }
89+
90+ finalStepCoordinator.start()
91+ }
92+
93+ func goToSecondStep(model: SecondStepModel, mapView: MapImageScroll?) {
5594 let reservationCoordinaotor = AdminSecondStepReservationViewCoordinator(navigationController: navigationController)
5695 reservationCoordinaotor.model = model
5796 reservationCoordinaotor.map = mapView
Hookah Tau/Controllers/Admin/Reservations/Making a reeservation/2/AdminSecondStepReservationViewController.swift+4−1
@@ -22,6 +22,8 @@ class AdminSecondStepReservationViewController: BaseViewController {
2222
2323 // MARK: - Properties
2424
25+ var table: Int?
26+
2527 var mapScrollView: MapImageScroll?
2628
2729 var clientsService: ClientsService?
@@ -58,7 +60,8 @@ class AdminSecondStepReservationViewController: BaseViewController {
5860 // MARK: - Set up
5961
6062 func setupMap() {
61− mapScrollView?.scrollToTable(table: 8)
63+ guard let t = table else { return }
64+ mapScrollView?.scrollToTable(table: t)
6265 mapContainerView.addSubviewThatFills(mapScrollView)
6366 }
6467
Hookah Tau/Controllers/Admin/Reservations/Making a reeservation/2/AdminSecondStepReservationViewCoordinator.swift+1
@@ -24,6 +24,7 @@ class AdminSecondStepReservationViewCoordinator: BaseCoordinator {
2424 let storyboard = UIStoryboard(name: "AdminReservations", bundle: nil)
2525 let reservationVC = storyboard.instantiateViewController(withIdentifier: "AdminSecondStepReservationViewController") as! AdminSecondStepReservationViewController
2626 reservationVC.mapScrollView = map
27+ reservationVC.table = model?.table
2728 reservationVC.coordinator = self
2829 navigationController?.pushViewController(reservationVC, animated: true)
2930 }
Hookah Tau/Controllers/Admin/Reservations/Views/AdminReservationView.swift+4−4
@@ -116,7 +116,7 @@ class AdminReservationView: UIView {
116116
117117 startDate = start
118118
119− setUpIntervals(model.owner.isAdmin)
119+ setUpIntervals()
120120
121121 guestSlider?.maximumValue = Float((TotalStorage.standard.getTable(establishment: model.establishment, table: model.reservedTable)?.maxGuestNumber ?? 2) + 1)
122122 }
@@ -165,11 +165,11 @@ class AdminReservationView: UIView {
165165 // MARK: - Setup
166166
167167 /// Тут происходит установка интервалов. Разное для клиента и админа
168− func setUpIntervals(_ isAdmin: Bool) {
168+ func setUpIntervals() {
169169 guard let startPoint = startDate else { return }
170170
171− let startingPoint = isAdmin ? startPoint.getAdminsStartingPoint() : Constants.clientStartingPoint
172− let endingPoint = startingPoint + (isAdmin ? Constants.adminDuration : Constants.clientDuration)
171+ let startingPoint = startPoint.getAdminsStartingPoint()
172+ let endingPoint = Constants.adminDuration
173173
174174 for period in startingPoint...endingPoint {
175175 let timePointView = TimePointView.loadFromNib()