diff --git a/lib/Lacuna/DB/Result/Propositions.pm b/lib/Lacuna/DB/Result/Propositions.pm index 7e2247a2..7ef83560 100644 --- a/lib/Lacuna/DB/Result/Propositions.pm +++ b/lib/Lacuna/DB/Result/Propositions.pm @@ -107,7 +107,14 @@ sub check_status { sub pass { my $self = shift; $self->status('Passed'); - $self->station->alliance->send_predefined_message( + my $alliance; + if ($self->scratch->{alliance_id}) { + $alliance = Lacuna->db->resultset('Lacuna::DB::Result::Alliance')->search({alliance_id => $self->scratch->{alliance_id})->single; + } + else { + $alliance = $self->station->alliance; + } + $alliance->send_predefined_message( filename => 'parliament_vote_passed.txt', tag => 'Correspondence', params => [ diff --git a/lib/Lacuna/DB/Result/Propositions/AbandonStation.pm b/lib/Lacuna/DB/Result/Propositions/AbandonStation.pm index 7883c443..1732735c 100644 --- a/lib/Lacuna/DB/Result/Propositions/AbandonStation.pm +++ b/lib/Lacuna/DB/Result/Propositions/AbandonStation.pm @@ -5,7 +5,7 @@ use utf8; no warnings qw(uninitialized); extends 'Lacuna::DB::Result::Propositions'; -after pass => sub { +before pass => sub { my ($self) = @_; $self->station->sanitize; }; diff --git a/lib/Lacuna/RPC/Body.pm b/lib/Lacuna/RPC/Body.pm index bd01e850..ee6b4ad1 100644 --- a/lib/Lacuna/RPC/Body.pm +++ b/lib/Lacuna/RPC/Body.pm @@ -27,6 +27,7 @@ sub abandon { name => 'Abandon Station', description => 'Abandon the station named {Planet '.$body->id.' '.$body->name.'}.', proposed_by_id => $empire->id, + scratch => { alliance_id => $body->alliance }, }); $proposition->station($body); $proposition->proposed_by($empire);