Page 1 of 1
Calculate value for custom field on updating issue
Posted: 29 Jun 2020, 13:04
by pollevr
Hi all,
in Mantis v. 2.24.1 I'm trying to write a plugin for setting a value calculated automatically, based on the values of other fields or custom fields.
In my plugin there are following code:
Code: Select all
class MyPluginPlugin extends MantisPlugin {
function register() {
...
}
function hooks(){
return array(
'EVENT_MYPLUGIN_UPDATE' => 'update',
);
}
function events() {
return array(
'EVENT_MYPLUGIN_UPDATE' => EVENT_UPDATE_BUG,
);
}
function update( $p_issue_id, $p_bug_data, $p_bugnote_text ) {
$t_id = custom_field_get_id_from_name('<my_custom_field_name>');
custom_field_set_value( $t_id , $p_issue_id, <my_new_value>);
return $p_bug_data;
}
...
}
When I update an issue I'll expect that the custom field <my_custom_field_name> will save with the <my_new_value>.
Why not?
Thanks all,
Cristian
Re: Calculate value for custom field on updating issue
Posted: 29 Jun 2020, 20:51
by atrol
Should work, didn't try
Code: Select all
class MyPluginPlugin extends MantisPlugin {
function hooks(){
return array(
'EVENT_UPDATE_BUG' => 'update',
);
}
function update( $p_issue_id, $p_bug_data, $p_bugnote_text ) {
$t_id = custom_field_get_id_from_name('<my_custom_field_name>');
custom_field_set_value( $t_id , $p_issue_id, <my_new_value>);
return $p_bug_data;
}
...
}
Re: Calculate value for custom field on updating issue
Posted: 30 Jun 2020, 06:45
by pollevr
Hi atrol,
thank you for your suggestion, but unfortunately doesn't work.
I don't understand the difference between your an my code.
my code:
Code: Select all
function hooks(){
return array(
'EVENT_MYPLUGIN_UPDATE' => 'update',
);
}
function events() {
return array(
'EVENT_MYPLUGIN_UPDATE' => EVENT_UPDATE_BUG,
);
}
function update( $p_issue_id, $p_bug_data, $p_bugnote_text ) {
$t_id = custom_field_get_id_from_name('<my_custom_field_name>');
custom_field_set_value( $t_id , $p_issue_id, <my_new_value>);
return $p_bug_data;
}
your code:
Code: Select all
function hooks(){
return array(
'EVENT_UPDATE_BUG' => 'update',
);
}
function update( $p_issue_id, $p_bug_data, $p_bugnote_text ) {
$t_id = custom_field_get_id_from_name('<my_custom_field_name>');
custom_field_set_value( $t_id , $p_issue_id, <my_new_value>);
return $p_bug_data;
}
I think that with my code I can call my custom function "update", what is the difference from your code? Is the same thing?
In any case neither one nor the other works.
Any other suggestions?
Thank you,
Cristian
Re: Calculate value for custom field on updating issue
Posted: 30 Jun 2020, 07:22
by pollevr
Hi atrol,
I took a small step forward.
Now my code is:
Code: Select all
function init() {
plugin_event_hook( 'EVENT_UPDATE_BUG', 'update' );
}
function update( $p_issue_id, $p_bug_data, $p_bugnote_text ) {
$t_id = custom_field_get_id_from_name('<my_custom_field_name');
//custom_field_set_value( $t_id , $p_issue_id, <any_integer_value>);
custom_field_set_value( $t_id , 30, <any_integer_value>);
return $p_bug_data;
}
I added in function init and I removed from functions events and hooks and the update function is called correctly now!
But now the problem is that the id parameter $p_issue_id does not setted and therefore I don't know how to update the current issue (30 is an id that I know, but why $p_issue_id != 30 that is the issue I'm trying to change for test?)
Any ideas?
Thank you,
Cristian
Re: Calculate value for custom field on updating issue
Posted: 30 Jun 2020, 08:26
by pollevr
I found it:
Code: Select all
function update( $p_issue_id, $p_bug_data, $p_bugnote_text ) {...}
$p_issue_id = EVENT_UPDATE_BUG
$p_bug_data = <my_id_issue_that_I_updated>
Thank you,
Cristian