moved from list to projects

This commit is contained in:
Benimautner 2023-07-22 22:54:50 +02:00
parent 16fa80f8df
commit 2893a4e7f9
4 changed files with 17 additions and 13 deletions

View File

@ -20,6 +20,7 @@ import 'package:vikunja_app/service/services.dart';
import 'package:timezone/data/latest_all.dart' as tz;
import 'package:workmanager/workmanager.dart';
import 'api/project.dart';
import 'main.dart';
@ -68,6 +69,8 @@ class VikunjaGlobalState extends State<VikunjaGlobal> {
NamespaceService get namespaceService => new NamespaceAPIService(client);
ProjectService get projectService => new ProjectAPIService(client);
TaskService get taskService => new TaskAPIService(client);
BucketService get bucketService => new BucketAPIService(client);

View File

@ -10,7 +10,8 @@ import 'package:vikunja_app/utils/checkboxes_in_text.dart';
class Task {
final int id;
final int? parentTaskId, priority, bucketId;
final int? listId;
//final int? listId;
final int? projectId;
final DateTime created, updated;
DateTime? dueDate, startDate, endDate;
final List<DateTime> reminderDates;
@ -50,7 +51,8 @@ class Task {
DateTime? created,
DateTime? updated,
required this.createdBy,
required this.listId,
//required this.listId,
required this.projectId,
this.bucketId,
}) : this.created = created ?? DateTime.now(),
this.updated = updated ?? DateTime.now();
@ -105,7 +107,8 @@ class Task {
: [],
updated = DateTime.parse(json['updated']),
created = DateTime.parse(json['created']),
listId = json['list_id'],
//listId = json['list_id'],
projectId = json['project_id'],
bucketId = json['bucket_id'],
createdBy = User.fromJson(json['created_by']);
@ -163,7 +166,8 @@ class Task {
id: id ?? this.id,
parentTaskId: parentTaskId ?? this.parentTaskId,
priority: priority ?? this.priority,
listId: listId ?? this.listId,
//listId: listId ?? this.listId,
projectId: projectId ?? this.projectId,
bucketId: bucketId ?? this.bucketId,
created: created ?? this.created,
updated: updated ?? this.updated,

View File

@ -35,7 +35,7 @@ class LandingPage extends HomeScreenWidget {
class LandingPageState extends State<LandingPage>
with AfterLayoutMixin<LandingPage> {
int? defaultList;
List<Task> _list = [];
List<Task> _tasks = [];
PageStatus landingPageStatus = PageStatus.built;
static const platform = const MethodChannel('vikunja');
@ -165,7 +165,7 @@ class LandingPageState extends State<LandingPage>
title: title,
dueDate: dueDate,
createdBy: globalState.currentUser!,
listId: defaultList!,
projectId: defaultList!,
),
);
@ -176,7 +176,7 @@ class LandingPageState extends State<LandingPage>
}
List<Widget> _listTasks(BuildContext context) {
var tasks = (_list.map((task) => _buildTile(task, context))).toList();
var tasks = (_tasks.map((task) => _buildTile(task, context))).toList();
//tasks.addAll(_loadingTasks.map(_buildLoadingTile));
return tasks;
}
@ -193,8 +193,7 @@ class LandingPageState extends State<LandingPage>
}
Future<void> _loadList(BuildContext context) {
log("reloading list");
_list = [];
_tasks = [];
landingPageStatus = PageStatus.loading;
// FIXME: loads and reschedules tasks each time list is updated
VikunjaGlobal.of(context).notifications.scheduleDueNotifications(VikunjaGlobal.of(context).taskService);
@ -208,18 +207,16 @@ class LandingPageState extends State<LandingPage>
});
return null;
}
return VikunjaGlobal.of(context).listService.getAll().then((lists) {
//taskList.forEach((task) {task.list = lists.firstWhere((element) => element.id == task.list_id);});
setState(() {
if (taskList != null) {
_list = taskList;
_tasks = taskList;
landingPageStatus = PageStatus.success;
} else {
landingPageStatus = PageStatus.error;
}
});
return null;
});
});
}
}

View File

@ -112,7 +112,7 @@ class ListProvider with ChangeNotifier {
title: title,
createdBy: globalState.currentUser!,
done: false,
listId: listId,
projectId: listId,
);
pageStatus = PageStatus.loading;