Fehlerkorrekturen und Erweiterungen

This commit is contained in:
Sven committed 2025-02-11 09:41:46 +01:00
1 parent 080c5b22ef
commit 3fd8b0f9d4
58 files changed
+95 -57

No files matched your search

+1 -1
View File
@@ -6,8 +6,8 @@ import 'package:stadtbote/content_views/utils/content_view_widget.dart';
import 'package:stadtbote/main.dart';
import 'package:stadtbote/messages/pop_content_view_message.dart';
import 'package:stadtbote/model/rank.dart';
import 'package:stadtbote/network_messages/zip_message.dart';
import 'package:stadtbote/popups/tasks_popups/zip_popup.dart';
import 'package:stadtbote/protocoll_messages/zip_message.dart';
import 'package:stadtbote/tools/constants.dart';
import 'package:stadtbote/tools/messages/publish_payload_message.dart';
import 'package:badges/badges.dart' as badges;
+64 -25
View File
@@ -7,10 +7,12 @@ import 'package:stadtbote/content_views/utils/content_view_widget.dart';
import 'package:intl/intl.dart';
import 'package:badges/badges.dart' as badges;
import 'package:stadtbote/messages/pop_content_view_message.dart';
import 'package:stadtbote/protocoll_messages/accept_job_message.dart';
import 'package:stadtbote/protocoll_messages/fin_task_message.dart';
import 'package:stadtbote/network_messages/accept_job_message.dart';
import 'package:stadtbote/network_messages/fin_task_message.dart';
import 'package:stadtbote/tools/messages/job_received_message.dart';
import 'package:stadtbote/tools/messages/publish_payload_message.dart';
import 'package:stadtbote/tools/messages/refresh_badges_message.dart';
import 'package:stadtbote/tools/messages/remove_job_message.dart';
import 'package:stadtbote/tools/messages/remove_state_0_job_from_map.dart';
import '../main.dart';
@@ -32,15 +34,15 @@ class AssignedJobsPage extends ContentViewWidget {
}
}
class _AssignedJobsPageState extends State<AssignedJobsPage> with ProducerMixin {
class _AssignedJobsPageState extends State<AssignedJobsPage> with ProducerMixin, ConsumerMixin {
late bool _initCompleted = false;
List<Widget> _entries = [];
List<Job> _jobs = [];
@override
void initState() {
Future.delayed(const Duration(seconds: 0), () async {
_entries = await _createListEntries();
_jobs = await _fetchState0Jobs();
_initMessages();
@@ -58,6 +60,8 @@ class _AssignedJobsPageState extends State<AssignedJobsPage> with ProducerMixin
return Util.getWaitWidget(context);
}
var widgets = _createWidgets();
return Container(
height: 100,
decoration: BoxDecoration(
@@ -68,16 +72,22 @@ class _AssignedJobsPageState extends State<AssignedJobsPage> with ProducerMixin
width: 0.5,
),
),
child: SingleChildScrollView(child: Column(children: _entries)),
child: SingleChildScrollView(child: Column(children: widgets)),
);
}
Future<List<Widget>> _createListEntries() async {
List<Widget> entries = [];
Future<List<Job>> _fetchState0Jobs() async {
return await MyApp.isarInstance.jobs.filter().stateEqualTo(Constants.stateAssigned).findAll();
}
var jobs = await MyApp.isarInstance.jobs.filter().stateEqualTo(Constants.stateAssigned).findAll();
for (var job in jobs) {
entries.add(ExpandableNotifier(
List<Widget> _createWidgets() {
List<Widget> widgets = [];
for (var job in _jobs) {
var expandableController = ExpandableController();
expandableController.expanded = true;
widgets.add(ExpandableNotifier(
child: ListTile(
contentPadding: const EdgeInsets.symmetric(horizontal: 8, vertical: 8),
title: Container(
@@ -123,6 +133,7 @@ class _AssignedJobsPageState extends State<AssignedJobsPage> with ProducerMixin
scrollOnExpand: true,
scrollOnCollapse: false,
child: ExpandablePanel(
controller: expandableController,
theme: const ExpandableThemeData(
headerAlignment: ExpandablePanelHeaderAlignment.center,
tapBodyToCollapse: true,
@@ -156,11 +167,35 @@ class _AssignedJobsPageState extends State<AssignedJobsPage> with ProducerMixin
const SizedBox(height: 20),
Row(children: [
Expanded(
child: getDefaultButton(!job.global ? 'Ablehnen' : 'Ignorieren', () => {_sendAnswer(job, !job.global ? 2 : 3)}),
child: getDefaultButton(!job.global ? 'Ablehnen' : 'Ignorieren', () {
job.sendMessage(
routingKey: Constants.messageTopicRemoveJob,
payload: RemoveJobMessage(id: job.id),
);
_sendAnswer(job, !job.global ? 2 : 3);
_jobs.removeWhere((databaseJob) => databaseJob.id == job.id);
setState(() {});
}),
),
const SizedBox(width: 20),
Expanded(
child: getDefaultButton('Annehmen', () => {_sendAnswer(job, 1)}),
child: getDefaultButton('Annehmen', () {
job.sendMessage(
routingKey: Constants.messageTopicRemoveJob,
payload: RemoveJobMessage(id: job.id),
);
_sendAnswer(job, 1);
_jobs.removeWhere((databaseJob) => databaseJob.id == job.id);
print("test:" + _jobs.length.toString());
setState(() {});
}),
)
])
],
@@ -172,7 +207,7 @@ class _AssignedJobsPageState extends State<AssignedJobsPage> with ProducerMixin
));
}
return entries;
return widgets;
}
_sendAnswer(Job job, int item) async {
@@ -203,13 +238,23 @@ class _AssignedJobsPageState extends State<AssignedJobsPage> with ProducerMixin
routingKey: Constants.messageTopicUpdateBadges,
payload: RefreshBadgesMessage(),
);
_entries = await _createListEntries();
setState(() {});
}
void _initMessages() {}
void _initMessages() {
subscribe(
queueId: Constants.messageTopicJobReceived,
callback: (message) {
var job = (message.payload as JobReceivedMessage).job;
if (job.state == Constants.stateAssigned) {
_jobs.add(job);
setState(() {});
}
},
);
}
}
class _HeaderWidget extends StatefulWidget {
@@ -247,13 +292,10 @@ class _HeaderWidgetState extends State<_HeaderWidget> with ProducerMixin {
child: FittedBox(
child: GestureDetector(
onTap: () async {
// TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
},
child: const CircleAvatar(
radius: 10,
@@ -276,13 +318,10 @@ class _HeaderWidgetState extends State<_HeaderWidget> with ProducerMixin {
child: FittedBox(
child: GestureDetector(
onTap: () async {
// TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
},
child: const CircleAvatar(
backgroundColor: Constants.colorPrimary,
+1 -2
View File
@@ -12,15 +12,14 @@ import 'package:stadtbote/model/job.dart';
import 'package:stadtbote/model/location_status.dart';
import 'package:stadtbote/model/chat_message.dart';
import 'package:stadtbote/model/session_status.dart';
import 'package:stadtbote/network_messages/logout_message.dart';
import 'package:stadtbote/popups/infos_popup.dart';
import 'package:stadtbote/protocoll_messages/logout_message.dart';
import 'package:stadtbote/tools/constants.dart';
import 'package:stadtbote/tools/messages/job_received_message.dart';
import 'package:stadtbote/tools/messages/publish_payload_message.dart';
import 'package:stadtbote/tools/messages/connect_client_message.dart';
import 'package:stadtbote/tools/messages/disconnect_client_message.dart';
import 'package:badges/badges.dart' as badges;
import 'package:stadtbote/tools/messages/remove_state_0_job_from_map.dart';
import 'package:stadtbote/tools/util.dart';
class MainPage extends ContentViewWidget {
+1 -1
View File
@@ -10,7 +10,7 @@ import 'package:stadtbote/messages/pop_content_view_message.dart';
import 'package:stadtbote/model/chat_message.dart' as sbmessage;
import 'package:stadtbote/model/chat_message.dart';
import 'package:stadtbote/model/session_status.dart';
import 'package:stadtbote/protocoll_messages/messages_showed.dart';
import 'package:stadtbote/network_messages/messages_showed.dart';
import 'package:stadtbote/tools/constants.dart';
import 'package:stadtbote/tools/messages/publish_payload_message.dart';
+1 -1
View File
@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:stadtbote/content_views/utils/content_view_widget.dart';
import 'package:stadtbote/messages/pop_content_view_message.dart';
import 'package:stadtbote/protocoll_messages/set_desired_zip_message.dart';
import 'package:stadtbote/network_messages/set_desired_zip_message.dart';
import 'package:stadtbote/tools/messages/publish_payload_message.dart';
import '../tools/constants.dart';
+4 -4
View File
@@ -10,6 +10,10 @@ import 'package:stadtbote/messages/pop_content_view_message.dart';
import 'package:stadtbote/model/job.dart';
import 'package:stadtbote/model/job_tour.dart';
import 'package:stadtbote/model/pictures.dart';
import 'package:stadtbote/network_messages/accept_job_message.dart';
import 'package:stadtbote/network_messages/fin_task_message.dart';
import 'package:stadtbote/network_messages/fin_tour_message.dart';
import 'package:stadtbote/network_messages/pic_message.dart';
import 'package:stadtbote/popups/tasks_popups/arrived_popup.dart';
import 'package:stadtbote/popups/tasks_popups/commision_number_popup.dart';
import 'package:stadtbote/popups/tasks_popups/pickup_delivery_status_popup.dart';
@@ -18,10 +22,6 @@ import 'package:stadtbote/popups/tasks_popups/scan_barcodes_popup.dart';
import 'package:stadtbote/popups/tasks_popups/signature_popup.dart';
import 'package:stadtbote/popups/tasks_popups/station_notice_popup.dart';
import 'package:stadtbote/popups/tasks_popups/take_photos_popup.dart';
import 'package:stadtbote/protocoll_messages/accept_job_message.dart';
import 'package:stadtbote/protocoll_messages/fin_task_message.dart';
import 'package:stadtbote/protocoll_messages/fin_tour_message.dart';
import 'package:stadtbote/protocoll_messages/pic_message.dart';
import 'package:stadtbote/tools/constants.dart';
import 'package:stadtbote/tools/messages/publish_payload_message.dart';
@@ -1,5 +1,5 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:stadtbote/protocoll_messages/fin_task_message.dart';
import 'package:stadtbote/network_messages/fin_task_message.dart';
part 'accept_job_message.g.dart';
@@ -1,5 +1,5 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:stadtbote/protocoll_messages/device_object.dart';
import 'package:stadtbote/network_messages/device_object.dart';
part 'bootstrap_request.g.dart';
@@ -1,5 +1,5 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:stadtbote/protocoll_messages/bootstrap_response_topics.dart';
import 'package:stadtbote/network_messages/bootstrap_response_topics.dart';
part 'bootstrap_response_config.g.dart';
@@ -1,6 +1,6 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:stadtbote/protocoll_messages/accept_job_message.dart';
import 'package:stadtbote/protocoll_messages/fin_task_message.dart';
import 'package:stadtbote/network_messages/accept_job_message.dart';
import 'package:stadtbote/network_messages/fin_task_message.dart';
part 'fin_tour_message.g.dart';
@@ -1,5 +1,5 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:stadtbote/protocoll_messages/fin_task_message.dart';
import 'package:stadtbote/network_messages/fin_task_message.dart';
part 'track_station_message.g.dart';
+3 -3
View File
@@ -5,9 +5,9 @@ import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:shared_map/shared_map.dart';
import 'package:stadtbote/main.dart';
import 'package:stadtbote/protocoll_messages/accept_job_message.dart';
import 'package:stadtbote/model/job.dart';
import 'package:stadtbote/protocoll_messages/fin_task_message.dart';
import 'package:stadtbote/network_messages/accept_job_message.dart';
import 'package:stadtbote/network_messages/fin_task_message.dart';
import 'package:stadtbote/tools/ExtendedStatefulBuilder.dart';
import 'package:stadtbote/tools/constants.dart';
import 'package:stadtbote/tools/messages/job_deleted_message.dart';
@@ -188,7 +188,7 @@ Future<List<Widget>> _fetchJobWidgets(StateSetter dialogState, Function() onFini
var job = jobEntry.value;
ExpandableController controller = ExpandableController();
controller.expanded = _infoExpandedMap[job.id] != null ? _infoExpandedMap[job.id]! : false;
controller.expanded = false;
controller.addListener(() {
if (controller.expanded) {
+13 -13
View File
@@ -16,19 +16,19 @@ import 'package:stadtbote/model/chat_message.dart';
import 'package:stadtbote/model/location_status.dart';
import 'package:stadtbote/model/rank.dart';
import 'package:stadtbote/model/status.dart';
import 'package:stadtbote/protocoll_messages/acknowledge_job.dart';
import 'package:stadtbote/protocoll_messages/bootstrap_request.dart';
import 'package:stadtbote/protocoll_messages/bootstrap_response_payload.dart';
import 'package:stadtbote/protocoll_messages/connection_lost_message.dart';
import 'package:stadtbote/protocoll_messages/device_log_request.dart';
import 'package:stadtbote/protocoll_messages/device_log_response.dart';
import 'package:stadtbote/protocoll_messages/device_object.dart';
import 'package:stadtbote/protocoll_messages/job_del_message.dart';
import 'package:stadtbote/protocoll_messages/acknowledge_message.dart';
import 'package:stadtbote/protocoll_messages/start_session_message.dart';
import 'package:stadtbote/protocoll_messages/status_info_update.dart';
import 'package:stadtbote/protocoll_messages/sync_jobs_message.dart';
import 'package:stadtbote/protocoll_messages/track_message.dart';
import 'package:stadtbote/network_messages/acknowledge_job.dart';
import 'package:stadtbote/network_messages/acknowledge_message.dart';
import 'package:stadtbote/network_messages/bootstrap_request.dart';
import 'package:stadtbote/network_messages/bootstrap_response_payload.dart';
import 'package:stadtbote/network_messages/connection_lost_message.dart';
import 'package:stadtbote/network_messages/device_log_request.dart';
import 'package:stadtbote/network_messages/device_log_response.dart';
import 'package:stadtbote/network_messages/device_object.dart';
import 'package:stadtbote/network_messages/job_del_message.dart';
import 'package:stadtbote/network_messages/start_session_message.dart';
import 'package:stadtbote/network_messages/status_info_update.dart';
import 'package:stadtbote/network_messages/sync_jobs_message.dart';
import 'package:stadtbote/network_messages/track_message.dart';
import 'package:stadtbote/tools/connection_status.dart';
import 'package:stadtbote/tools/message_header.dart';
import 'package:stadtbote/tools/messages/publish_payload_message.dart';