diff --git a/appinfo/routes.php b/appinfo/routes.php
index ce83ba1..9b6bf00 100644
--- a/appinfo/routes.php
+++ b/appinfo/routes.php
@@ -12,6 +12,8 @@ return [
# TIME MANAGEMENT
['name' => 'page#startWorkDay', 'url' => '/startday', 'verb' => 'GET'],
['name' => 'page#endWorkDay', 'url' => '/endday', 'verb' => 'GET'],
+ ['name' => 'page#startBreak', 'url' => '/startbreak', 'verb' => 'GET'],
+ ['name' => 'page#endBreak', 'url' => '/endbreak', 'verb' => 'GET'],
['name' => 'page#loadTime', 'url' => '/loadtime', 'verb' => 'GET'],
# AGENCY
['name' => 'agency#show', 'url' => '/getagencydata', 'verb' => 'GET'],
diff --git a/js/tm.js b/js/tm.js
index ce60597..38a23eb 100644
--- a/js/tm.js
+++ b/js/tm.js
@@ -6,8 +6,8 @@ var isbreak = false;
var breaktime = 0;
function loadTMIcon(){
- var baseUrl = OC.generateUrl('/svg/core/actions/user-admin');
- icon = $('');
+ var iconBaseUrl = OC.generateUrl('/svg/core/actions/user-admin');
+ icon = $('');
$('.header-right').prepend(icon);
}
@@ -22,7 +22,7 @@ function addTMDiv(){
realtimediv = $("
");
realtimediv.html(html_content);
realtimediv.css("width", "300px");
- realtimediv.css("height", "250px");
+ realtimediv.css("height", "125px");
realtimediv.css("right", "50px");
realtimediv.css("position", "fixed");
realtimediv.css("overflow", "hidden");
@@ -31,22 +31,37 @@ function addTMDiv(){
$('.header-right').append(realtimediv);
// Adding Listener
+ // Start WorkDay
$("#startWorkDay").click(function(){
startWorkDay();
$("#activeDay").show();
$("#start_workday").hide();
})
+ // End WorkDay
$("#end_workday").click(function(){
endWorkDay();
})
+ // Start Break
+ $("#start_break").click(function(){
+ startBreak();
+ })
+
+ // Start Break
+ $("#end_break").click(function(){
+ endBreak();
+ })
+
// ACTUAL TIME INFO
// Load Time
$.ajax({
url: "/apps/da_agency/loadtime",
type: 'GET',
}).success(function (response) {
+ $("#td_content").show();
+ $("#loader").hide();
+
responsedata = JSON.parse(response);
$("#actualTime").html(responsedata['actualtime']);
// No workday found
@@ -56,18 +71,36 @@ function addTMDiv(){
isbreak = false;
breaktime = 0;
$("#breaksum").html("00:00:00");
+ $("#activeDay").hide();
}
// Workday found
else{
- isbreak = false;
- start = responsedata['workdaydata_workday'];
- startbreaktime_view = 0;
- starttime_view = parseDate(responsedata['workdaydata_workday']);
- console.log(starttime_view);
- $("#start_workday").hide();
- $("#activeDay").show();
- $("#starttime").html(responsedata['workdaydata_starttime']);
-
+ realtimediv.css("height", "250px");
+ $("#breaksum").html(convertMS(responsedata['breaksum']));
+ var breaktime = responsedata['breaksum'];
+ // Break found
+ if(responsedata['breakstatus']){
+ isbreak = true;
+ startbreaktime_view = responsedata['breaktimer'];
+ starttime_view = Date.parse(responsedata['workdaydata_workday']);
+ $("#start_workday").hide();
+ $("#activeDay").show();
+ $("#worktime").hide();
+ $("#breaktimeclock").show();
+ $("#end_break").show();
+ $("#start_break").hide();
+ $("#starttime").html(responsedata['workdaydata_starttime']);
+ }
+ // NO BREAK - Day is active
+ else{
+ isbreak = false;
+ start = responsedata['workdaydata_workday'];
+ startbreaktime_view = 0;
+ starttime_view = parseDate(responsedata['workdaydata_workday']);
+ $("#start_workday").hide();
+ $("#activeDay").show();
+ $("#starttime").html(responsedata['workdaydata_starttime']);
+ }
}
});
@@ -139,10 +172,16 @@ $(document).ready(function(){
addTMDiv();
})
function startWorkDay(){
+ realtimediv.css("height", "250px");
+ $("#td_content").hide();
+ $("#loader").show();
+
$.ajax({
url: "/apps/da_agency/startday",
type: 'GET',
}).success(function (response) {
+ $("#td_content").show();
+ $("#loader").hide();
responsedata = JSON.parse(response);
if(responsedata["success"]){
@@ -156,10 +195,15 @@ function startWorkDay(){
}
function endWorkDay(){
+ $("#td_content").hide();
+ $("#loader").show();
$.ajax({
url: "/apps/da_agency/endday",
type: 'GET',
}).success(function (response) {
+ realtimediv.css("height", "125px");
+ $("#td_content").show();
+ $("#loader").hide();
responsedata = JSON.parse(response);
if(responsedata["success"]){
$("#breaktimeclock").hide();
@@ -182,4 +226,62 @@ function endWorkDay(){
}
-var html_content = 'Heutiger Arbeitstag
00:00
Aktuelle Pause
00:00
Arbeitsbeginn: 00:00:00
Arbeitsende: 00:00:00
Pausenzeit: 00:00:00
Gleitzeitkonto: Lade... Stunden';
\ No newline at end of file
+function startBreak(){
+ $("#td_content").hide();
+ $("#loader").show();
+
+ $.ajax({
+ url: "/apps/da_agency/startbreak",
+ type: 'GET',
+ }).success(function (response) {
+ responsedata = JSON.parse(response);
+ isbreak = true;
+ $("#td_content").show();
+ $("#loader").hide();
+ //$("#timemanagement_clock").click(function(e){
+ // e.stopPropagation();
+ //})
+ $("#breaktimeclock").show();
+ $("#realtimeclock").hide();
+ $("#end_break").show();
+ $("#start_break").hide();
+ $("#worktime").hide();
+ startbreaktime_view = -1000;
+ realTimeBreakClock();
+ });
+}
+
+function endBreak(){
+ $("#td_content").hide();
+ $("#loader").show();
+ $.ajax({
+ url: "/apps/da_agency/endbreak",
+ type: 'GET',
+ }).success(function (response) {
+ $("#td_content").show();
+ $("#loader").hide();
+ responsedata = JSON.parse(response);
+
+ isbreak = false;
+
+ $("#breaktimeclock").hide();
+ $("#realtimeclock").show();
+ $("#end_break").hide();
+ $("#start_break").show();
+ $("#worktime").show();
+
+ breaktime = responsedata["actualbreaktime"];
+ startbreaktime_view = responsedata["actualbreaktime"];
+ starttime_view = Date.parse(responsedata["wdtime"]);
+ $("#breaksum").html(convertMS(responsedata["actualbreaktime"]));
+
+ });
+}
+
+function realTimeBreakClock(){
+ breaktime = startbreaktime_view + 1000;
+ startbreaktime_view = startbreaktime_view + 1000;
+ $("#realtimeclock_break").html(convertMS(startbreaktime_view));
+}
+
+var html_content = 'Heutiger Arbeitstag
00:00
Aktuelle Pause
00:00
Arbeitsbeginn: 00:00:00
Arbeitsende: 00:00:00
Pausenzeit: 00:00:00
Gleitzeitkonto: 00:00 Stunden ';
\ No newline at end of file
diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php
index 9ee5087..2811511 100644
--- a/lib/Controller/PageController.php
+++ b/lib/Controller/PageController.php
@@ -64,7 +64,7 @@ class PageController extends Controller {
return new DataResponse($file);
}
- /**
+ /**
* @NoCSRFRequired
*
* Beendet einen Arbeitstag
@@ -87,6 +87,52 @@ class PageController extends Controller {
return new DataResponse($file);
}
+ /**
+ * @NoCSRFRequired
+ *
+ * Beendet einen Arbeitstag
+ */
+ public function startBreak() {
+ $opts = [
+ "http" => array(
+ "method" => "GET",
+ "header" => ""
+ ),
+ "ssl"=> array(
+ "verify_peer"=>false,
+ "verify_peer_name"=>false,
+ ),
+ ];
+ $context = stream_context_create($opts);
+
+ $file = file_get_contents($this->nclink.'/api/tm/startbreak/'.$this->userSession->getUser()->getUId().'/87zuhjk87GHJ546tzgvhas76aaskbdhr45edfVHAKia87s6gbAVGFGSR3451627gBHAKJBN', false, $context);
+ #$response = new TemplateResponse('da_agency', 'realtimeclock', ['userId' => $this->userSession->getUser()->getUID(), 'data' => "none"]);
+ return new DataResponse($file);
+ }
+
+ /**
+ * @NoCSRFRequired
+ *
+ * Beendet einen Arbeitstag
+ */
+ public function endBreak() {
+ $opts = [
+ "http" => array(
+ "method" => "GET",
+ "header" => ""
+ ),
+ "ssl"=> array(
+ "verify_peer"=>false,
+ "verify_peer_name"=>false,
+ ),
+ ];
+ $context = stream_context_create($opts);
+
+ $file = file_get_contents($this->nclink.'/api/tm/endbreak/'.$this->userSession->getUser()->getUId().'/87zuhjk87GHJ546tzgvhas76aaskbdhr45edfVHAKia87s6gbAVGFGSR3451627gBHAKJBN', false, $context);
+ #$response = new TemplateResponse('da_agency', 'realtimeclock', ['userId' => $this->userSession->getUser()->getUID(), 'data' => "none"]);
+ return new DataResponse($file);
+ }
+
/**
* @NoCSRFRequired