Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
Loading items

Target

Select target project
  • tmr/ld-simulator
1 result
Select Git revision
Loading items
Show changes
Showing
with 506 additions and 0 deletions
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Register') }}</div>
<div class="card-body">
@if(config('app.sign-up'))
<form method="POST" action="{{ route('register') }}">
@csrf
<div class="form-group row">
<label for="name" class="col-md-4 col-form-label text-md-right">{{ __('Name') }}</label>
<div class="col-md-6">
<input id="name" type="text" class="form-control @error('name') is-invalid @enderror" name="name" value="{{ old('name') }}" required autocomplete="name" autofocus>
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email">
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="new-password">
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirm Password') }}</label>
<div class="col-md-6">
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password">
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-6 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Register') }}
</button>
</div>
</div>
</form>
@else
<i>Sign up disabled. Contact admin to register.</i>
@endif
</div>
</div>
</div>
</div>
</div>
@endsection
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Verify Your Email Address') }}</div>
<div class="card-body">
@if (session('resent'))
<div class="alert alert-success" role="alert">
{{ __('A fresh verification link has been sent to your email address.') }}
</div>
@endif
{{ __('Before proceeding, please check your email for a verification link.') }}
{{ __('If you did not receive the email') }},
<form class="d-inline" method="POST" action="{{ route('verification.resend') }}">
@csrf
<button type="submit" class="btn btn-link p-0 m-0 align-baseline">{{ __('click here to request another') }}</button>.
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
@extends('layouts.app')
@section('content')
<population-index></population-index>
@endsection
<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Laravel') }}</title>
<!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
</head>
<body>
<div id="app">
<nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm">
<div class="container">
<a class="navbar-brand" href="{{ route('home') }}">
{{ config('app.name', 'LD sim') }}
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<!-- Left Side Of Navbar -->
<ul class="navbar-nav mr-auto">
</ul>
<!-- Right Side Of Navbar -->
<ul class="navbar-nav ml-auto">
<!-- Authentication Links -->
@guest
<li class="nav-item">
<a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
</li>
@if (Route::has('register') && config('app.sign-up'))
<li class="nav-item">
<a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
</li>
@endif
@else
<li class="nav-item dropdown">
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
{{ Auth::user()->name }}
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
{{ __('Logout') }}
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" class="d-none">
@csrf
</form>
</div>
</li>
@endguest
</ul>
</div>
</div>
</nav>
<main class="py-4">
@yield('content')
</main>
</div>
@routes
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>
</body>
</html>
@extends('layouts.app')
@section('content')
<population-show></population-show>
@endsection
@extends('layouts.app')
@section('content')
<population-template-show></population-template-show>
@endsection
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel</title>
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@200;600&display=swap" rel="stylesheet">
<!-- Styles -->
<style>
html, body {
background-color: #fff;
color: #636b6f;
font-family: 'Nunito', sans-serif;
font-weight: 200;
height: 100vh;
margin: 0;
}
.full-height {
height: 100vh;
}
.flex-center {
align-items: center;
display: flex;
justify-content: center;
}
.position-ref {
position: relative;
}
.top-right {
position: absolute;
right: 10px;
top: 18px;
}
.content {
text-align: center;
}
.title {
font-size: 84px;
}
.links > a {
color: #636b6f;
padding: 0 25px;
font-size: 13px;
font-weight: 600;
letter-spacing: .1rem;
text-decoration: none;
text-transform: uppercase;
}
.m-b-md {
margin-bottom: 30px;
}
</style>
</head>
<body>
<div class="flex-center position-ref full-height">
@if (Route::has('login'))
<div class="top-right links">
@auth
<a href="{{ url('/home') }}">Home</a>
@else
<a href="{{ route('login') }}">Login</a>
@if (Route::has('register') && config('app.sign-up'))
<a href="{{ route('register') }}">Sign up</a>
@endif
@endauth
</div>
@endif
<div class="content">
<div class="title m-b-md">
LD sim
</div>
<div class="links">
<a href="{{ route('login')}}">Login</a>
@if (Route::has('register') && config('app.sign-up'))
<a href="{{ route('register') }}">Sign up</a>
@endif
</div>
</div>
</div>
</body>
</html>
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| External routes no auth middleware, access check in controllers
|
*/
Route::post('/populations/{population}/elections','APIController@runElections')
->name('external.api.population.election.run');
Route::get('/populations/{population}/voters/{voter}','APIController@getVoterStats')
->name('external.api.population.get.voter');
Route::get('/populations/{population}/voters','APIController@getVotersStats')
->name('external.api.population.get.voters');
Route::get('/populations/{population}','APIController@getPopulation')
->name('external.api.population.get');
Route::get('/populations','APIController@getPopulations')
->name('external.api.population.index');
Route::get('/populations/{population}/timeline','APIController@getElectionsTimeline');
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Internal routes 'web' middleware
|
*/
Route::post('/templates','APIController@generatePopulationTemplate')
->name('internal.api.templates.post');
Route::get('/templates','APIController@getPopulationTemplates')
->name('internal.api.templates.index');
Route::get('/templates/{template}','APIController@getPopulationTemplate')
->name('internal.api.template.get');
Route::get('/templates/{template}/analytics/weights','APIController@getTemplateWeightsStats')
->name('internal.api.template.analytics.weights');
Route::get('/templates/{template}/analytics/results','APIController@getTemplateElectionResultStats')
->name('internal.api.template.analytics.results');
Route::get('/templates/{template}/analytics/sums','APIController@fetchAllPerformanceModeElections')
->name('internal.api.template.analytics.performance');
Route::post('/templates/{template}/populations','APIController@getChildPopulations')
->name('internal.api.populations.index');
Route::post('/templates/{template}/populations','APIController@generateChildPopulation')
->name('internal.api.populations.post');
Route::get('/templates/{template}/populations/{population}','APIController@getPopulation')
->name('internal.api.population.get');
Route::get('/templates/{template}/populations/{population}/voters','APIController@getVotersStats')
->name('internal.api.population.get.voters');
Route::get('/templates/{template}/populations/{population}/timeline','APIController@getElectionsTimeline')
->name('internal.api.population.get.elections.timeline');
Route::get('/templates/{template}/populations/{population}/weights','APIController@getWeightsTimeline')
->name('internal.api.population.get.weights.timeline');
Route::get('/templates/{template}/populations/{population}/majority-distribution','APIController@getMajorityElectionsDistribution')
->name('internal.api.majority.distribution.get');
Route::post('/templates/{template}/populations/{population}','APIController@runMajorityElections')
->name('internal.api.population.majority.run');
Route::post('/templates/{template}/populations/{population}/stage','APIController@changeToPerformanceStage')
->name('internal.api.population.stage.update');
Route::post('/templates/{template}/populations/{population}/elections','APIController@runElections')
->name('internal.api.elections.run');
<?php
use Illuminate\Support\Facades\Broadcast;
/*
|--------------------------------------------------------------------------
| Broadcast Channels
|--------------------------------------------------------------------------
|
| Here you may register all of the event broadcasting channels that your
| application supports. The given channel authorization callbacks are
| used to check if an authenticated user can listen to the channel.
|
*/
Broadcast::channel('App.User.{id}', function ($user, $id) {
return (int) $user->id === (int) $id;
});
<?php
use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
/*
|--------------------------------------------------------------------------
| Console Routes
|--------------------------------------------------------------------------
|
| This file is where you may define all of your Closure based console
| commands. Each Closure is bound to a command instance allowing a
| simple approach to interacting with each command's IO methods.
|
*/
Artisan::command('inspire', function () {
$this->comment(Inspiring::quote());
})->describe('Display an inspiring quote');
<?php
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
})->name('welcome');
Auth::routes([
'login' => true,
'logout' => true,
'register' => true,
'reset' => true,
'confirm' => false,
'verify' => false
]);
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::get('/templates/{template_id}', 'HomeController@showPopulationTemplate')->name('template.show');
Route::get('/templates/{template_id}/populations/{population_id}', 'HomeController@showPopulation')->name('population.show');
<?php
/**
* Laravel - A PHP Framework For Web Artisans
*
* @package Laravel
* @author Taylor Otwell <taylor@laravel.com>
*/
$uri = urldecode(
parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
);
// This file allows us to emulate Apache's "mod_rewrite" functionality from the
// built-in PHP web server. This provides a convenient way to test a Laravel
// application without having installed a "real" web server software here.
if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
return false;
}
require_once __DIR__.'/public/index.php';
*
!public/
!.gitignore
*
!.gitignore
config.php
routes.php
schedule-*
compiled.php
services.json
events.scanned.php
routes.scanned.php
down
*
!data/
!.gitignore
*
!.gitignore
*
!.gitignore
*
!.gitignore