mirror of
				https://github.com/beestat/app.git
				synced 2025-11-04 02:47:01 -05:00 
			
		
		
		
	Fixed an issue where thermostats were not inactivating if none were found.
This commit is contained in:
		
							parent
							
								
									479c76be56
								
							
						
					
					
						commit
						8d513331dc
					
				@ -181,8 +181,12 @@ class ecobee_thermostat extends cora\crud {
 | 
				
			|||||||
              ]
 | 
					              ]
 | 
				
			||||||
            ]
 | 
					            ]
 | 
				
			||||||
          );
 | 
					          );
 | 
				
			||||||
        } else {
 | 
					
 | 
				
			||||||
          throw new cora\exception($e->getMessage(), $e->getCode(), $e->getReportable(), $e->getExtraInfo(), $e->getRollback());
 | 
					          /**
 | 
				
			||||||
 | 
					           * At this point, $response will either be populated with results,
 | 
				
			||||||
 | 
					           * or have an empty thermostatList attribute. The code can continue
 | 
				
			||||||
 | 
					           * on as it will inactivate any thermostats that were not found.
 | 
				
			||||||
 | 
					           */
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        throw new cora\exception($e->getMessage(), $e->getCode(), $e->getReportable(), $e->getExtraInfo(), $e->getRollback());
 | 
					        throw new cora\exception($e->getMessage(), $e->getCode(), $e->getReportable(), $e->getExtraInfo(), $e->getRollback());
 | 
				
			||||||
@ -392,14 +396,14 @@ class ecobee_thermostat extends cora\crud {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Inactivate any ecobee_thermostats that were no longer returned.
 | 
					    // Inactivate any ecobee_thermostats that were no longer returned.
 | 
				
			||||||
    $thermostats = $this->api('thermostat', 'read');
 | 
					    $thermostats = $this->api('thermostat', 'read', ['attributes' => ['inactive' => false]]);
 | 
				
			||||||
    $ecobee_thermostat_ids_to_return = [];
 | 
					    $ecobee_thermostat_ids_to_return = [];
 | 
				
			||||||
    foreach($thermostats as $thermostat) {
 | 
					    foreach($thermostats as $thermostat) {
 | 
				
			||||||
      if(in_array($thermostat['thermostat_id'], $thermostat_ids_to_keep) === false) {
 | 
					      if(in_array($thermostat['thermostat_id'], $thermostat_ids_to_keep) === false) {
 | 
				
			||||||
        $this->update(
 | 
					        $this->update(
 | 
				
			||||||
          [
 | 
					          [
 | 
				
			||||||
            'ecobee_thermostat_id' => $thermostat['ecobee_thermostat_id'],
 | 
					            'ecobee_thermostat_id' => $thermostat['ecobee_thermostat_id'],
 | 
				
			||||||
            'inactive' => 1
 | 
					            'inactive' => true
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -409,7 +413,7 @@ class ecobee_thermostat extends cora\crud {
 | 
				
			|||||||
          [
 | 
					          [
 | 
				
			||||||
            'attributes' => [
 | 
					            'attributes' => [
 | 
				
			||||||
              'thermostat_id' => $thermostat['thermostat_id'],
 | 
					              'thermostat_id' => $thermostat['thermostat_id'],
 | 
				
			||||||
              'inactive' => 1
 | 
					              'inactive' => true
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
@ -418,7 +422,11 @@ class ecobee_thermostat extends cora\crud {
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return $this->read_id(['ecobee_thermostat_id' => $ecobee_thermostat_ids_to_return]);
 | 
					    if (count($ecobee_thermostat_ids_to_return) === 0) {
 | 
				
			||||||
 | 
					      return [];
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					      return $this->read_id(['ecobee_thermostat_id' => $ecobee_thermostat_ids_to_return]);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user