});
$announcements->execute($c->user->id);
$c->stash(announcements => $announcements->fetchall_arrayref({}) );
+
+ my ($attackgroups) = $dbh->selectrow_array(q{
+SELECT array_agg(gid) FROM groupmembers WHERE gid IN ('x','y','z') AND uid = $1
+ }, undef, $c->user->id);
+ $c->stash(attackgroups => $attackgroups);
+
}
sub posthostupdate : Local {
$c->res->redirect($c->uri_for(''));
}
+sub postattackgroups : Local {
+ my ( $self, $c ) = @_;
+ my $dbh = $c->model;
+
+ my @groups = $c->req->param('class');
+ $dbh->do(q{DELETE FROM groupmembers WHERE gid IN ('x','y','z') AND gid <> ALL($1) AND uid = $2
+ },undef, \@groups, $c->user->id);
+
+ $dbh->do(q{INSERT INTO groupmembers (uid,gid) (
+ SELECT $2, gid FROM unnest($1::text[]) AS gid WHERE gid IN ('x','y','z')
+ EXCEPT
+ SELECT uid,gid FROM groupmembers WHERE uid = $2
+ )},undef, \@groups, $c->user->id);
+
+ $c->res->redirect($c->uri_for(''));
+}
+
sub postsmsupdate : Local {
my ( $self, $c ) = @_;
my $dbh = $c->model;
</p>
</form>
</fieldset>
+<fieldset class="forum-post"> <legend>Attack classes</legend>
+<form action="[% c.uri_for('postattackgroups') %]" method="post">
+<p>Pick the classes you use for your attack fleets:</p>
+<p>
+FiCo: <input type="checkbox" name="class" value="x"[% IF attackgroups.grep('x').size > 0 %] checked[%END%]>
+FrDe: <input type="checkbox" name="class" value="y"[% IF attackgroups.grep('y').size > 0 %] checked[%END%]>
+CrBs: <input type="checkbox" name="class" value="z"[% IF attackgroups.grep('z').size > 0 %] checked[%END%]>
+<input type="submit" name="cmd" value="Submit">
+</p>
+</form>
+</fieldset>
<form action="[% c.uri_for('posthostupdate') %]" method="post">
<fieldset class="forum-post"> <legend>Hostname</legend>
<p>Hostname: