Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 4 additions & 8 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,16 @@
}
],
"require": {
"dynamic/silverstripe-country-dropdown-field": "^2",
"php": "^8.1",
"dynamic/silverstripe-country-dropdown-field": "^3",
"geocoder-php/google-maps-provider": "^4.7",
"guzzlehttp/guzzle": "^7.4",
"php-http/guzzle7-adapter": "^1.0",
"php-http/message": "^1.13",
"silverstripe/recipe-core": "^5.0"
"silverstripe/recipe-core": "^6"
},
"require-dev": {
"silverstripe/recipe-testing": "^3"
"silverstripe/recipe-testing": "^4"
},
"minimum-stability": "dev",
"prefer-stable": true,
Expand All @@ -49,11 +50,6 @@
"url": "https://github.com/sponsors/dynamic"
}
],
"extra": {
"branch-alias": {
"dev-master": "3.x-dev"
}
},
"scripts": {
"lint": "vendor/bin/phpcs src/ tests/",
"lint-clean": "vendor/bin/phpcbf src/ tests/"
Expand Down
7 changes: 3 additions & 4 deletions src/AddressDataExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
use SilverStripe\Forms\LiteralField;
use SilverStripe\Forms\ReadonlyField;
use SilverStripe\Forms\TextField;
use SilverStripe\ORM\DataExtension;
use SilverStripe\Core\Extension;
Copy link

Copilot AI Nov 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be use SilverStripe\ORM\DataExtension; instead of use SilverStripe\Core\Extension;.

This extension is designed to extend DataObjects (as shown in the README and TestLocation.php), and uses DataObject-specific hooks like onBeforeWrite(). In SilverStripe 6, SilverStripe\ORM\DataExtension still exists and should be used for DataObject extensions.

Copilot uses AI. Check for mistakes.
use SilverStripe\View\SSViewer;
use SilverStripe\View\ThemeResourceLoader;

Expand All @@ -31,7 +31,7 @@
* @property float $Lat
* @property float $Lng
*/
class AddressDataExtension extends DataExtension
class AddressDataExtension extends Extension
Copy link

Copilot AI Nov 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be class AddressDataExtension extends DataExtension instead of extends Extension.

The onBeforeWrite() method (line 329) and other DataObject extension features used in this class require extending SilverStripe\ORM\DataExtension, not the base Extension class.

Copilot uses AI. Check for mistakes.
{
/**
* @var array
Expand Down Expand Up @@ -326,9 +326,8 @@ public function isAddressChanged($level = 1)
/**
*
*/
public function onBeforeWrite()
protected function onBeforeWrite()
{
parent::onBeforeWrite();
if ($this->hasAddress() && !$this->owner->config()->get('disable_geocoding')
&& Config::inst()->get(GoogleGeocoder::class, 'geocoder_api_key')) {
if (!$this->isAddressChanged()) {
Expand Down
8 changes: 3 additions & 5 deletions src/DistanceDataExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,21 @@
namespace Dynamic\SilverStripeGeocoder;

use SilverStripe\Core\Config\Config;
use SilverStripe\ORM\DataExtension;
use SilverStripe\Core\Extension;
Copy link

Copilot AI Nov 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be use SilverStripe\ORM\DataExtension; instead of use SilverStripe\Core\Extension;.

This extension is designed to extend DataObjects (as shown in the README and TestLocation.php), and uses DataObject-specific hooks like augmentSQL(). The augmentSQL() method is only available in DataExtension, not in the base Extension class.

In SilverStripe 6, SilverStripe\ORM\DataExtension still exists and should be used for DataObject extensions. The base SilverStripe\Core\Extension is only for extending non-DataObject classes.

Copilot uses AI. Check for mistakes.
use SilverStripe\ORM\Queries\SQLSelect;
use SilverStripe\ORM\DataQuery;
use SilverStripe\Control\Controller;

/**
* Class \Dynamic\SilverStripeGeocoder\DistanceDataExtension
*
* @property DistanceDataExtension $owner
*/
class DistanceDataExtension extends DataExtension
class DistanceDataExtension extends Extension
{
/**
* @param SQLSelect $query
* @param DataQuery|null $dataQuery
*/
public function augmentSQL(SQLSelect $query, DataQuery $dataQuery = null)
public function augmentSQL(SQLSelect $query, ?DataQuery $dataQuery = null)
{
$addressVar = Config::inst()->get(DistanceDataExtension::class, 'address_var');
$unitVar = Config::inst()->get(DistanceDataExtension::class, 'unit_var');
Expand Down