Skip to content

Commit

Permalink
Merge pull request #134 from jsirish/refactor/namespacing
Browse files Browse the repository at this point in the history
SS4 namespacing update
  • Loading branch information
jsirish authored Dec 16, 2016
2 parents b93fb94 + a3402b6 commit 486554f
Show file tree
Hide file tree
Showing 13 changed files with 210 additions and 120 deletions.
22 changes: 8 additions & 14 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,30 +7,24 @@ addons:
packages:
- tidy

php:
- 7.0

before_install:
- pip install --user codecov

env:
global:
- DB=MYSQL CORE_RELEASE=3.4
- DB=MYSQL CORE_RELEASE=4.0
- MODULE_PATH=locator
- COVERAGE=0

matrix:
include:
- php: 5.6
env: DB=MYSQL COVERAGE=1
- php: 5.6
env: DB=PGSQL
- php: 5.6
env: DB=SQLITE
- php: hhvm
env: DB=MYSQL
allow_failures:
- php: 7.0
- php: 5.6
env: DB=PGSQL
- php: 5.6
env: DB=SQLITE
- php: 5.6
env: COVERAGE=1
- php: 7.0


before_script:
Expand Down
12 changes: 8 additions & 4 deletions code/admin/LocationAdmin.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<?php

namespace Dynamic\Locator;

use SilverStripe\Admin\ModelAdmin;

/**
* Class LocationAdmin
*/
Expand All @@ -10,16 +14,16 @@ class LocationAdmin extends ModelAdmin
* @var array
*/
private static $managed_models = array(
'Location',
'LocationCategory',
'Dynamic\\Locator\\Location',
'Dynamic\\Locator\\LocationCategory',
);

/**
* @var array
*/
private static $model_importers = array(
'Location' => 'LocationCsvBulkLoader',
'LocationCategory' => 'CsvBulkLoader',
'Dynamic\\Locator\\Location' => 'Dynamic\\Locator\\LocationCsvBulkLoader',
'Dynamic\\Locator\\LocationCategory' => 'SilverStripe\\Dev\\CsvBulkLoader',
);

/**
Expand Down
7 changes: 6 additions & 1 deletion code/bulkloader/LocationCsvBulkLoader.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
<?php

namespace Dynamic\Locator;

use SilverStripe\Dev\CsvBulkLoader,
SilverStripe\Core\Convert;

/**
* Class LocationCsvBulkLoader
*/
Expand Down Expand Up @@ -38,7 +43,7 @@ class LocationCsvBulkLoader extends CsvBulkLoader
* @param $obj
* @param $val
* @param $record
* @return DataObject|static
* @return \SilverStripe\ORM\DataObject|static
*/
public static function getCategoryByName(&$obj, $val, $record)
{
Expand Down
30 changes: 20 additions & 10 deletions code/extensions/DistanceDataExtension.php
Original file line number Diff line number Diff line change
@@ -1,26 +1,36 @@
<?php

namespace Dynamic\Locator;

use SilverStripe\ORM\DataExtension,
SilverStripe\ORM\Queries\SQLSelect,
SilverStripe\ORM\DataQuery,
SilverStripe\Control\Controller;

class DistanceDataExtension extends DataExtension
{
/**
* @param SQLQuery $query
* @param SQLSelect $query
* @param DataQuery|null $dataQuery
*/
public function augmentSQL(SQLQuery &$query)
public function augmentSQL(SQLSelect $query, DataQuery $dataQuery = null)
{
$address = Controller::curr()->getRequest()->getVar('Address');
if ($this->owner->hasMethod('updateAddressValue')) {
$address = $this->owner->updateAddressValue($address);
}
if ($address) { // on frontend
$coords = GoogleGeocoding::address_to_point($address);
if (class_exists('GoogleGeocoding')) {
if ($address) { // on frontend
$coords = GoogleGeocoding::address_to_point($address);

$Lat = $coords['lat'];
$Lng = $coords['lng'];
$Lat = $coords['lat'];
$Lng = $coords['lng'];

$query
->addSelect(array(
'( 3959 * acos( cos( radians(' . $Lat . ') ) * cos( radians( `Lat` ) ) * cos( radians( `Lng` ) - radians(' . $Lng . ') ) + sin( radians(' . $Lat . ') ) * sin( radians( `Lat` ) ) ) ) AS distance',
));
$query
->addSelect(array(
'( 3959 * acos( cos( radians(' . $Lat . ') ) * cos( radians( `Lat` ) ) * cos( radians( `Lng` ) - radians(' . $Lng . ') ) + sin( radians(' . $Lat . ') ) * sin( radians( `Lat` ) ) ) ) AS distance',
));
}
}
}
}
10 changes: 10 additions & 0 deletions code/form/LocatorForm.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
<?php

namespace Dynamic\Locator;

use SilverStripe\Forms\Form,
SilverStripe\Forms\FieldList,
SilverStripe\Forms\TextField,
SilverStripe\Forms\DropdownField,
SilverStripe\Forms\FormAction,
SilverStripe\Forms\RequiredFields,
SilverStripe\Control\Controller;

/**
* Class LocatorForm
*/
Expand Down
41 changes: 32 additions & 9 deletions code/objects/Location.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
<?php

namespace Dynamic\Locator;

use SilverStripe\ORM\DataObject,
SilverStripe\Security\PermissionProvider,
SilverStripe\Forms\FieldList,
SilverStripe\Forms\Tab,
SilverStripe\Forms\TabSet,
SilverStripe\Forms\HeaderField,
SilverStripe\Forms\TextField,
SilverStripe\Forms\EmailField,
SilverStripe\Forms\DropdownField,
SilverStripe\Forms\CheckboxField,
SilverStripe\Security\Permission,
SilverStripe\Dev\Deprecation;

/**
* Class Location
*
Expand Down Expand Up @@ -29,13 +44,21 @@ class Location extends DataObject implements PermissionProvider
'EmailAddress' => 'Varchar(255)',
'ShowInLocator' => 'Boolean',
'Import_ID' => 'Int',
'Address' => 'Varchar(255)',
'Suburb' => 'Varchar(64)',
'State' => 'Varchar(64)',
'Postcode' => 'Varchar(10)',
'Country' => 'Varchar(2)',
'LatLngOverride' => 'Boolean',
'Lat' => 'Decimal(10,7)',
'Lng' => 'Decimal(10,7)',
);

/**
* @var array
*/
private static $has_one = array(
'Category' => 'LocationCategory',
'Category' => 'Dynamic\\Locator\\LocationCategory',
);

/**
Expand Down Expand Up @@ -175,7 +198,7 @@ public function getCMSFields()
$this->extend('updateCMSFields', $fields);

// override Suburb field name
$fields->dataFieldByName('Suburb')->setTitle('City');
//$fields->dataFieldByName('Suburb')->setTitle('City');

$fields->removeByName(array(
'Import_ID',
Expand All @@ -185,7 +208,7 @@ public function getCMSFields()
}

/**
* @return ValidationResult
* @return \SilverStripe\ORM\ValidationResult
*/
public function validate()
{
Expand All @@ -210,8 +233,7 @@ public function EmailAddress()
}

/**
* @param null|Member $member
*
* @param null $member
* @return bool
*/
public function canView($member = null)
Expand All @@ -220,7 +242,7 @@ public function canView($member = null)
}

/**
* @param null|Member $member
* @param null $member
* @return bool|int
*/
public function canEdit($member = null)
Expand All @@ -229,7 +251,7 @@ public function canEdit($member = null)
}

/**
* @param null|Member $member
* @param null $member
* @return bool|int
*/
public function canDelete($member = null)
Expand All @@ -238,10 +260,11 @@ public function canDelete($member = null)
}

/**
* @param null|Member $member
* @param null $member
* @param array $context
* @return bool|int
*/
public function canCreate($member = null)
public function canCreate($member = null, $context = [])
{
return Permission::check('Location_CREATE', 'any', $member);
}
Expand Down
8 changes: 6 additions & 2 deletions code/objects/LocationCategory.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<?php

namespace Dynamic\Locator;

use SilverStripe\ORM\DataObject;

/**
* Class LocationCategory
*
Expand All @@ -21,14 +25,14 @@ class LocationCategory extends DataObject
* @var array
*/
private static $has_many = array(
'Locations' => 'Location',
'Locations' => 'Dynamic\\Locator\\LocationLocation',
);

/**
* @var array
*/
private static $belogs_many_many = array(
'Locators' => 'Locator',
'Locators' => 'Dynamic\\Locator\\Locator',
);

/**
Expand Down
Loading

0 comments on commit 486554f

Please sign in to comment.