mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Working on time tracker app
This commit is contained in:
parent
e4c1d15ae5
commit
2c5e7f2506
20
app/Http/Controllers/TimeTrackerController.php
Normal file
20
app/Http/Controllers/TimeTrackerController.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
use App\Http\Requests;
|
||||
use App\Models\Task;
|
||||
|
||||
class TimeTrackerController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$data = [
|
||||
'tasks' => Task::scope()->get(),
|
||||
];
|
||||
|
||||
return view('time_tracker', $data);
|
||||
}
|
||||
}
|
@ -147,6 +147,7 @@ Route::group(['middleware' => ['lookup:user', 'auth:user']], function () {
|
||||
Route::post('clients/bulk', 'ClientController@bulk');
|
||||
Route::get('clients/statement/{client_id}/{status_id?}/{start_date?}/{end_date?}', 'ClientController@statement');
|
||||
|
||||
Route::get('time_tracker', 'TimeTrackerController@index');
|
||||
Route::resource('tasks', 'TaskController');
|
||||
Route::get('api/tasks/{client_id?}', 'TaskController@getDatatable');
|
||||
Route::get('tasks/create/{client_id?}/{project_id?}', 'TaskController@create');
|
||||
|
@ -2448,6 +2448,8 @@ $LANG = array(
|
||||
'calendar' => 'Calendar',
|
||||
'pro_plan_calendar' => ':link to enable the calendar by joining the Pro Plan',
|
||||
|
||||
'what_are_you_working_on' => 'What are you working on?',
|
||||
|
||||
);
|
||||
|
||||
return $LANG;
|
||||
|
93
resources/views/time_tracker.blade.php
Normal file
93
resources/views/time_tracker.blade.php
Normal file
@ -0,0 +1,93 @@
|
||||
@extends('master')
|
||||
|
||||
@section('head_css')
|
||||
<link href="{{ asset('css/built.css') }}?no_cache={{ NINJA_VERSION }}" rel="stylesheet" type="text/css"/>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
.list-group-item:before {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 6px;
|
||||
content: "";
|
||||
}
|
||||
|
||||
.list-group-item-type1:before {
|
||||
background-color: purple;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@stop
|
||||
|
||||
@section('body')
|
||||
<nav class="navbar navbar-default navbar-fixed-top">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header" style="padding-top:12px;padding-bottom:12px;">
|
||||
<ul class="nav navbar-nav navbar-right" style="padding-right:12px; padding-left:10px">
|
||||
<input class="btn btn-normal btn-lg" type="button" value="{{ trans('texts.details') }}">
|
||||
<input class="btn btn-success btn-lg" type="button" value="{{ trans('texts.start') }}">
|
||||
</ul>
|
||||
<form>
|
||||
<div class="input-group input-group-lg">
|
||||
<span class="input-group-addon" style="width:1%;"><span class="glyphicon glyphicon-time"></span></span>
|
||||
<input type="text" class="form-control"
|
||||
placeholder="{{ trans('texts.what_are_you_working_on') }}" autocomplete="off" autofocus="autofocus">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div style="height:74px"></div>
|
||||
|
||||
<div class="list-group" data-bind="foreach: tasks">
|
||||
<a href="#" class="list-group-item list-group-item-type1">
|
||||
<span class="pull-right">
|
||||
14
|
||||
</span>
|
||||
<h5 class="list-group-item-heading" data-bind="text: description"></h5>
|
||||
<p class="list-group-item-text">...
|
||||
|
||||
</p>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var tasks = {!! $tasks !!};
|
||||
|
||||
function ViewModel() {
|
||||
var self = this;
|
||||
self.tasks = ko.observableArray();
|
||||
|
||||
self.addTask = function(task) {
|
||||
self.tasks.push(task);
|
||||
}
|
||||
}
|
||||
|
||||
function TaskModel(data) {
|
||||
var self = this;
|
||||
self.description = ko.observable('test');
|
||||
|
||||
if (data) {
|
||||
ko.mapping.fromJS(data, {}, this);
|
||||
}
|
||||
}
|
||||
|
||||
$(function() {
|
||||
window.model = new ViewModel();
|
||||
for (var i=0; i<tasks.length; i++) {
|
||||
var task = tasks[i];
|
||||
console.log(task);
|
||||
var taskModel = new TaskModel(task);
|
||||
model.addTask(taskModel);
|
||||
}
|
||||
ko.applyBindings(model);
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
@stop
|
Loading…
x
Reference in New Issue
Block a user