Francis,

   didnt work it for me :( 

   however with this , it worked when I change the Role whatever the
status are:
my $catid = nodecategory_lookup($luisteste->{category});
        if ($previous_node_ref->{status} ne $node_ref->{status}) {
            # Node has been registered or deregistered
            reevaluate_access($mac, "node_modify");
}
elsif ($catid ne $node_ref->{category_id}) {
            # Node has been registered or deregistered
reevaluate_access($mac, "node_modify");
}        
}

   The problem is when I dont chosse any role ( maybe null value on the
var ) and it gaves me this error on the log ( however it works pretty cool
puting the switch interface  on vlan 1):

"  Aug 24 23:28:18 httpd.admin(0) ERROR: Use of uninitialized value in
string ne at /usr/local/pf/html/pfappserver/lib/pfappserver/Model/Node.pm
line 277.
 (pfappserver::__ANON__)  "

   LT

   Citando luis torres <[email protected]>:

Cool,

   Thanks Francis. I will try
   e
   LT

   Citando Francis Lachapelle <[email protected]>:

Hi Luis

    On 2013-08-23, at 4:56 AM, luis torres <[email protected]> wrote:

Found it

     but my skill as dev are #$%#  :)


     Im trying to excecute the function update on Node.pm eveytime
I change the Role of the node. I include this code on it:


     if ($result) {
             if ($previous_node_ref->{status} ne $node_ref->{status}) {
                 # Node has been registered or deregistered
                 reevaluate_access($mac, "node_modify");

              }
     elsif ($luisteste->{category} ne $node_ref->{category}) {
                 # Node has been registered or deregistered
                 reevaluate_access($mac, "node_modify");
        $status = $STATUS::INTERNAL_SERVER_ERROR;
     $result = $teste;
     }
     But I cant find how can I compare the db result with the
actual Role form field ( hope you understand )

   I made this patch that we'll probably integrate in the next
release. You can try it if you want. It reevaluates the network
access if the node status changed or if the role changed *and* the
node was *not* registered through 802.1X :

   diff --git a/html/pfappserver/lib/pfappserver/Model/Node.pm
b/html/pfappserver/lib/pfappserver/Model/Node.pm
   index 1385869..4e620dc 100644
   --- a/html/pfappserver/lib/pfappserver/Model/Node.pm
   +++ b/html/pfappserver/lib/pfappserver/Model/Node.pm
   @@ -230,7 +230,7 @@ sub update {
      my ($status, $result) = ($STATUS::OK);
      my $previous_node_ref;

   -    $previous_node_ref = node_attributes($mac);
   +    $previous_node_ref = node_view($mac);
      if ($previous_node_ref->{status} ne $node_ref->{status}) {
          # Status was modified
          my $option;
   @@ -247,8 +247,11 @@ sub update {
          $result = node_modify($mac, %{$node_ref});
      }
      if ($result) {
   -        if ($previous_node_ref->{status} ne $node_ref->{status}) {
   +        my $isDot1x =
defined($previous_node_ref->{last_dot1x_username}) &&
length($previous_node_ref->{last_dot1x_username}) > 0;
   +        if ($previous_node_ref->{status} ne $node_ref->{status} ||
   +            $previous_node_ref->{category_id} ne
$node_ref->{category_id} && !$isDot1x) {
              # Node has been registered or deregistered
   +            # or the role has changed and is not currently using 802.1X
              reevaluate_access($mac, "node_modify");
          }
      }


LT

     Citando Jason Frisvold <[email protected]>:

luis torres wrote:

Hi mates,

       what "node_attributes($mac);"  resturns?

     Contextually speaking, it returns the node attributes for the mac
     address you provide.

     It shouldn't be that hard to find the function definition and get a
     definitive answer.     >
cheers
       LT



   --
[email protected] :: +1.514.755.3640 :: http://www.inverse.ca
   Inverse :: Leaders behind SOGo (http://sogo.nu) and PacketFence
(http://packetfence.org)



------------------------------------------------------------------------------
   Introducing Performance Central, a new site from SourceForge and
   AppDynamics. Performance Central is your source for news, insights,
   analysis and resources for efficient Application Performance Management.
   Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
   _______________________________________________
   PacketFence-users mailing list
[email protected]https://lists.sourceforge.net/lists/listinfo/packetfence-users


    

------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
_______________________________________________
PacketFence-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/packetfence-users

Reply via email to