Prevent two agents from being each other's parents.

This commit is contained in:
Ramon Novoa 2016-10-06 15:16:55 +02:00
parent c98a4be8fa
commit 121c3a1af8
1 changed files with 6 additions and 2 deletions

View File

@ -997,10 +997,14 @@ sub connect_pandora_agents($$$$) {
}
# Update parents.
if (!defined($PARENTS{$agent_2->{'id_agente'}})) {
if (!defined($PARENTS{$agent_2->{'id_agente'}}) &&
(!defined($PARENTS{$agent_1->{'id_agente'}}) ||
$PARENTS{$agent_1->{'id_agente'}} != $agent_2->{'id_agente'})) {
$PARENTS{$agent_2->{'id_agente'}} = $agent_1->{'id_agente'};
db_do($DBH, 'UPDATE tagente SET id_parent=? WHERE id_agente=?', $agent_1->{'id_agente'}, $agent_2->{'id_agente'});
} elsif (!defined($PARENTS{$agent_1->{'id_agente'}})) {
} elsif (!defined($PARENTS{$agent_1->{'id_agente'}}) &&
(!defined($PARENTS{$agent_2->{'id_agente'}}) ||
$PARENTS{$agent_2->{'id_agente'}} != $agent_1->{'id_agente'})) {
$PARENTS{$agent_1->{'id_agente'}} = $agent_2->{'id_agente'};
db_do($DBH, 'UPDATE tagente SET id_parent=? WHERE id_agente=?', $agent_2->{'id_agente'}, $agent_1->{'id_agente'});
}