summaryrefslogtreecommitdiffstats
path: root/extensions/PhabBugz/lib/Revision.pm
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/PhabBugz/lib/Revision.pm')
-rw-r--r--extensions/PhabBugz/lib/Revision.pm33
1 files changed, 32 insertions, 1 deletions
diff --git a/extensions/PhabBugz/lib/Revision.pm b/extensions/PhabBugz/lib/Revision.pm
index a897acf31..c114de78c 100644
--- a/extensions/PhabBugz/lib/Revision.pm
+++ b/extensions/PhabBugz/lib/Revision.pm
@@ -9,6 +9,7 @@ package Bugzilla::Extension::PhabBugz::Revision;
use 5.10.1;
use Moo;
+
use Scalar::Util qw(blessed);
use Types::Standard -all;
use Type::Utils;
@@ -249,6 +250,20 @@ sub update {
}
}
+ if ($self->{add_projects}) {
+ push(@{ $data->{transactions} }, {
+ type => 'projects.add',
+ value => $self->{add_projects}
+ });
+ }
+
+ if ($self->{remove_projects}) {
+ push(@{ $data->{transactions} }, {
+ type => 'projects.remove',
+ value => $self->{remove_projects}
+ });
+ }
+
my $result = request( 'differential.revision.edit', $data );
return $result;
@@ -390,4 +405,20 @@ sub set_policy {
$self->{set_policy}->{$name} = $policy;
}
-1; \ No newline at end of file
+sub add_project {
+ my ( $self, $project ) = @_;
+ $self->{add_projects} ||= [];
+ my $project_phid = blessed $project ? $project->phid : $project;
+ return undef unless $project_phid;
+ push @{ $self->{add_projects} }, $project_phid;
+}
+
+sub remove_project {
+ my ( $self, $project ) = @_;
+ $self->{remove_projects} ||= [];
+ my $project_phid = blessed $project ? $project->phid : $project;
+ return undef unless $project_phid;
+ push @{ $self->{remove_projects} }, $project_phid;
+}
+
+1;