Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 0 additions & 9 deletions Modules/Sources/Networking/Model/Bookings/Booking.swift
Original file line number Diff line number Diff line change
Expand Up @@ -239,12 +239,3 @@ public enum BookingAttendanceStatus: String, CaseIterable, Codable {
case noShow = "no-show"
case unknown
}

/// Represents the payment status for a booking.
/// To be decoded from booking response once available.
public enum BookingPaymentStatus: String, CaseIterable, Codable {
case paid
case unpaid
case refunded
case unknown
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,21 +17,18 @@ public struct StoredBookingFilters: Codable, Equatable, GeneratedFakeable {
public let teamMembers: [BookingTeamMemberFilter]
public let products: [BookingProductFilter]
public let attendanceStatuses: [BookingAttendanceStatus]
public let paymentStatuses: [BookingPaymentStatus]
public let customers: [BookingCustomerFilter]
public let dateRange: BookingDateRangeFilter?
public let numberOfActiveFilters: Int

public init(teamMembers: [BookingTeamMemberFilter],
products: [BookingProductFilter],
attendanceStatuses: [BookingAttendanceStatus],
paymentStatuses: [BookingPaymentStatus],
customers: [BookingCustomerFilter],
dateRange: BookingDateRangeFilter?) {
self.teamMembers = teamMembers
self.products = products
self.attendanceStatuses = attendanceStatuses
self.paymentStatuses = paymentStatuses
self.customers = customers
self.dateRange = dateRange
self.numberOfActiveFilters = {
Expand All @@ -48,9 +45,6 @@ public struct StoredBookingFilters: Codable, Equatable, GeneratedFakeable {
if customers.isNotEmpty {
total += 1
}
if paymentStatuses.isNotEmpty {
total += 1
}
if dateRange != nil {
total += 1
}
Expand Down
1 change: 0 additions & 1 deletion Modules/Sources/Yosemite/Model/Model.swift
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ public typealias BookingPaymentInfo = Networking.BookingPaymentInfo
public typealias BookingProductInfo = Networking.BookingProductInfo
public typealias BookingResource = Networking.BookingResource
public typealias BookingAttendanceStatus = Networking.BookingAttendanceStatus
public typealias BookingPaymentStatus = Networking.BookingPaymentStatus
public typealias CreateBlazeCampaign = Networking.CreateBlazeCampaign
public typealias FallibleCancelable = Hardware.FallibleCancelable
public typealias CommentStatus = Networking.CommentStatus
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ struct AppSettingsStoreTests_BookingFilters {
teamMembers: [BookingTeamMemberFilter(resourceID: 100, name: "Team Member 1")],
products: [BookingProductFilter(productID: 1, name: "Product 1")],
attendanceStatuses: [.booked, .noShow],
paymentStatuses: [.unpaid, .paid],
customers: [BookingCustomerFilter(customerID: 10, name: "Customer 1")],
dateRange: nil
)
Expand Down Expand Up @@ -97,7 +96,6 @@ struct AppSettingsStoreTests_BookingFilters {
teamMembers: [BookingTeamMemberFilter(resourceID: 100, name: "Team Member 1")],
products: [BookingProductFilter(productID: 1, name: "Product 1")],
attendanceStatuses: [.booked],
paymentStatuses: [.unpaid],
customers: [BookingCustomerFilter(customerID: 10, name: "Customer 1")],
dateRange: nil
)
Expand All @@ -106,7 +104,6 @@ struct AppSettingsStoreTests_BookingFilters {
teamMembers: [BookingTeamMemberFilter(resourceID: 200, name: "Team Member 2")],
products: [BookingProductFilter(productID: 2, name: "Product 2")],
attendanceStatuses: [.noShow],
paymentStatuses: [.paid, .refunded],
customers: [],
dateRange: nil
)
Expand Down Expand Up @@ -162,7 +159,6 @@ struct AppSettingsStoreTests_BookingFilters {
teamMembers: [BookingTeamMemberFilter(resourceID: 100, name: "Team Member 1")],
products: [BookingProductFilter(productID: 1, name: "Product 1")],
attendanceStatuses: [],
paymentStatuses: [.unpaid],
customers: [BookingCustomerFilter(customerID: 10, name: "Customer 1")],
dateRange: nil
)
Expand All @@ -171,7 +167,6 @@ struct AppSettingsStoreTests_BookingFilters {
teamMembers: [],
products: [],
attendanceStatuses: [.booked],
paymentStatuses: [.paid],
customers: [BookingCustomerFilter(customerID: 20, name: "Customer 2")],
dateRange: nil
)
Expand Down Expand Up @@ -221,7 +216,6 @@ struct AppSettingsStoreTests_BookingFilters {
teamMembers: [BookingTeamMemberFilter(resourceID: 100, name: "Team Member 1")],
products: [],
attendanceStatuses: [.booked],
paymentStatuses: [.refunded],
customers: [],
dateRange: nil
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ final class BookingFiltersViewModel: FilterListViewModel {
private let productFilterViewModel: FilterTypeViewModel
private let customerFilterViewModel: FilterTypeViewModel
private let attendanceStatusFilterViewModel: FilterTypeViewModel
private let paymentStatusFilterViewModel: FilterTypeViewModel
private let dateTimeFilterViewModel: FilterTypeViewModel


Expand All @@ -21,14 +20,12 @@ final class BookingFiltersViewModel: FilterListViewModel {
productFilterViewModel = BookingListFilter.product(siteID: siteID).createViewModel(filters: filter)
customerFilterViewModel = BookingListFilter.customer(siteID: siteID).createViewModel(filters: filter)
attendanceStatusFilterViewModel = BookingListFilter.attendanceStatus.createViewModel(filters: filter)
paymentStatusFilterViewModel = BookingListFilter.paymentStatus.createViewModel(filters: filter)
dateTimeFilterViewModel = BookingListFilter.dateTime.createViewModel(filters: filter)

filterTypeViewModels = [
teamMemberFilterViewModel,
productFilterViewModel,
attendanceStatusFilterViewModel,
paymentStatusFilterViewModel,
customerFilterViewModel,
dateTimeFilterViewModel
]
Expand All @@ -39,14 +36,12 @@ final class BookingFiltersViewModel: FilterListViewModel {
let products = (productFilterViewModel.selectedValue as? MultipleFilterSelection)?.items as? [BookingProductFilter] ?? []
let customers = (customerFilterViewModel.selectedValue as? MultipleFilterSelection)?.items as? [BookingCustomerFilter] ?? []
let attendanceStatuses = (attendanceStatusFilterViewModel.selectedValue as? MultipleFilterSelection)?.items as? [BookingAttendanceStatus] ?? []
let paymentStatuses = (paymentStatusFilterViewModel.selectedValue as? MultipleFilterSelection)?.items as? [BookingPaymentStatus] ?? []
let dateRange = dateTimeFilterViewModel.selectedValue as? BookingDateRangeFilter
let numberOfActiveFilters = filterTypeViewModels.numberOfActiveFilters

return Filters(teamMembers: teamMembers,
products: products,
attendanceStatuses: attendanceStatuses,
paymentStatuses: paymentStatuses,
customers: customers,
dateRange: dateRange,
numberOfActiveFilters: numberOfActiveFilters)
Expand Down Expand Up @@ -78,7 +73,6 @@ final class BookingFiltersViewModel: FilterListViewModel {
productFilterViewModel.selectedValue = BookingProductFilter?.none
customerFilterViewModel.selectedValue = CustomerFilter?.none
attendanceStatusFilterViewModel.selectedValue = BookingAttendanceStatus?.none
paymentStatusFilterViewModel.selectedValue = BookingPaymentStatus?.none
dateTimeFilterViewModel.selectedValue = BookingDateRangeFilter?.none
}

Expand All @@ -89,7 +83,6 @@ final class BookingFiltersViewModel: FilterListViewModel {
let teamMembers: [BookingTeamMemberFilter]
let products: [BookingProductFilter]
let attendanceStatuses: [BookingAttendanceStatus]
let paymentStatuses: [BookingPaymentStatus]
let customers: [BookingCustomerFilter]
let dateRange: BookingDateRangeFilter?

Expand All @@ -99,7 +92,6 @@ final class BookingFiltersViewModel: FilterListViewModel {
teamMembers = []
products = []
attendanceStatuses = []
paymentStatuses = []
customers = []
dateRange = nil
numberOfActiveFilters = 0
Expand All @@ -108,14 +100,12 @@ final class BookingFiltersViewModel: FilterListViewModel {
init(teamMembers: [BookingTeamMemberFilter],
products: [BookingProductFilter],
attendanceStatuses: [BookingAttendanceStatus],
paymentStatuses: [BookingPaymentStatus],
customers: [BookingCustomerFilter],
dateRange: BookingDateRangeFilter?,
numberOfActiveFilters: Int) {
self.teamMembers = teamMembers
self.products = products
self.attendanceStatuses = attendanceStatuses
self.paymentStatuses = paymentStatuses
self.customers = customers
self.dateRange = dateRange
self.numberOfActiveFilters = numberOfActiveFilters
Expand All @@ -124,8 +114,7 @@ final class BookingFiltersViewModel: FilterListViewModel {
var readableString: String {
var readable: [String] = teamMembers.map { $0.name } +
products.map { $0.name } +
attendanceStatuses.map { $0.localizedTitle } +
paymentStatuses.map { $0.localizedTitle }
attendanceStatuses.map { $0.localizedTitle }

readable += customers.map { $0.name }

Expand All @@ -144,7 +133,6 @@ final class BookingFiltersViewModel: FilterListViewModel {
startDateBefore: dateRange?.endDate?.ISO8601Format(),
startDateAfter: dateRange?.startDate?.ISO8601Format(),
attendanceStatuses: attendanceStatuses.map { $0.rawValue },
paymentStatuses: paymentStatuses.map { $0.rawValue }
)
}
}
Expand All @@ -157,7 +145,6 @@ extension BookingFiltersViewModel {
case teamMember(siteID: Int64)
case product(siteID: Int64)
case attendanceStatus
case paymentStatus
case customer(siteID: Int64)
case dateTime
}
Expand All @@ -174,8 +161,6 @@ private extension BookingFiltersViewModel.BookingListFilter {
return Localization.rowTitleCustomer
case .attendanceStatus:
return Localization.rowTitleAttendanceStatus
case .paymentStatus:
return Localization.rowTitlePaymentStatus
case .dateTime:
return Localization.rowTitleDateTime
}
Expand All @@ -202,11 +187,6 @@ extension BookingFiltersViewModel.BookingListFilter {
return FilterTypeViewModel(title: title,
listSelectorConfig: .multiSelectStaticOptions(options: options),
selectedValue: MultipleFilterSelection(items: filters.attendanceStatuses))
case .paymentStatus:
let options: [BookingPaymentStatus?] = [.paid, .unpaid, .refunded]
return FilterTypeViewModel(title: title,
listSelectorConfig: .multiSelectStaticOptions(options: options),
selectedValue: MultipleFilterSelection(items: filters.paymentStatuses))
case .dateTime:
return FilterTypeViewModel(title: title,
listSelectorConfig: .bookingDateTime,
Expand Down Expand Up @@ -234,19 +214,6 @@ extension BookingAttendanceStatus: FilterType {
}
}

extension BookingPaymentStatus: FilterType {
var description: String { localizedTitle }

var isActive: Bool {
switch self {
case .paid, .unpaid, .refunded:
return true
case .unknown:
return false
}
}
}

extension BookingProductFilter: FilterType {
/// The user-facing description of the filter value.
var description: String { name }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,6 @@ private extension BookingListContainerViewModel {
teamMembers: storedFilters.teamMembers,
products: storedFilters.products,
attendanceStatuses: storedFilters.attendanceStatuses,
paymentStatuses: storedFilters.paymentStatuses,
customers: storedFilters.customers,
dateRange: storedFilters.dateRange,
numberOfActiveFilters: storedFilters.numberOfActiveFilters
Expand Down Expand Up @@ -170,7 +169,6 @@ private extension BookingListContainerViewModel {
teamMembers: filters.teamMembers,
products: filters.products,
attendanceStatuses: filters.attendanceStatuses,
paymentStatuses: filters.paymentStatuses,
customers: filters.customers,
dateRange: filters.dateRange
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,6 @@ private extension BookingListView {

HStack {
BookingBadgeView(booking.attendanceStatus)
BookingBadgeView(booking.bookingStatus)
Spacer()
}
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ extension BookingDetailsViewModel {
final class HeaderContent: ObservableObject {
@Published private(set) var bookingDate: String = ""
@Published private(set) var attendanceStatus: BookingAttendanceStatus = .unknown
@Published private(set) var bookingStatus: BookingStatus = .unknown
@Published private(set) var serviceLine: String = ""
@Published private(set) var customerLine: String = ""

Expand All @@ -23,7 +22,6 @@ extension BookingDetailsViewModel {
serviceLine = booking.productName ?? ""
customerLine = booking.customerName
attendanceStatus = booking.attendanceStatus
bookingStatus = booking.bookingStatus
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ extension BookingDetailsView {
}
HStack {
BookingBadgeView(content.attendanceStatus)
BookingBadgeView(content.bookingStatus)
}
.padding(.top, Layout.headerBadgesAdditionalTopPadding)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,6 @@ final class BookingDetailsViewModelTests: XCTestCase {
return
}
XCTAssertEqual(headerContent.attendanceStatus.localizedTitle, "Checked-in")
XCTAssertEqual(headerContent.bookingStatus.localizedTitle, "Paid")
}

func test_init_whenBookingHasAttendanceStatus_updatesAttendanceContentWithCorrectLocalizedString() {
Expand Down