New registration bug fixed (init data not working on web)
This commit is contained in:
100
lib/User.dart
100
lib/User.dart
@@ -16,6 +16,7 @@ import 'package:device_info_plus/device_info_plus.dart';
|
||||
import 'package:sqflite_common/sqlite_api.dart';
|
||||
import 'package:sqflite_common_ffi/sqflite_ffi.dart' as SqlFF;
|
||||
import 'Tasks.dart';
|
||||
import 'Dialogs.dart';
|
||||
|
||||
bool cacheEnabled = true;
|
||||
|
||||
@@ -163,6 +164,7 @@ void onCacheDatabaseCreate(Database db, int newVersion) async {
|
||||
}
|
||||
|
||||
Future<void> addInitialDataToCache() async {
|
||||
Dialogs.syncingMessage= "Adding initial data";
|
||||
print("adding init data");
|
||||
await Future.delayed(const Duration(seconds: 1));
|
||||
|
||||
@@ -170,7 +172,7 @@ Future<void> addInitialDataToCache() async {
|
||||
for (Category element in InitialData.getCategories(username)) {
|
||||
await UserOperations.addCategory(element.name, element.color, element.productive, bulk: true);
|
||||
}
|
||||
|
||||
Dialogs.syncingMessage= "Just a minute";
|
||||
for (TaskType element in InitialData.getTaskTypes(username)) {
|
||||
await UserOperations.addTaskType(element.name, element.category, bulk: true);
|
||||
// Map<String,Object> data = {
|
||||
@@ -179,8 +181,9 @@ Future<void> addInitialDataToCache() async {
|
||||
// };
|
||||
// await cacheDb.insert('TaskTypes', data);
|
||||
}
|
||||
Dialogs.syncingMessage= "Syncing";
|
||||
await UserOperations.executeQueries();
|
||||
await refreshUserData();
|
||||
// await refreshUserData();
|
||||
}
|
||||
|
||||
void onCacheDatabaseUpgrade(Database db, int oldVersion, int newVersion) async {
|
||||
@@ -322,18 +325,23 @@ Future<List<TaskType>> GetTaskTypes(bool forceOffline) async {
|
||||
}
|
||||
taskTypes = _taskTypes;
|
||||
} else {
|
||||
print("NC: Updating TaskTypes as $username");
|
||||
http.Response response = (await http.post(Uri.parse('http://161.97.127.136/task_tracker/get_taskTypes.php'),
|
||||
body: <String, String>{"username": username, "device_id": await Settings.UUID()}));
|
||||
|
||||
print("taskType retreive: ${response.body}");
|
||||
List<String> data = response.body.split("<td>");
|
||||
List<TaskType> _taskTypes = [];
|
||||
for (var value in data) {
|
||||
Map<String, dynamic> data = jsonDecode(value);
|
||||
Category? cat = await getCatFromId(data['category_id']);
|
||||
_taskTypes.add(TaskType(data['task_id'], data['name'], data['category_id'], cat));
|
||||
//print(cat);
|
||||
print("NC: Updating TaskTypes as $username");
|
||||
try {
|
||||
http.Response response = (await http.post(Uri.parse('http://161.97.127.136/task_tracker/get_taskTypes.php'),
|
||||
body: <String, String>{"username": username, "device_id": await Settings.UUID()}));
|
||||
|
||||
print("taskType retreive (try): ${response.body}");
|
||||
List<String> data = response.body.split("<td>");
|
||||
|
||||
for (var value in data) {
|
||||
Map<String, dynamic> data = jsonDecode(value);
|
||||
Category? cat = await getCatFromId(data['category_id']);
|
||||
_taskTypes.add(TaskType(data['task_id'], data['name'], data['category_id'], cat));
|
||||
//print(cat);
|
||||
}
|
||||
}catch(e){
|
||||
print("Error while tasks NC $e");
|
||||
}
|
||||
|
||||
taskTypes = _taskTypes;
|
||||
@@ -711,16 +719,11 @@ class UserOperations {
|
||||
'metadata': metadata
|
||||
};
|
||||
Map<String, Object> query = {Queries.colLink: 'edit_activity', Queries.colData: jsonEncode(queryBody)};
|
||||
if(cacheEnabled) {
|
||||
if (cacheEnabled) {
|
||||
//Check for timeoverlapse
|
||||
activities = await GetActivities(true);
|
||||
int? overlapCount = Sqflite.firstIntValue(await cacheDb.rawQuery(
|
||||
"SELECT COUNT(*) FROM Activities WHERE (((${Activity.colStartTime} < datetime('$sTime')) AND ((${Activity
|
||||
.colEndTime} > datetime('$eTime')) OR (${Activity.colEndTime} < datetime('$eTime') AND ${Activity
|
||||
.colEndTime} > datetime('$sTime')))) OR (${Activity.colStartTime} > datetime('$sTime') AND ${Activity
|
||||
.colStartTime} < datetime('$eTime')) OR (${Activity.colStartTime}=datetime('$sTime') AND ${Activity
|
||||
.colEndTime}=datetime('$eTime'))) AND ${Activity.colStartTime}!=datetime('${init_sTime}') AND ${Activity
|
||||
.colEndTime} != datetime('${init_eTime}')"));
|
||||
"SELECT COUNT(*) FROM Activities WHERE (((${Activity.colStartTime} < datetime('$sTime')) AND ((${Activity.colEndTime} > datetime('$eTime')) OR (${Activity.colEndTime} < datetime('$eTime') AND ${Activity.colEndTime} > datetime('$sTime')))) OR (${Activity.colStartTime} > datetime('$sTime') AND ${Activity.colStartTime} < datetime('$eTime')) OR (${Activity.colStartTime}=datetime('$sTime') AND ${Activity.colEndTime}=datetime('$eTime'))) AND ${Activity.colStartTime}!=datetime('${init_sTime}') AND ${Activity.colEndTime} != datetime('${init_eTime}')"));
|
||||
|
||||
print("ActivityOverlaps: $overlapCount");
|
||||
if (overlapCount! > 0) {
|
||||
@@ -728,7 +731,6 @@ class UserOperations {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (metadata.length > 0) {}
|
||||
//Add Query
|
||||
|
||||
@@ -741,8 +743,8 @@ class UserOperations {
|
||||
// String updateActQuery = "UPDATE Activities SET ${Activity.colType}=";
|
||||
// await cacheDb.insert('Activities', data);
|
||||
await refreshUserData();
|
||||
}else{
|
||||
// queries.add(Queries('edit_activity', jsonEncode(queryBody)));
|
||||
} else {
|
||||
// queries.add(Queries('edit_activity', jsonEncode(queryBody)));
|
||||
try {
|
||||
http.Response queryResponse = (await http.post(Uri.parse('http://161.97.127.136/task_tracker/edit_activity.php'), body: queryBody));
|
||||
print("Query executed : Results{${queryResponse.body}");
|
||||
@@ -759,6 +761,43 @@ class UserOperations {
|
||||
}
|
||||
}
|
||||
|
||||
static Future<void> addProject(String name, String category, List<ProjectStep> steps, DateTime deadline) async {
|
||||
Map<String, String> queryBody = <String, String>{
|
||||
'name': username + name,
|
||||
'username': username,
|
||||
'device_id': await Settings.UUID(),
|
||||
'category': username + category,
|
||||
'steps': jsonEncode(steps),
|
||||
'deadline': DateFormat("yyyy-mm-dd").format(deadline)
|
||||
};
|
||||
|
||||
if (cacheEnabled) {
|
||||
//Add Query
|
||||
Map<String, Object> query = {Queries.colLink: 'add_project', Queries.colData: jsonEncode(queryBody)};
|
||||
|
||||
print("adding new query ${query[Queries.colLink]} : ${jsonEncode(queryBody)}");
|
||||
|
||||
await cacheDb.insert('Queries', query);
|
||||
|
||||
//update Cache
|
||||
Map<String, Object> data = {};
|
||||
await cacheDb.insert('Projects', data);
|
||||
await refreshUserData();
|
||||
} else {
|
||||
try {
|
||||
http.Response queryResponse = (await http.post(Uri.parse('http://161.97.127.136/task_tracker/add_project.php'), body: queryBody));
|
||||
print("Query executed : Results{${queryResponse.body}");
|
||||
if (queryResponse.body.toLowerCase().contains("success")) {
|
||||
//Success
|
||||
}
|
||||
} catch (e) {
|
||||
print('NC: Error adding prjct $e}');
|
||||
}
|
||||
}
|
||||
|
||||
await executeQueries();
|
||||
}
|
||||
|
||||
static Future<void> deleteTask(String name, {bulk = false}) async {
|
||||
Map<String, String> queryBody = <String, String>{
|
||||
'id': username + name,
|
||||
@@ -769,7 +808,7 @@ class UserOperations {
|
||||
Map<String, Object> query = {Queries.colLink: 'delete_taskType', Queries.colData: jsonEncode(queryBody)};
|
||||
|
||||
print("adding new query ${query[Queries.colLink]} : ${jsonEncode(queryBody)}");
|
||||
if(cacheEnabled) {
|
||||
if (cacheEnabled) {
|
||||
await cacheDb.insert('Queries', query);
|
||||
|
||||
//update Cache
|
||||
@@ -781,7 +820,7 @@ class UserOperations {
|
||||
|
||||
await refreshUserData();
|
||||
//Add to server and refresh Cache
|
||||
}else{
|
||||
} else {
|
||||
try {
|
||||
http.Response queryResponse = (await http.post(Uri.parse('http://161.97.127.136/task_tracker/delete_taskType.php'), body: queryBody));
|
||||
print("Query executed : Results{${queryResponse.body}");
|
||||
@@ -807,7 +846,7 @@ class UserOperations {
|
||||
Map<String, Object> query = {Queries.colLink: 'delete_category', Queries.colData: jsonEncode(queryBody)};
|
||||
|
||||
print("adding new query ${query[Queries.colLink]} : ${jsonEncode(queryBody)}");
|
||||
if(cacheEnabled) {
|
||||
if (cacheEnabled) {
|
||||
await cacheDb.insert('Queries', query);
|
||||
|
||||
//update Cache
|
||||
@@ -818,7 +857,7 @@ class UserOperations {
|
||||
await cacheDb.rawDelete("DELETE FROM Categories WHERE ${Category.colCatId}='${username + name}'");
|
||||
await refreshUserData();
|
||||
//Add to server and refresh Cache
|
||||
}else{
|
||||
} else {
|
||||
try {
|
||||
http.Response queryResponse = (await http.post(Uri.parse('http://161.97.127.136/task_tracker/delete_category.php'), body: queryBody));
|
||||
print("Query executed : Results{${queryResponse.body}");
|
||||
@@ -846,19 +885,18 @@ class UserOperations {
|
||||
|
||||
print("adding new query ${query[Queries.colLink]} : ${jsonEncode(queryBody)}");
|
||||
|
||||
if(cacheEnabled) {
|
||||
if (cacheEnabled) {
|
||||
await cacheDb.insert('Queries', query);
|
||||
|
||||
//update Cache
|
||||
String deleteQuery =
|
||||
"DELETE FROM Activities WHERE ${Activity.colStartTime}=datetime('${dFormat.format(activity.trueStartTime)}') AND ${Activity
|
||||
.colEndTime}=datetime('${dFormat.format(activity.trueEndTime)}')";
|
||||
"DELETE FROM Activities WHERE ${Activity.colStartTime}=datetime('${dFormat.format(activity.trueStartTime)}') AND ${Activity.colEndTime}=datetime('${dFormat.format(activity.trueEndTime)}')";
|
||||
print("delteQuery : $deleteQuery");
|
||||
|
||||
await cacheDb.rawDelete(deleteQuery);
|
||||
await refreshUserData();
|
||||
//Add to server and refresh Cache
|
||||
}else{
|
||||
} else {
|
||||
try {
|
||||
http.Response queryResponse = (await http.post(Uri.parse('http://161.97.127.136/task_tracker/delete_activity.php'), body: queryBody));
|
||||
print("Query executed : Results{${queryResponse.body}");
|
||||
|
||||
Reference in New Issue
Block a user