Skip to content

Commit

Permalink
Merge pull request #33 from poowf/develop
Browse files Browse the repository at this point in the history
Merge develop into master
  • Loading branch information
zanechua committed Nov 1, 2018
2 parents a1316a7 + 97ccd92 commit 1af1b7c
Show file tree
Hide file tree
Showing 76 changed files with 2,988 additions and 82 deletions.
15 changes: 15 additions & 0 deletions .env.travis
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
APP_ENV=testing
APP_KEY=woofpoowflabs


DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=invoiceplz_test
DB_USERNAME=root
DB_PASSWORD=poowf

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ npm-debug.log
yarn-error.log
.env
.env.dusk.local
.env.testing
.phpunit.result.cache

.DS_Store
Expand Down
37 changes: 37 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
language: php
sudo: true
php:
- '7.1'
- '7.2'

before_script:
- cp .env.travis .env
- mysql -u root -ppoowf -e 'create database invoiceplz_test;'
- composer self-update
- composer install --no-interaction
- php artisan key:generate
- php artisan migrate

script:
- vendor/bin/phpunit

addons:
apt:
sources:
- mysql-5.7-trusty
packages:
- mysql-server
- mysql-client

before_install:
- sudo mysql -e "use mysql; update user set authentication_string=PASSWORD('poowf') where User='root'; update user set plugin='mysql_native_password';FLUSH PRIVILEGES;"
- sudo mysql_upgrade -u root -ppoowf
- sudo service mysql restart

services:
- mysql

cache:
directories:
- node_modules
- vendor
3 changes: 2 additions & 1 deletion app/Http/Controllers/CompanyAddressController.php
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ public function edit()
$companyaddress = null;
}


return view('pages.company.address.edit', compact('companyaddress', 'ownedcompany'));
}

Expand All @@ -93,6 +92,8 @@ public function update(UpdateCompanyAddressRequest $request)
$companyaddress->fill($request->all());
$ownedcompany->address()->save($companyaddress);

flash('Company Address Updated', 'success');

return redirect()->back();
}

Expand Down
151 changes: 148 additions & 3 deletions app/Http/Controllers/CompanyController.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@
namespace App\Http\Controllers;

use App\Http\Requests\CreateCompanyRequest;
use App\Http\Requests\CreateCompanyUserRequest;
use App\Http\Requests\UpdateCompanyOwnerRequest;
use App\Http\Requests\UpdateCompanyRequest;
use App\Http\Requests\UpdateCompanyUserRequest;
use App\Notifications\NewCompanyUserNotification;
use Illuminate\Http\Request;
use App\Models\Company;
use App\Models\User;
Expand Down Expand Up @@ -115,7 +119,8 @@ public function store(CreateCompanyRequest $request)
*/
public function show()
{
//
$company = auth()->user()->company;
return view('pages.company.show', compact('company'));
}

/**
Expand Down Expand Up @@ -145,6 +150,7 @@ public function update(UpdateCompanyRequest $request)
}
else
{
//TODO: Prevent User from registering a company if the domain name has already been registered.
$company = new Company;
$company->user_id = auth()->user()->id;
$isnew = true;
Expand All @@ -164,7 +170,9 @@ public function update(UpdateCompanyRequest $request)

if (!Storage::exists($storedirectory . 'logo_' . $filename))
{
$image = Image::make($file)->fit(420, 220, function ($constraint) {
$image = Image::make($file)
->encode('png', 100)
->fit(420, 220, function ($constraint) {
$constraint->upsize();
}, 'center');
Storage::put($storedirectory . 'logo_' . $filename, $image->stream('jpg')->detach());
Expand All @@ -183,7 +191,9 @@ public function update(UpdateCompanyRequest $request)

if (!Storage::exists($storedirectory . 'smlogo_' . $filename))
{
$image = Image::make($file)->fit(200, 200, function ($constraint) {
$image = Image::make($file)
->encode('png', 100)
->fit(200, 200, function ($constraint) {
$constraint->upsize();
}, 'center');
Storage::put($storedirectory . 'smlogo_' . $filename, $image->stream('jpg')->detach());
Expand Down Expand Up @@ -217,4 +227,139 @@ public function destroy()
{
//
}

public function edit_owner() {
$company = auth()->user()->company;

if($company)
{
$owner = $company->owner;
$users = $company->users;
}
else
{
$owner = collect();
$users = collect();
}

return view('pages.company.owner.edit', compact('company', 'owner', 'users'));
}

public function update_owner(UpdateCompanyOwnerRequest $request) {
$company = auth()->user()->ownedcompany;
$user = User::find($request->input('user_id'));
$company->user_id = $user->id;
$company->save();

return redirect()->back();
}

public function index_users() {
$company = auth()->user()->company;

if($company)
{
$users = $company->users()->paginate(12);
}
else
{
$users = collect();
}

return view('pages.company.users.index', compact('users', 'company'));
}

public function create_users() {
$company = auth()->user()->company;

return view('pages.company.users.create', compact('company'));
}
public function store_users(CreateCompanyUserRequest $request) {
$company = auth()->user()->company;

$random_password = str_random(16);

$user = new User;
$user->fill($request->all());
$user->password = $random_password;
$user->company_id = $company->id;
$user->save();

$user->notify(new NewCompanyUserNotification($user, $random_password));

return redirect()->back();
}

public function edit_users(User $user) {
return view('pages.company.users.edit', compact('user'));
}

public function update_users(UpdateCompanyUserRequest $request, User $user) {
$user->fill($request->all());
if ($request->has('newpassword') && $request->input('newpassword') != null) {
$newpass = $request->input('newpassword');
$user->password = $newpass;
}
$user->save();

return redirect()->back();
}

public function destroy_users(Request $request, User $user) {

$auth_user = auth()->user();
$usercompany = $user->company;

//TODO: Probably need to rewrite/refactor this logic to somewhere else
if ($usercompany)
{
if ($usercompany->isOwner($auth_user))
{
if($user->id != $auth_user->id)
{
$user->delete();
flash('User Deleted', 'success');
}
else
{
flash('You cannot delete the owner of the Company', 'error');
}
}
else
{
flash('Unauthorised', 'error');
}
}
else
{
flash('Nothing was done', 'error');
}

return redirect()->back();
}

public function show_check()
{
return view('pages.company.check');
}

public function check(Request $request)
{
$email = $request->input('email');

// $domain = preg_filter("/([^@]+)/","", $email);

$explode = explode("@", $email);
$domain = array_pop($explode);
$company = Company::where('domain_name', $domain)->first();

if($company)
{
return redirect()->route('company.requests.create');
}
else
{
return redirect()->route('user.create');
}
}
}
1 change: 1 addition & 0 deletions app/Http/Controllers/CompanySettingsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ public function update(UpdateCompanySettingsRequest $request)
$companysettings->fill($request->all());
$ownedcompany->settings()->save($companysettings);

flash('Company Settings Updated', 'success');
return redirect()->back();
}

Expand Down
Loading

0 comments on commit 1af1b7c

Please sign in to comment.