4 use CXGN
::Scrap
::AjaxPage
;
5 use CXGN
::DB
::Connection
;
6 use CXGN
::Phenome
::LocusDbxref
;
9 use CXGN
::People
::Person
;
12 my $dbh = CXGN
::DB
::Connection
->new();
13 my($login_person_id,$login_user_type)=CXGN
::Login
->new($dbh)->verify_session();
15 if ($login_user_type eq 'curator' || $login_user_type eq 'submitter' || $login_user_type eq 'sequencer') {
19 my $doc = CXGN
::Scrap
::AjaxPage
->new();
20 my ($object_dbxref_id, $type, $action) = $doc->get_encoded_arguments("object_dbxref_id", "type", "action");
24 if ($type eq 'locus') {
25 my $locus_dbxref=CXGN
::Phenome
::LocusDbxref
->new($dbh, $object_dbxref_id);
26 if ($action eq 'unobsolete' ) {
27 $locus_dbxref->unobsolete();
28 }else { $locus_dbxref->obsolete(); }
29 my $locus_id = $locus_dbxref->get_locus_id();
30 $link = "http://www.sgn.cornell.edu/phenome/locus_display.pl?locus_id=$locus_id";
31 }elsif ($type eq 'individual') {
32 my $individual_dbxref=CXGN
::Phenome
::Individual
::IndividualDbxref
->new($dbh, $object_dbxref_id);
33 if ($action eq 'unobsolete' ) { $individual_dbxref->unobsolete(); }
34 else { $individual_dbxref->obsolete(); }
36 my $individual_id = $individual_dbxref->get_individual_id();
37 $link = "http://www.sgn.cornell.edu/phenome/individual.pl?individual_id=$individual_id";
40 if ($@
) { warn "Obsoleting ontology term association failed! $@"; }
43 my $subject="[Ontology-$type association $action] ";
44 my $person= CXGN
::People
::Person
->new($dbh, $login_person_id);
45 my $user=$person->get_first_name()." ".$person->get_last_name();
46 my $user_link = qq |http
://www
.sgn
.cornell
.edu
/solpeople/personal
-info
.pl?sp_person_id
=$login_person_id|;
48 my $fdbk_body="$user ($user_link) just $action ontology-$type association from phenome. $type - dbxref\n
49 id=$object_dbxref_id \n $link";
50 CXGN
::Contact
::send_email
($subject,$fdbk_body, 'sgn-db-curation@sgn.cornell.edu');
51 CXGN
::Feed
::update_feed
($subject,$fdbk_body);