Skip to content

Commit

Permalink
Merge branch 'master' into #247-email-validation
Browse files Browse the repository at this point in the history
# Conflicts:
#	resources/views/home.blade.php
  • Loading branch information
dpslwk committed Dec 30, 2018
2 parents c921ab1 + cf4f984 commit 9f51c50
Show file tree
Hide file tree
Showing 38 changed files with 1,304 additions and 718 deletions.
4 changes: 2 additions & 2 deletions app/HMS/Repositories/Doctrine/DoctrineInviteRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public function findOrCreateByEmail($email)
* find an invite by emial.
*
* @param string $email
* @return Invite
* @return null|Invite
*/
public function findOneByEmail($email)
{
Expand All @@ -45,7 +45,7 @@ public function findOneByEmail($email)
* find an invite by token.
*
* @param string $token
* @return Invite
* @return null|Invite
*/
public function findOneByInviteToken($token)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class DoctrineDoorRepository extends EntityRepository implements DoorRepository
/**
* find by short name.
* @param string $shortName
* @return Door
* @return null|Door
*/
public function findOneByShortName(string $shortName)
{
Expand Down
2 changes: 1 addition & 1 deletion app/HMS/Repositories/GateKeeper/DoorRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ interface DoorRepository
/**
* find by short name.
* @param string $shortName
* @return Door
* @return null|Door
*/
public function findOneByShortName(string $shortName);

Expand Down
4 changes: 2 additions & 2 deletions app/HMS/Repositories/InviteRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@ public function findOrCreateByEmail($email);
* find an invite by emial.
*
* @param string $email
* @return Invite
* @return null|Invite
*/
public function findOneByEmail($email);

/**
* find an invite by token.
*
* @param string $token
* @return Invite
* @return null|Invite
*/
public function findOneByInviteToken($token);

Expand Down
3 changes: 3 additions & 0 deletions app/Http/Controllers/LabelTemplateController.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@ class LabelTemplateController extends Controller
protected $labelTemplateFactory;

/**
* Create a new controller instance.
*
* @param LabelTemplateRepository $labelTemplateRepository
* @param LabelTemplateFactory $labelTemplateFactory
*/
public function __construct(LabelTemplateRepository $labelTemplateRepository, LabelTemplateFactory $labelTemplateFactory)
{
Expand Down
3 changes: 3 additions & 0 deletions app/Http/Controllers/LinksController.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,10 @@ class LinksController extends Controller
protected $linkFactory;

/**
* Create a new controller instance.
*
* @param LinkRepository $linkRepository
* @param LinkFactory $linkFactory
*/
public function __construct(LinkRepository $linkRepository, LinkFactory $linkFactory)
{
Expand Down
39 changes: 38 additions & 1 deletion app/Http/Controllers/Members/ProjectController.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,28 @@

class ProjectController extends Controller
{
/**
* @var ProjectRepository
*/
protected $projectRepository;

/**
* @var ProjectFactory
*/
protected $projectFactory;

/**
* @var UserRepository
*/
protected $userRepository;

/**
* Create a new controller instance.
*
* @param ProjectRepository $projectRepository
* @param ProjectFactory $projectFactory
* @param UserRepository $userRepository
*/
public function __construct(ProjectRepository $projectRepository,
ProjectFactory $projectFactory,
UserRepository $userRepository)
Expand All @@ -27,7 +45,8 @@ public function __construct(ProjectRepository $projectRepository,

$this->middleware('can:project.view.self')->only(['index', 'show']);
$this->middleware('can:project.create.self')->only(['create', 'store']);
$this->middleware('can:project.edit.self')->only(['edit', 'update', 'markActive', 'markAbandoned', 'markComplete']);
$this->middleware('can:project.edit.self')->only(['edit', 'update', 'markActive', 'markComplete']);
$this->middleware('can:project.edit.all')->only(['markAbandoned']);
$this->middleware('can:project.printLabel.self')->only(['printLabel']);
}

Expand Down Expand Up @@ -187,6 +206,12 @@ public function printLabel(Project $project)
*/
public function markActive(Project $project)
{
if ($project->getUser() != \Auth::user() && \Gate::denies('project.edit.all')) {
flash('Unauthorized')->error();

return redirect()->route('home');
}

$project->setStateActive();
$this->projectRepository->save($project);
flash('Project \''.$project->getProjectName().'\' marked active.')->success();
Expand All @@ -202,6 +227,12 @@ public function markActive(Project $project)
*/
public function markAbandoned(Project $project)
{
if ($project->getUser() == \Auth::user()) {
flash('You can not abandoned your own project')->error();

return redirect()->route('home');
}

$project->setStateAbandoned();
$this->projectRepository->save($project);
flash('Project \''.$project->getProjectName().'\' marked abandoned.')->success();
Expand All @@ -217,6 +248,12 @@ public function markAbandoned(Project $project)
*/
public function markComplete(Project $project)
{
if ($project->getUser() != \Auth::user()) {
flash('Unauthorized')->error();

return redirect()->route('home');
}

$project->setStateComplete();
$this->projectRepository->save($project);
flash('Project \''.$project->getProjectName().'\' marked complete.')->success();
Expand Down
9 changes: 9 additions & 0 deletions app/Http/Controllers/MembershipController.php
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,15 @@ class MembershipController extends Controller

/**
* Create a new controller instance.
*
* @param MetaRepository $metaRepository
* @param AccountFactory $accountFactory
* @param UserRepository $userRepository
* @param RoleManager $roleManager
* @param AccountRepository $accountRepository
* @param UserManager $userManager
* @param ProfileManager $profileManager
* @param RoleRepository $roleRepository
*/
public function __construct(MetaRepository $metaRepository,
AccountFactory $accountFactory,
Expand Down
2 changes: 2 additions & 0 deletions app/Http/Controllers/MetaController.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ class MetaController extends Controller
protected $metaRepository;

/**
* Create a new controller instance.
*
* @param MetaRepository $metaRepository
*/
public function __construct(MetaRepository $metaRepository)
Expand Down
5 changes: 5 additions & 0 deletions app/Http/Controllers/RoleController.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@ class RoleController extends Controller

/**
* Create a new controller instance.
*
* @param RoleManager $roleManager
* @param RoleRepository $roleRepository
* @param UserManager $userManager
* @param PermissionRepository $permissionRepository
*/
public function __construct(RoleManager $roleManager,
RoleRepository $roleRepository,
Expand Down
2 changes: 2 additions & 0 deletions app/Http/Controllers/Snackspace/TransactionsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ class TransactionsController extends Controller
protected $userRepository;

/**
* Create a new controller instance.
*
* @param TransactionRepository $transactionRepository
* @param UserRepository $userRepository
*/
Expand Down
6 changes: 4 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,15 @@
"devDependencies": {
"axios": "^0.18",
"bootstrap": "^4.0.0",
"browser-sync": "^2.26.3",
"browser-sync-webpack-plugin": "2.0.1",
"cross-env": "^5.1",
"jquery": "^3.2",
"laravel-mix": "^2.0",
"lodash": "^4.17.5",
"popper.js": "^1.12",
"select2": "latest",
"vue": "^2.5.7",
"select2-theme-bootstrap4": "^0.2.0-beta.2"
"select2-theme-bootstrap4": "^0.2.0-beta.2",
"vue": "^2.5.7"
}
}
38 changes: 27 additions & 11 deletions resources/assets/js/app.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,29 @@

/**
* First we will load all of this project's JavaScript dependencies which
* includes Vue and other libraries. It is a great starting point when
* building robust, powerful web applications using Vue and Laravel.
*/

require('./bootstrap');

// This file is for global JavaScript which is to be present on every page.
// It is compiled by Webpack, so can freely contain ES2015 code.

// negstive money to red
// Negative money values should be red
$(".money:contains('-')").css("color", "red");

// Setup jQuery ajax with the CSRF token
$.ajaxSetup({
headers: {
'X-CSRF-Token': document.head.querySelector('meta[name="csrf-token"]').content,
}
});

// default all select2 to bootstrap theme
// default all select2 instances to use the bootstrap theme
$.fn.select2.defaults.set( "theme", "bootstrap" );

// views/membership/showDetails.blade.php
$(".js-programmatic-enable").on("click", function () {
$(".js-data-existing-account-ajax").prop("disabled", false);
});
Expand All @@ -22,6 +32,12 @@ $(".js-programmatic-disable").on("click", function () {
$(".js-data-existing-account-ajax").prop("disabled", true);
});

// views/role/edit.blade.php
$(".js-permission-select").select2({
width: 'element'
});

// views/partials/memberSearch.blade.php
$(".js-data-member-search-ajax").change(function(){
var user = $(this).val();
var action = $("#member-search").attr("action").replace("_ID_", user);
Expand All @@ -30,10 +46,6 @@ $(".js-data-member-search-ajax").change(function(){
$("#member-search").submit();
});

$(".js-permission-select").select2({
width: 'element'
});

$(".js-data-member-search-ajax").select2({
width: 'element',
placeholder: "Search for a member...",
Expand Down Expand Up @@ -67,10 +79,12 @@ $(".js-data-member-search-ajax").select2({
},
escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
minimumInputLength: 1,
templateResult: formatUser, // omitted for brevity, see the source of this page
templateSelection: formatUserSelection // omitted for brevity, see the source of this page
templateResult: formatUser,
templateSelection: formatUserSelection
});

// views/bankTransactions/edit.blade.php
// views/membership/showDetails.blade.php
$(".js-data-existing-account-ajax").select2({
placeholder: "Search for a member...",
dropdownParent: $('.existing-account-select2'),
Expand Down Expand Up @@ -108,10 +122,11 @@ $(".js-data-existing-account-ajax").select2({
},
escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
minimumInputLength: 1,
templateResult: formatUser, // omitted for brevity, see the source of this page
templateSelection: formatUserSelection // omitted for brevity, see the source of this page
templateResult: formatUser,
templateSelection: formatUserSelection
});

// helpers for the above select2 searches
function formatUser (user) {
if (user.loading) return user.text;
var markup = '<div class="membersearch">' +
Expand All @@ -127,13 +142,14 @@ function formatUserSelection (user) {
return user.text;
}

// Workaround to reformat sumbited date's into ISO if there in UK format
// Workaround to reformat submitted date's into ISO if there in UK format
$("#user-edit-form,#membership-edit-details-form,#register-form").submit(function() {
var date = $("input[type='date']");
if (date.val().includes('/')) {
date.val(date.val().split('/').reverse().join('-'));
}
});

// views/gateKeeper/rfidTags/edit.blade.php
$(".select2-basic-single").select2({
});
4 changes: 2 additions & 2 deletions resources/assets/js/bootstrap.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

window._ = require('lodash');
window.Popper = require('popper.js').default;

/**
* We'll load jQuery and the Bootstrap jQuery plugin which provides support
Expand All @@ -8,12 +8,12 @@ window.Popper = require('popper.js').default;
*/

try {
window.Popper = require('popper.js').default;
window.$ = window.jQuery = require('jquery');

require('bootstrap');
} catch (e) {}


/**
* We'll load the axios HTTP library which allows us to easily issue requests
* to our Laravel back-end. This library automatically handles sending the
Expand Down
Loading

0 comments on commit 9f51c50

Please sign in to comment.