@@ -342,7 +342,10 @@ function mci_issue_get_notes( $p_issue_id ) {
342
342
* of the users which should monitor this issue.
343
343
*/
344
344
function mci_issue_set_monitors ( $ p_issue_id , $ p_user_id , $ p_monitors ) {
345
-
345
+ if ( bug_is_readonly ( $ p_issue_id ) ) {
346
+ return mci_soap_fault_access_denied ( $ p_user_id , "Issue ' $ p_issue_id' is readonly " );
347
+ }
348
+
346
349
$ t_existing_monitors = bug_get_monitors ( $ p_issue_id );
347
350
348
351
$ t_monitors = array ();
@@ -709,6 +712,10 @@ function mc_issue_update( $p_username, $p_password, $p_issue_id, $p_issue ) {
709
712
return new soap_fault ( 'Client ' , '' , "Issue ' $ p_issue_id' does not exist. " );
710
713
}
711
714
715
+ if ( bug_is_readonly ( $ p_issue_id ) ) {
716
+ return mci_soap_fault_access_denied ( $ t_user_id , "Issue ' $ p_issue_id' is readonly " );
717
+ }
718
+
712
719
$ t_project_id = bug_get_field ( $ p_issue_id , 'project_id ' );
713
720
714
721
if ( !mci_has_readwrite_access ( $ t_user_id , $ t_project_id ) ) {
@@ -917,7 +924,11 @@ function mc_issue_set_tags ( $p_username, $p_password, $p_issue_id, $p_tags ) {
917
924
if ( !mci_has_readwrite_access ( $ t_user_id , $ t_project_id ) ) {
918
925
return mci_soap_fault_access_denied ( $ t_user_id );
919
926
}
920
-
927
+
928
+ if ( bug_is_readonly ( $ p_issue_id ) ) {
929
+ return mci_soap_fault_access_denied ( $ t_user_id , "Issue ' $ p_issue_id' is readonly " );
930
+ }
931
+
921
932
mci_tag_set_for_issue ( $ p_issue_id , $ p_tags , $ t_user_id );
922
933
923
934
return true ;
@@ -1050,6 +1061,10 @@ function mc_issue_note_delete( $p_username, $p_password, $p_issue_note_id ) {
1050
1061
return mci_soap_fault_access_denied ( $ t_user_id );
1051
1062
}
1052
1063
1064
+ if ( bug_is_readonly ( $ t_issue_id ) ) {
1065
+ return mci_soap_fault_access_denied ( $ t_user_id , "Issue ' $ t_issue_id' is readonly " );
1066
+ }
1067
+
1053
1068
return bugnote_delete ( $ p_issue_note_id );
1054
1069
}
1055
1070
0 commit comments