Ejemplo n.º 1
0
 public function destroy($id)
 {
     if (Auth::user()->is_admin) {
         $count = 0;
         $zone = Zone::find($id);
         $clients = Client::select('zone_id')->get();
         foreach ($clients as $key => $client) {
             $u = $client->zone_id;
             $uarray = explode(',', $u);
             if (in_array($id, $uarray, true)) {
                 $count = $count + 1;
             }
         }
         if ($count > 0) {
             $field = $count == 1 ? ' ' : 's';
             $field2 = $count == 1 ? ' pertenece' : ' pertenecen';
             $message = $count . " Cliente" . $field . $field2 . " a la zona " . $zone->name;
             Session::flash('error', $message);
             return Redirect::to('zonas/' . $id);
         } else {
             $zone->delete();
             $message = "Zona Eliminada con éxito";
             Session::flash('message', $message);
             return Redirect::to('zonas');
         }
     }
 }
 public function update()
 {
     $zone = Zone::find(Input::get('zone_id'));
     $users = User::all();
     foreach ($users as $key => $value) {
         $user_access = Input::get('user_access_' . $value->rfid);
         if ($user_access) {
             $sites = $zone->Sites;
             if ($zone->GivesAccessToUser($value->rfid) == 'Denied') {
                 DB::table('user_zone')->insert(array('user_id' => $value->rfid, 'zone_id' => $zone->id));
                 foreach ($sites as $site) {
                     DB::table('site_user')->insert(array('user_id' => $value->rfid, 'site_id' => $site->id));
                 }
             } else {
                 DB::table('user_zone')->where('user_id', '=', $value->rfid)->where('zone_id', '=', $zone->id)->delete();
                 foreach ($sites as $site) {
                     DB::table('site_user')->where('user_id', '=', $value->rfid)->where('site_id', '=', $site->id)->delete();
                 }
             }
         }
     }
     return Redirect::to('zoneUser/' . $zone->id);
 }
Ejemplo n.º 3
0
 function zonename($char) {
     if (isset($char->zone)) {
         $zone = null;
         $zone = Zone::find(intval($char->zone));
         if (is_object($zone)) {
             return $zone->name;
         } else {
             return $char->zone;
         }
     } else {
         return 'Unknown';
     }
 }
Ejemplo n.º 4
0
 function addressMetaData($action)
 {
     //        $optionState = array();
     //        $optionState['order'] = array('state_name' => 'asc', 'active' => '1');
     //        $optionState['conditions'] = array('zone_id' => $address['zone_id'], 'active' => '1');
     if (isset($this->params['named']['copy_address']) || $action == 'edit' || $action == 'copy') {
         App::import('Model', 'Country');
         $objCountry = new Country();
         App::import('Model', 'Zone');
         $objZone = new Zone();
         App::import('Model', 'State');
         $objState = new State();
         App::import('Model', 'District');
         $objDistrict = new District();
         App::import('Model', 'City');
         $objCity = new City();
         $optionZone = array();
         $optionDistrict = array();
         $optionCity = array();
         if (!empty($this->viewVars[lcfirst($this->modelClass)]['Address'])) {
             $address = $this->viewVars[lcfirst($this->modelClass)]['Address'];
             $optionCountry['conditions'] = array('id' => $address['country_id'], 'active' => '1');
             $optionZone['conditions'] = array('id' => $address['zone_id'], 'active' => '1');
             $optionState['conditions'] = array('id' => $address['state_id'], 'active' => '1');
             $optionDistrict['conditions'] = array('id' => $address['district_id'], 'active' => '1');
             $optionCity['conditions'] = array('id' => $address['city_id'], 'active' => '1');
         }
         $countries = $objCountry->find('list', $optionCountry);
         $zones = $objZone->find('list', $optionZone);
         $states = $objState->find('list', $optionState);
         $districts = $objDistrict->find('list', $optionDistrict);
         $cities = $objCity->find('list', $optionCity);
         $this->set(compact('countries', 'zones', 'states', 'districts', 'cities'));
     }
 }
Ejemplo n.º 5
0
 public function OffCommand($zone_id, $relay_id)
 {
     $zone = Zone::find($zone_id);
     $zone_sites = $zone->Sites;
     $zone_relays = $zone->Relays;
     if (!$zone_relays->count()) {
         for ($i = 0; $i < 6; $i++) {
             ZoneRelay::create(array('zone_id' => $zone_id, 'relay_id' => $i, 'status' => 'False'));
         }
     }
     $zone_relay = ZoneRelay::withZoneAndRelay($zone_id, $relay_id)->get()->first();
     $relay = ZoneRelay::find($zone_relay->id);
     $relay->status = 'False';
     $relay->save();
     $entry = new ZoneRecord();
     $entry->zone_id = $zone->id;
     $entry->zone_name = $zone->name;
     $entry->switch = $relay->relay_id;
     $entry->status = 'Off';
     $entry->command = 0;
     $entry->admin_id = Auth::admin()->get()->id;
     $entry->save();
     foreach ($zone_sites as $zone_site) {
         $site_relays = $zone_site->Relays;
         if (!$site_relays->count()) {
             for ($i = 0; $i < 6; $i++) {
                 Relay::create(array('site_id' => $zone_site->id, 'relay_id' => $i, 'status' => 'False'));
             }
         }
         $site_relay = Relay::withSiteAndRelay($zone_site->id, $zone_relay->relay_id)->get()->first();
         $relay = Relay::find($site_relay->id);
         $relay->status = 'False';
         $relay->save();
         $entry = new Record();
         $entry->site_id = $zone_site->id;
         $entry->site_name = $zone_site->name;
         $entry->switch = $relay->relay_id;
         $entry->status = 'Off';
         $entry->command = 0;
         $entry->save();
     }
     return Redirect::to('zone/' . $zone_id);
 }
 public function update()
 {
     $zone = Zone::find(Input::get('zone_id'));
     $sites = Site::all();
     $zone_sites = $zone->Sites;
     $zone_relays = $zone->Relays;
     //add sites to zone
     foreach ($sites as $key => $value) {
         $selected_sites = Input::get('selected_sites_' . $value->id);
         if ($selected_sites) {
             $value->zone_id = $zone->id;
             $value->save();
         } else {
             // $value->zone_id = null;
             // $value->save();
         }
     }
     $zone = Zone::find(Input::get('zone_id'));
     $zone_sites = $zone->Sites;
     $zone_relays = $zone->Relays;
     //create new zone relays if not present
     if (!$zone_relays->count()) {
         for ($i = 0; $i < 6; $i++) {
             ZoneRelay::create(array('zone_id' => $zone->id, 'relay_id' => $i, 'status' => 'False'));
         }
     }
     //for all sites of the zone
     $zone_sites = $zone->Sites;
     foreach ($zone_sites as $site) {
         //update site relays
         $zone_relays = $zone->Relays;
         foreach ($zone_relays as $relay) {
             $site_relays = $site->Relays;
             //create new site relays if not present
             if (!$site_relays->count()) {
                 Relay::create(array('site_id' => $site->id, 'relay_id' => $relay->relay_id, 'status' => $relay->status));
             }
             $site_relay = Relay::where('site_id', '=', $site->id)->where('relay_id', '=', $relay->relay_id)->get()->first();
             $relay_status = $site_relay->status;
             //when zone relay is true
             if ($relay->status == 'True') {
                 $site_relay->status = 'True';
                 $site_relay->save();
                 //log this change
                 $entry = new Record();
                 $entry->site_id = $site->id;
                 $entry->site_name = $site->name;
                 $entry->switch = $relay->relay_id;
                 $entry->status = 'On';
                 $entry->command = 1;
                 $entry->save();
                 //when zone relay is false
             } else {
                 $site_relay->status = 'False';
                 $site_relay->save();
                 //log this change
                 $entry = new Record();
                 $entry->site_id = $site->id;
                 $entry->site_name = $site->name;
                 $entry->switch = $relay->relay_id;
                 $entry->status = 'Off';
                 $entry->command = 0;
                 $entry->save();
             }
         }
     }
     $users = User::all();
     foreach ($users as $user) {
         if ($zone->GivesAccessToUser($user->rfid) == 'Granted') {
             DB::table('user_zone')->insert(array('user_id' => $user->rfid, 'zone_id' => $zone->id));
             foreach ($zone_sites as $zone_site) {
                 DB::table('site_user')->insert(array('user_id' => $user->rfid, 'site_id' => $zone_site->id));
             }
         } else {
             DB::table('user_zone')->where('user_id', '=', $user->rfid)->where('zone_id', '=', $zone->id)->delete();
             foreach ($zone_sites as $zone_site) {
                 DB::table('site_user')->where('user_id', '=', $user->rfid)->where('site_id', '=', $zone_site->id)->delete();
             }
         }
     }
     return Redirect::to('zoneSite/' . $zone->id);
 }
Ejemplo n.º 7
0
 public function getZone()
 {
     $str = '';
     if ($this->zone_id) {
         $zone = Zone::find(1)->select('name')->where('id', '=', $this->zone_id)->first();
         $result = $zone->name;
         $str .= $result . '<br/>';
     }
     return $str;
 }