forked from eatvio/eatvio_app
fixed consultation archive filters issues
This commit is contained in:
@@ -33,10 +33,28 @@ class ConsultationService {
|
||||
FiltersComparisonEnum? dateComparison,
|
||||
}) async {
|
||||
try {
|
||||
const inactiveStates = [
|
||||
'initied',
|
||||
'in_coordination',
|
||||
'start_date_has_been_set',
|
||||
'pending_payment',
|
||||
'canceled_by_the_initiator',
|
||||
'charge_was_collected',
|
||||
];
|
||||
final response = await dio.get(
|
||||
'/api/consultations',
|
||||
queryParameters: {
|
||||
if (state != null) 'filters[last_state][${stateComparison?.value ?? '\$chosen_plan_status'}]': state,
|
||||
if (stateComparison == FiltersComparisonEnum.notInArray)
|
||||
'filters[last_state][\$notIn][]': const [
|
||||
'initied',
|
||||
'in_coordination',
|
||||
'start_date_has_been_set',
|
||||
'pending_payment',
|
||||
'canceled_by_the_initiator',
|
||||
'charge_was_collected',
|
||||
]
|
||||
else if (state != null && stateComparison != null)
|
||||
'filters[last_state][${stateComparison.value}]': state,
|
||||
if (dateComparison != null && date != null) 'filters[start_date][${dateComparison.value}]': date,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -29,9 +29,11 @@ class ConsultationsArchiveCubit extends Cubit<ConsultationsArchiveState> {
|
||||
date: state.periodFilterStatus?.value,
|
||||
state: state.consultationFilterStatus?.value,
|
||||
dateComparison: state.periodFilterStatus == PeriodFilterStatus.all ? null : FiltersComparisonEnum.greaterThanOrEqual,
|
||||
stateComparison: state.consultationFilterStatus != ConsultationFilterStatus.inProgress && state.consultationFilterStatus == ConsultationFilterStatus.all
|
||||
stateComparison: state.consultationFilterStatus == ConsultationFilterStatus.all
|
||||
? null
|
||||
: FiltersComparisonEnum.equal,
|
||||
: state.consultationFilterStatus == ConsultationFilterStatus.inProgress
|
||||
? FiltersComparisonEnum.notInArray
|
||||
: FiltersComparisonEnum.equal,
|
||||
);
|
||||
emit(state.copyWith(consultations: consultations, isLoading: false));
|
||||
} catch (e) {
|
||||
|
||||
@@ -156,7 +156,7 @@ class _ConsultationsArchiveScreenState extends State<ConsultationsArchiveScreen>
|
||||
if (value == null) return;
|
||||
context.read<ConsultationsArchiveCubit>().setConsultationsStatus(value);
|
||||
},
|
||||
value: state.consultationFilterStatus,
|
||||
value: state.consultationFilterStatus ?? ConsultationFilterStatus.values.first,
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
if (state.consultations.isNotEmpty)
|
||||
|
||||
Reference in New Issue
Block a user