Skip to content

Commit

Permalink
add review button
Browse files Browse the repository at this point in the history
  • Loading branch information
Zulalm committed Dec 16, 2023
1 parent b8c0f7e commit 3aec3c1
Show file tree
Hide file tree
Showing 6 changed files with 335 additions and 109 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import 'package:collaborative_science_platform/models/user.dart';
import 'package:collaborative_science_platform/models/workspaces_page/entry.dart';

enum WorkspaceStatus {finalized, workable, inReview, published, rejected}
enum RequestStatus { approved, rejected, pending }

class Workspace {
int workspaceId;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,17 +85,26 @@ class WorkspaceProvider with ChangeNotifier {
}
}

Future<void> updateRequest(int id, String status, String token) async {
Future<void> updateRequest(int id, RequestStatus status, String token) async {
Uri url = Uri.parse("${Constants.apiUrl}/update_req");

String requestStatus = "";
if (status == RequestStatus.approved) {
requestStatus = "A";
} else if (status == RequestStatus.rejected) {
requestStatus = "R";
} else {
requestStatus = "P";
}

var request = http.MultipartRequest('POST', url);
request.headers.addAll({
"Authorization": "Token $token",
"content-type": "application/json",
});
request.fields.addAll({
'id': "$id",
'status': status,
'status': requestStatus,
});

http.StreamedResponse response = await request.send();
Expand All @@ -109,8 +118,16 @@ class WorkspaceProvider with ChangeNotifier {
}
}

Future<void> updateCollaborationRequest(int id, String status, String token) async {
Future<void> updateCollaborationRequest(int id, RequestStatus status, String token) async {
Uri url = Uri.parse("${Constants.apiUrl}/update_collab_req/");
String requestStatus = "";
if (status == RequestStatus.approved) {
requestStatus = "A";
} else if (status == RequestStatus.rejected) {
requestStatus = "R";
} else {
requestStatus = "P";
}

var request = http.MultipartRequest('POST', url);
request.headers.addAll({
Expand All @@ -119,7 +136,7 @@ class WorkspaceProvider with ChangeNotifier {
});
request.fields.addAll({
'id': "$id",
'status': status,
'status': requestStatus,
});

http.StreamedResponse response = await request.send();
Expand Down Expand Up @@ -277,6 +294,7 @@ class WorkspaceProvider with ChangeNotifier {
throw Exception("Something has happened");
}
}

Future<void> sendWorkspaceToReview(int workspaceId, int userId, String token) async {
Uri url = Uri.parse("${Constants.apiUrl}/send_rev_req/");

Expand Down Expand Up @@ -371,4 +389,38 @@ class WorkspaceProvider with ChangeNotifier {
throw Exception("Something has happened");
}
}

Future<void> addReview(int id, RequestStatus status, String comment, String token) async {
Uri url = Uri.parse("${Constants.apiUrl}/update_review_req/");

String requestStatus = "";
if (status == RequestStatus.approved) {
requestStatus = "A";
} else if (status == RequestStatus.rejected) {
requestStatus = "R";
} else {
requestStatus = "P";
}

var request = http.MultipartRequest('PUT', url);
request.headers.addAll({
"Authorization": "Token $token",
"content-type": "application/json",
});
request.fields.addAll({
'id': "$id",
'status': requestStatus,
'comment': comment,
});

http.StreamedResponse response = await request.send();
if (response.statusCode == 200) {
//print(await response.stream.bytesToString());
notifyListeners();
} else if (response.statusCode == 400) {
throw DeleteEntryException();
} else {
throw Exception("Something has happened");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ class MobileWorkspacePage extends StatefulWidget {
final Function finalizeWorkspace;
final Function addSemanticTags;
final Function sendWorkspaceToReview;
final Function addReview;

const MobileWorkspacePage({
super.key,
Expand All @@ -45,6 +46,7 @@ class MobileWorkspacePage extends StatefulWidget {
required this.sendCollaborationRequest,
required this.updateRequest,
required this.sendWorkspaceToReview,
required this.addReview,
});

@override
Expand Down Expand Up @@ -298,6 +300,7 @@ class _MobileWorkspacesPageState extends State<MobileWorkspacePage> {
sendCollaborationRequest: widget.sendCollaborationRequest,
updateRequest: widget.updateRequest,
sendWorkspaceToReview: widget.sendWorkspaceToReview,
addReview: widget.addReview,
)
: const SizedBox(
width: 100,
Expand Down
Loading

0 comments on commit 3aec3c1

Please sign in to comment.