예제 #1
0
 /**
  * Update the specified service in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function updateService($service)
 {
     // $service = Service::findOrFail($id);
     $detail = Input::only('highlights', 'summary');
     $condition = Input::only('special_condition', 'condition1', 'condition2');
     $data = Input::except('highlights', 'special_condition', 'condition1', 'condition2');
     $validator = Validator::make($data, Service::$rules);
     if ($validator->fails()) {
         return Redirect::back()->withErrors($validator)->withInput();
     }
     if ($service->detail_id) {
         // update detail service
         ServiceDetail::where('id', $service->detail_id)->update($detail);
     } else {
         // update detail service
         $serviceDetail = ServiceDetail::create($detail);
         $data['detail_id'] = $serviceDetail->id;
     }
     if ($service->condition_id) {
         // create condition service
         ServiceCondition::where('id', $service->condition_id)->update($condition);
     } else {
         $serviceCondition = ServiceCondition::create($condition);
         $data['condition_id'] = $serviceCondition->id;
     }
     // set active
     $data['status'] = 'active';
     unset($data['summary']);
     if ($service->update($data)) {
         return Redirect::route('service.index')->with('success', Lang::get('site/services/messages.update.success'));
     }
     return Redirect::route('service.edit')->with('error', Lang::get('site/services/messages.update.error'));
 }
예제 #2
0
 /**
  * Update the specified service in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function updateService($id)
 {
     $service = Service::findOrFail($id);
     $detail = Input::only('highlights', 'summary');
     $condition = Input::only('special_condition', 'condition1', 'condition2');
     $data = Input::except('highlights', 'summary', 'special_condition', 'condition1', 'condition2');
     $validator = Validator::make($data, Service::$rules);
     if ($validator->fails()) {
         return Redirect::back()->withErrors($validator)->withInput();
     }
     ServiceDetail::where('id', (int) $data['detail_id'])->update($detail);
     ServiceCondition::where('id', (int) $data['condition_id'])->update($condition);
     $service->update($data);
     return Redirect::route('admin.services.index');
 }
예제 #3
0
 public function run()
 {
     DB::table('services')->delete();
     DB::table('service_details')->delete();
     $uuid = UUID::v4();
     Object::create(['uuid' => $uuid, 'object_type' => '2', 'first_name' => '', 'second_name' => 'generic-service', 'is_active' => '1']);
     Service::create(['object_uuid' => $uuid, 'host_fk' => '', 'description' => 'Generic Template', 'command_fk' => '']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'name', 'value' => 'generic-service']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'active_checks_enabled', 'value' => '1']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'passive_checks_enabled', 'value' => '1']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'parallelize_check', 'value' => '1']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'obsess_over_service', 'value' => '1']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'check_freshness', 'value' => '0']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'notifications_enabled', 'value' => '1']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'event_handler_enabled', 'value' => '1']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'flap_detection_enabled', 'value' => '1']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'failure_prediction_enabled', 'value' => '1']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'process_perf_data', 'value' => '1']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'retain_status_information', 'value' => '1']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'retain_nonstatus_information', 'value' => '1']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'is_volatile', 'value' => '0']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'check_period', 'value' => '24x7']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'max_check_attempts', 'value' => '3']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'normal_check_interval', 'value' => '10']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'retry_check_interval', 'value' => '2']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'contact_groups', 'value' => 'admins']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'notification_options', 'value' => 'w,u,c,r']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'notification_interval', 'value' => '60']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'notification_period', 'value' => '24x7']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'register', 'value' => '0']);
     $uuid = UUID::v4();
     Object::create(['uuid' => $uuid, 'object_type' => '2', 'first_name' => '', 'second_name' => 'local-service', 'is_active' => '1']);
     Service::create(['object_uuid' => $uuid, 'host_fk' => '', 'description' => 'Localhost Template', 'command_fk' => '']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'name', 'value' => 'local-service']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'use', 'value' => 'generic-service']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'max_check_attempts', 'value' => '4']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'normal_check_interval', 'value' => '5']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'retry_check_interval', 'value' => '1']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'register', 'value' => '0']);
     $uuid = UUID::v4();
     Object::create(['uuid' => $uuid, 'object_type' => '2', 'first_name' => 'localhost', 'second_name' => 'PING', 'is_active' => '1']);
     Service::create(['object_uuid' => $uuid, 'host_fk' => '', 'description' => 'PING', 'command_fk' => '']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'use', 'value' => 'local-service']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'host_name', 'value' => 'localhost']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'service_description', 'value' => 'PING']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'check_command', 'value' => 'check_ping!100.0,20%!500.0,60%']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => '_graphiteprefix', 'value' => 'monitoring.nagios.localhost']);
     $uuid = UUID::v4();
     Object::create(['uuid' => $uuid, 'object_type' => '2', 'first_name' => 'localhost', 'second_name' => 'Root Partition', 'is_active' => '1']);
     Service::create(['object_uuid' => $uuid, 'host_fk' => '', 'description' => 'Root Partition', 'command_fk' => '']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'use', 'value' => 'local-service']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'host_name', 'value' => 'localhost']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'service_description', 'value' => 'Root Partition']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'check_command', 'value' => 'check_local_disk!20%!10%!/']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => '_graphiteprefix', 'value' => 'monitoring.nagios.localhost']);
     $uuid = UUID::v4();
     Object::create(['uuid' => $uuid, 'object_type' => '2', 'first_name' => 'localhost', 'second_name' => 'Current Users', 'is_active' => '1']);
     Service::create(['object_uuid' => $uuid, 'host_fk' => '', 'description' => 'Current Users', 'command_fk' => '']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'use', 'value' => 'local-service']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'host_name', 'value' => 'localhost']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'service_description', 'value' => 'Current Users']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'check_command', 'value' => 'check_local_users!20!50']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => '_graphiteprefix', 'value' => 'monitoring.nagios.localhost']);
     $uuid = UUID::v4();
     Object::create(['uuid' => $uuid, 'object_type' => '2', 'first_name' => 'localhost', 'second_name' => 'Total Processes', 'is_active' => '1']);
     Service::create(['object_uuid' => $uuid, 'host_fk' => '', 'description' => 'Total Processes', 'command_fk' => '']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'use', 'value' => 'local-service']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'host_name', 'value' => 'localhost']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'service_description', 'value' => 'Total Processes']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'check_command', 'value' => 'check_local_procs!250!400!RSZDT']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => '_graphiteprefix', 'value' => 'monitoring.nagios.localhost']);
     $uuid = UUID::v4();
     Object::create(['uuid' => $uuid, 'object_type' => '2', 'first_name' => 'localhost', 'second_name' => 'Current Load', 'is_active' => '1']);
     Service::create(['object_uuid' => $uuid, 'host_fk' => '', 'description' => 'Current Load', 'command_fk' => '']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'use', 'value' => 'local-service']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'host_name', 'value' => 'localhost']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'service_description', 'value' => 'Current Load']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'check_command', 'value' => 'check_local_load!5.0,4.0,3.0!10.0,6.0,4.0']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => '_graphiteprefix', 'value' => 'monitoring.nagios.localhost']);
     $uuid = UUID::v4();
     Object::create(['uuid' => $uuid, 'object_type' => '2', 'first_name' => 'localhost', 'second_name' => 'Swap Usage', 'is_active' => '1']);
     Service::create(['object_uuid' => $uuid, 'host_fk' => '', 'description' => 'Swap Usage', 'command_fk' => '']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'use', 'value' => 'local-service']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'host_name', 'value' => 'localhost']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'service_description', 'value' => 'Swap Usage']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'check_command', 'value' => 'check_local_swap!20!10']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => '_graphiteprefix', 'value' => 'monitoring.nagios.localhost']);
     $uuid = UUID::v4();
     Object::create(['uuid' => $uuid, 'object_type' => '2', 'first_name' => 'localhost', 'second_name' => 'SSH', 'is_active' => '1']);
     Service::create(['object_uuid' => $uuid, 'host_fk' => '', 'description' => 'SSH', 'command_fk' => '']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'use', 'value' => 'local-service']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'host_name', 'value' => 'localhost']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'service_description', 'value' => 'SSH']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'check_command', 'value' => 'check_ssh']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'notifications_enabled', 'value' => '0']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => '_graphiteprefix', 'value' => 'monitoring.nagios.localhost']);
     $uuid = UUID::v4();
     Object::create(['uuid' => $uuid, 'object_type' => '2', 'first_name' => 'localhost', 'second_name' => 'HTTP', 'is_active' => '1']);
     Service::create(['object_uuid' => $uuid, 'host_fk' => '', 'description' => 'HTTP', 'command_fk' => '']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'use', 'value' => 'local-service']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'host_name', 'value' => 'localhost']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'service_description', 'value' => 'HTTP']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'check_command', 'value' => 'check_http']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => 'notifications_enabled', 'value' => '0']);
     ServiceDetail::create(['service_fk' => $uuid, 'key' => '_graphiteprefix', 'value' => 'monitoring.nagios.localhost']);
 }
 public function actionDiscount($id)
 {
     $customer = $this->loadModel($id);
     $services = new ServiceDetail('search');
     $services->unsetAttributes();
     // clear any default values
     if (isset($_GET['ServiceDetail'])) {
         $services->attributes = $_GET['ServiceDetail'];
     }
     if (isset($_POST['CustomerDiscount'])) {
         foreach ($_POST['CustomerDiscount'] as $key => $data) {
             if (isset($data['id'])) {
                 $model = CustomerDiscount::model()->findByPk($data['id']);
             } else {
                 $model = new CustomerDiscount();
             }
             $model->setAttributes($data);
             $model->save();
         }
     }
     $this->render('discount', array('services' => $services, 'customer' => $customer));
 }
 /**
  * Returns the data model based on the primary key given in the GET variable.
  * If the data model is not found, an HTTP exception will be raised.
  * @param integer the ID of the model to be loaded
  */
 public function loadModel($id)
 {
     $model = ServiceDetail::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }