+if ($call && defined param('cmd')){
+ if (param('cmd') eq 'Submit'){
+ $DBH->begin_work;
+ if (param('ctick')){
+ if ($DBH->do(q{UPDATE calls SET landing_tick = ? WHERE id = ?}
+ ,undef,param('tick'),$call->{id})){
+ $call->{landing_tick} = param('tick');
+ log_message $ND::UID,"DC updated landing tick for call $call->{id}";
+ }else{
+ $error .= "<p> Something went wrong: ".$DBH->errstr."</p>";
+ }
+ }
+ if (param('cinfo')){
+ if ($DBH->do(q{UPDATE calls SET info = ? WHERE id = ?}
+ ,undef,param('info'),$call->{id})){
+ $call->{info} = param('info');
+ log_message $ND::UID,"DC updated info for call $call->{id}";
+ }else{
+ $error .= "<p> Something went wrong: ".$DBH->errstr."</p>";
+ }
+ }
+ $DBH->commit or $error .= "<p> Something went wrong: ".$DBH->errstr."</p>";
+ }elsif(param('cmd') =~ /^(Cover|Uncover|Ignore|Open|Take) call$/){
+ $error .= "test";
+ my $extra_vars = '';
+ if (param('cmd') eq 'Cover call'){
+ $extra_vars = ", covered = TRUE, open = FALSE";
+ }elsif (param('cmd') eq 'Uncover call'){
+ $extra_vars = ", covered = FALSE, open = TRUE";
+ }elsif (param('cmd') eq 'Ignore call'){
+ $extra_vars = ", covered = FALSE, open = FALSE";
+ }elsif (param('cmd') eq 'Open call'){
+ $extra_vars = ", covered = FALSE, open = TRUE";
+ }
+ if ($DBH->do(qq{UPDATE calls SET dc = ? $extra_vars WHERE id = ?},
+ ,undef,$ND::UID,$call->{id})){
+ $call->{covered} = (param('cmd') eq 'Cover call');
+ $call->{open} = (param('cmd') =~ /^(Uncover|Open) call$/);
+ $call->{DC} = $ND::USER;
+ }else{
+ $error .= "<p> Something went wrong: ".$DBH->errstr."</p>";
+ }
+ }elsif(param('cmd') eq 'Remove'){
+ $DBH->begin_work;
+ my $query = $DBH->prepare(q{DELETE FROM incomings WHERE id = ? AND call = ?});
+ for my $param (param()){
+ if ($param =~ /^change:(\d+)$/){
+ if($query->execute($1,$call->{id})){
+ log_message $ND::UID,"DC deleted fleet: $1, call $call->{id}";
+ }else{
+ $error .= "<p> Something went wrong: ".$DBH->errstr."</p>";
+ }
+ }
+ }
+ $DBH->commit or $error .= "<p> Something went wrong: ".$DBH->errstr."</p>";
+ }elsif(param('cmd') eq 'Change'){
+ $DBH->begin_work;
+ my $query = $DBH->prepare(q{UPDATE incomings SET shiptype = ? WHERE id = ? AND call = ?});
+ for my $param (param()){
+ if ($param =~ /^change:(\d+)$/){
+ my $shiptype = escapeHTML(param("shiptype:$1"));
+ if($query->execute($shiptype,$1,$call->{id})){
+ log_message $ND::UID,"DC set fleet: $1, call $call->{id} to: $shiptype";
+ }else{
+ $error .= "<p> Something went wrong: ".$DBH->errstr."</p>";
+ }
+ }
+ }
+ $DBH->commit or $error .= "<p> Something went wrong: ".$DBH->errstr."</p>";
+ }
+}