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/main.dart';
import 'package:stadtbote/messages/pop_content_view_message.dart'; import 'package:stadtbote/messages/pop_content_view_message.dart';
import 'package:stadtbote/model/rank.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/popups/tasks_popups/zip_popup.dart';
import 'package:stadtbote/protocoll_messages/zip_message.dart';
import 'package:stadtbote/tools/constants.dart'; import 'package:stadtbote/tools/constants.dart';
import 'package:stadtbote/tools/messages/publish_payload_message.dart'; import 'package:stadtbote/tools/messages/publish_payload_message.dart';
import 'package:badges/badges.dart' as badges; 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:intl/intl.dart';
import 'package:badges/badges.dart' as badges; import 'package:badges/badges.dart' as badges;
import 'package:stadtbote/messages/pop_content_view_message.dart'; import 'package:stadtbote/messages/pop_content_view_message.dart';
import 'package:stadtbote/protocoll_messages/accept_job_message.dart'; import 'package:stadtbote/network_messages/accept_job_message.dart';
import 'package:stadtbote/protocoll_messages/fin_task_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/publish_payload_message.dart';
import 'package:stadtbote/tools/messages/refresh_badges_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 'package:stadtbote/tools/messages/remove_state_0_job_from_map.dart';
import '../main.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; late bool _initCompleted = false;
List<Widget> _entries = []; List<Job> _jobs = [];
@override @override
void initState() { void initState() {
Future.delayed(const Duration(seconds: 0), () async { Future.delayed(const Duration(seconds: 0), () async {
_entries = await _createListEntries(); _jobs = await _fetchState0Jobs();
_initMessages(); _initMessages();
@@ -58,6 +60,8 @@ class _AssignedJobsPageState extends State<AssignedJobsPage> with ProducerMixin
return Util.getWaitWidget(context); return Util.getWaitWidget(context);
} }
var widgets = _createWidgets();
return Container( return Container(
height: 100, height: 100,
decoration: BoxDecoration( decoration: BoxDecoration(
@@ -68,16 +72,22 @@ class _AssignedJobsPageState extends State<AssignedJobsPage> with ProducerMixin
width: 0.5, width: 0.5,
), ),
), ),
child: SingleChildScrollView(child: Column(children: _entries)), child: SingleChildScrollView(child: Column(children: widgets)),
); );
} }
Future<List<Widget>> _createListEntries() async { Future<List<Job>> _fetchState0Jobs() async {
List<Widget> entries = []; return await MyApp.isarInstance.jobs.filter().stateEqualTo(Constants.stateAssigned).findAll();
}
var jobs = await MyApp.isarInstance.jobs.filter().stateEqualTo(Constants.stateAssigned).findAll(); List<Widget> _createWidgets() {
for (var job in jobs) { List<Widget> widgets = [];
entries.add(ExpandableNotifier(
for (var job in _jobs) {
var expandableController = ExpandableController();
expandableController.expanded = true;
widgets.add(ExpandableNotifier(
child: ListTile( child: ListTile(
contentPadding: const EdgeInsets.symmetric(horizontal: 8, vertical: 8), contentPadding: const EdgeInsets.symmetric(horizontal: 8, vertical: 8),
title: Container( title: Container(
@@ -123,6 +133,7 @@ class _AssignedJobsPageState extends State<AssignedJobsPage> with ProducerMixin
scrollOnExpand: true, scrollOnExpand: true,
scrollOnCollapse: false, scrollOnCollapse: false,
child: ExpandablePanel( child: ExpandablePanel(
controller: expandableController,
theme: const ExpandableThemeData( theme: const ExpandableThemeData(
headerAlignment: ExpandablePanelHeaderAlignment.center, headerAlignment: ExpandablePanelHeaderAlignment.center,
tapBodyToCollapse: true, tapBodyToCollapse: true,
@@ -156,11 +167,35 @@ class _AssignedJobsPageState extends State<AssignedJobsPage> with ProducerMixin
const SizedBox(height: 20), const SizedBox(height: 20),
Row(children: [ Row(children: [
Expanded( 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), const SizedBox(width: 20),
Expanded( 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 { _sendAnswer(Job job, int item) async {
@@ -203,13 +238,23 @@ class _AssignedJobsPageState extends State<AssignedJobsPage> with ProducerMixin
routingKey: Constants.messageTopicUpdateBadges, routingKey: Constants.messageTopicUpdateBadges,
payload: RefreshBadgesMessage(), 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 { class _HeaderWidget extends StatefulWidget {
@@ -247,13 +292,10 @@ class _HeaderWidgetState extends State<_HeaderWidget> with ProducerMixin {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
// TODO MESSAGING
sendMessage( sendMessage(
routingKey: Constants.messageTopicPopContentView, routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1), payload: PopContentViewMessage(count: 1),
); );
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
radius: 10, radius: 10,
@@ -276,13 +318,10 @@ class _HeaderWidgetState extends State<_HeaderWidget> with ProducerMixin {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
// TODO MESSAGING
sendMessage( sendMessage(
routingKey: Constants.messageTopicPopContentView, routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1), payload: PopContentViewMessage(count: 1),
); );
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
backgroundColor: Constants.colorPrimary, 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/location_status.dart';
import 'package:stadtbote/model/chat_message.dart'; import 'package:stadtbote/model/chat_message.dart';
import 'package:stadtbote/model/session_status.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/popups/infos_popup.dart';
import 'package:stadtbote/protocoll_messages/logout_message.dart';
import 'package:stadtbote/tools/constants.dart'; import 'package:stadtbote/tools/constants.dart';
import 'package:stadtbote/tools/messages/job_received_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/publish_payload_message.dart';
import 'package:stadtbote/tools/messages/connect_client_message.dart'; import 'package:stadtbote/tools/messages/connect_client_message.dart';
import 'package:stadtbote/tools/messages/disconnect_client_message.dart'; import 'package:stadtbote/tools/messages/disconnect_client_message.dart';
import 'package:badges/badges.dart' as badges; 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'; import 'package:stadtbote/tools/util.dart';
class MainPage extends ContentViewWidget { 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' as sbmessage;
import 'package:stadtbote/model/chat_message.dart'; import 'package:stadtbote/model/chat_message.dart';
import 'package:stadtbote/model/session_status.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/constants.dart';
import 'package:stadtbote/tools/messages/publish_payload_message.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:flutter/services.dart';
import 'package:stadtbote/content_views/utils/content_view_widget.dart'; import 'package:stadtbote/content_views/utils/content_view_widget.dart';
import 'package:stadtbote/messages/pop_content_view_message.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 'package:stadtbote/tools/messages/publish_payload_message.dart';
import '../tools/constants.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.dart';
import 'package:stadtbote/model/job_tour.dart'; import 'package:stadtbote/model/job_tour.dart';
import 'package:stadtbote/model/pictures.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/arrived_popup.dart';
import 'package:stadtbote/popups/tasks_popups/commision_number_popup.dart'; import 'package:stadtbote/popups/tasks_popups/commision_number_popup.dart';
import 'package:stadtbote/popups/tasks_popups/pickup_delivery_status_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/signature_popup.dart';
import 'package:stadtbote/popups/tasks_popups/station_notice_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/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/constants.dart';
import 'package:stadtbote/tools/messages/publish_payload_message.dart'; import 'package:stadtbote/tools/messages/publish_payload_message.dart';
@@ -1,5 +1,5 @@
import 'package:json_annotation/json_annotation.dart'; 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'; part 'accept_job_message.g.dart';
@@ -1,5 +1,5 @@
import 'package:json_annotation/json_annotation.dart'; 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'; part 'bootstrap_request.g.dart';
@@ -1,5 +1,5 @@
import 'package:json_annotation/json_annotation.dart'; 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'; part 'bootstrap_response_config.g.dart';
@@ -1,6 +1,6 @@
import 'package:json_annotation/json_annotation.dart'; import 'package:json_annotation/json_annotation.dart';
import 'package:stadtbote/protocoll_messages/accept_job_message.dart'; import 'package:stadtbote/network_messages/accept_job_message.dart';
import 'package:stadtbote/protocoll_messages/fin_task_message.dart'; import 'package:stadtbote/network_messages/fin_task_message.dart';
part 'fin_tour_message.g.dart'; part 'fin_tour_message.g.dart';
@@ -1,5 +1,5 @@
import 'package:json_annotation/json_annotation.dart'; 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'; 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:intl/intl.dart';
import 'package:shared_map/shared_map.dart'; import 'package:shared_map/shared_map.dart';
import 'package:stadtbote/main.dart'; import 'package:stadtbote/main.dart';
import 'package:stadtbote/protocoll_messages/accept_job_message.dart';
import 'package:stadtbote/model/job.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/ExtendedStatefulBuilder.dart';
import 'package:stadtbote/tools/constants.dart'; import 'package:stadtbote/tools/constants.dart';
import 'package:stadtbote/tools/messages/job_deleted_message.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; var job = jobEntry.value;
ExpandableController controller = ExpandableController(); ExpandableController controller = ExpandableController();
controller.expanded = _infoExpandedMap[job.id] != null ? _infoExpandedMap[job.id]! : false; controller.expanded = false;
controller.addListener(() { controller.addListener(() {
if (controller.expanded) { 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/location_status.dart';
import 'package:stadtbote/model/rank.dart'; import 'package:stadtbote/model/rank.dart';
import 'package:stadtbote/model/status.dart'; import 'package:stadtbote/model/status.dart';
import 'package:stadtbote/protocoll_messages/acknowledge_job.dart'; import 'package:stadtbote/network_messages/acknowledge_job.dart';
import 'package:stadtbote/protocoll_messages/bootstrap_request.dart'; import 'package:stadtbote/network_messages/acknowledge_message.dart';
import 'package:stadtbote/protocoll_messages/bootstrap_response_payload.dart'; import 'package:stadtbote/network_messages/bootstrap_request.dart';
import 'package:stadtbote/protocoll_messages/connection_lost_message.dart'; import 'package:stadtbote/network_messages/bootstrap_response_payload.dart';
import 'package:stadtbote/protocoll_messages/device_log_request.dart'; import 'package:stadtbote/network_messages/connection_lost_message.dart';
import 'package:stadtbote/protocoll_messages/device_log_response.dart'; import 'package:stadtbote/network_messages/device_log_request.dart';
import 'package:stadtbote/protocoll_messages/device_object.dart'; import 'package:stadtbote/network_messages/device_log_response.dart';
import 'package:stadtbote/protocoll_messages/job_del_message.dart'; import 'package:stadtbote/network_messages/device_object.dart';
import 'package:stadtbote/protocoll_messages/acknowledge_message.dart'; import 'package:stadtbote/network_messages/job_del_message.dart';
import 'package:stadtbote/protocoll_messages/start_session_message.dart'; import 'package:stadtbote/network_messages/start_session_message.dart';
import 'package:stadtbote/protocoll_messages/status_info_update.dart'; import 'package:stadtbote/network_messages/status_info_update.dart';
import 'package:stadtbote/protocoll_messages/sync_jobs_message.dart'; import 'package:stadtbote/network_messages/sync_jobs_message.dart';
import 'package:stadtbote/protocoll_messages/track_message.dart'; import 'package:stadtbote/network_messages/track_message.dart';
import 'package:stadtbote/tools/connection_status.dart'; import 'package:stadtbote/tools/connection_status.dart';
import 'package:stadtbote/tools/message_header.dart'; import 'package:stadtbote/tools/message_header.dart';
import 'package:stadtbote/tools/messages/publish_payload_message.dart'; import 'package:stadtbote/tools/messages/publish_payload_message.dart';
+1 -1
View File
@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts # In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix. # of the product and file versions while build-number is used as the build suffix.
version: 330.0.0+330 version: 332.0.0+332
environment: environment:
sdk: '>=2.19.6 <3.0.0' sdk: '>=2.19.6 <3.0.0'