minor changes

This commit is contained in:
Naeltard 2015-10-11 03:28:38 +02:00
parent 1d5c4b8ab3
commit fee61fcc0f
10 changed files with 286 additions and 287 deletions

View File

@ -49,7 +49,7 @@ class bars{
sum(case when uvote_data.choice != uvote_votes_per_party.choice then 1 else 0 end) class_MISSMATCH
FROM uvote_data INNER JOIN uvote_votes_per_party
ON uvote_data.poll_ID = uvote_votes_per_party.poll_ID
WHERE user_ID = ? AND uvote_data.choice = ? GROUP BY party;',
WHERE user_ID = ? AND uvote_votes_per_party.choice = ? GROUP BY party;',
array(\SYSTEM\SECURITY\Security::getUser()->id, $choice));
$i = 0;
while($row = $res->next()){
@ -87,7 +87,7 @@ class bars{
sum(case when uvote_data.choice != uvote_votes.bt_choice then 1 else 0 end) class_MISSMATCH
FROM uvote_data INNER JOIN uvote_votes
ON uvote_data.poll_ID = uvote_votes.ID
WHERE user_ID = ? AND uvote_data.choice = ? GROUP by user_ID;',
WHERE user_ID = ? AND uvote_votes.bt_choice = ? GROUP by user_ID;',
array(\SYSTEM\SECURITY\Security::getUser()->id, $choice));
$i = 0;

View File

@ -37,7 +37,7 @@ class graphs {
public static function donut_party_to_user_overall ($returnasjson = true){
$result = array();
$res = \SQL\UVOTE_DATA_USER_TO_PARTIES_OVERALL::QQ(array(13));
$res = \SQL\UVOTE_DATA_USER_TO_PARTIES_OVERALL::QQ(array(\SYSTEM\SECURITY\Security::getUser()->id));
while ($row = $res->next()){
$result[] = array( 0 => $row['party'],
'class_match' => $row['class_MATCH']);

View File

@ -144,7 +144,7 @@ function send_feedback (feedback) {
var val = JSON.stringify(feedback);
console.log("feedback called");
$.ajax({
url: 'http://mojotrollz.eu/web/uVote/api.php',
url: './api.php',
// contentType : "application/json; charset=utf-8",
data : {
'call': 'vote',
@ -224,155 +224,3 @@ function loadApiPic(id) {
});
}
function load_visualisation(id, timespan){
$('img#loader').show();
$.getJSON('./api.php?call=graph_bt_to_uvote_overall_by_time',function(json){
if(!json || json.status != true || !json.result){
$('img#loader').hide();
return;
}
json = json.result;
$('img#loader').hide();
var data = new google.visualization.DataTable();
first = true;
$.each(json[0], function(key, value){
if(first){
data.addColumn('datetime',key);
first = false;
} else {
data.addColumn('number',key);
}
});
$.each(json, function(key, value){
first = true;
data.addRow($.map(value, function(v) { if(first){first=false;return [new Date(v)];}else{return [parseFloat(v)];}}));});
console.log(data);
var options = {title: 'Übereinstimmung uVote Community/Bundestag', aggregationTarget: 'category', selectionMode: 'multiple', /*curveType: 'function',*/ /*focusTarget: 'category',*/ chartArea:{}, vAxis:{format:'#%', logScale: false}, interpolateNulls: false, width: "300", height: "250"};
//LineChart
new google.visualization.ColumnChart(document.getElementById(id)).draw(data, options);
});
}
function load_visualisation_urvote(id, timespan){
$('img#loader').show();
$.getJSON('./api.php?call=graph_bt_to_user_overall_by_time',function(json){
if(!json || json.status != true || !json.result){
$('img#loader').hide();
return;
}
json = json.result;
$('img#loader').hide();
var data = new google.visualization.DataTable();
first = true;
$.each(json[0], function(key, value){
if(first){
data.addColumn('datetime',key);
first = false;
} else {
data.addColumn('number',key);
}
});
$.each(json, function(key, value){
first = true;
data.addRow($.map(value, function(v) { if(first){first=false;return [new Date(v)];}else{return [parseFloat(v)];}}));});
var options = {title: id, aggregationTarget: 'category', selectionMode: 'multiple', curveType: 'function', /*focusTarget: 'category',*/ chartArea:{}, vAxis:{logScale: false}, interpolateNulls: false, width: "300", height: "250"};
new google.visualization.LineChart(document.getElementById(id)).draw(data, options);
});
}
function load_visualisation_user_to_party_overall(id, party, timespan){
$('img#loader').show();
$.getJSON('./api.php?call=graph_party_to_user_overall_by_time&party=' + party,function(json){
if(!json || json.status != true || !json.result){
$('img#loader').hide();
return;
}
json = json.result;
$('img#loader').hide();
var data = new google.visualization.DataTable();
first = true;
$.each(json[0], function(key, value){
if(first){
data.addColumn('datetime',key);
first = false;
} else {
data.addColumn('number',key);
}
});
$.each(json, function(key, value){
first = true;
data.addRow($.map(value, function(v) { if(first){first=false;return [new Date(v)];}else{return [parseFloat(v)];}}));});
var options = { title: 'Übereinstimmung mit ' + party,
aggregationTarget: 'category',
selectionMode: 'multiple',
legend: 'none',
chartArea:{},
// vAxis:{logScale: false},
vAxis: {viewWindow: {min: 0, max: 100}},
lineWidth: 7,
interpolateNulls: false,
width: "800",
height: "250"};
new google.visualization.LineChart(document.getElementById(id)).draw(data, options);
});
}
function load_visualisation_user_to_parties_overall(id, timespan){
$('img#loader').show();
$.getJSON('./api.php?call=donut_party_to_user_overall',function(json){
if(!json || json.status != true || !json.result){
$('img#loader').hide();
return;
}
json = json.result;
$('img#loader').hide();
var data = new google.visualization.DataTable();
console.log(json);
first = true;
$.each(json[0], function(key, value){
if(first){
data.addColumn('string',key);
first = false;
} else {
data.addColumn('number',key);
}
});
$.each(json, function(key, value){
first = true;
data.addRow($.map(value, function(v) { if(first){first=false;return v;}else{return [parseFloat(v)];}}));});
var options = { title: 'Übereinstimmung mit den Fraktionen relativ zueinander',
titleTextStyle: {fontSize: 14, bold: 0, italic: 0},
pieSliceText: 'label',
legend: 'none',
colors: ['#000736', '#0022FF', '#33FF00', '#D2067A', '#F20101'],
pieHole: '0.4',
chartArea:{},
width: "500",
height: "400"};
new google.visualization.PieChart(document.getElementById(id)).draw(data, options);
});
}
function load_visualisation_user(id, timespan){
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Task', 'Hours per Day'],
['Work', 11],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 7]
]);
var options = {
title: 'My Daily Activities',
pieHole: 0.4,
};
var chart = new google.visualization.PieChart(document.getElementById('donutchart'));
chart.draw(data, options);
}
}

View File

@ -1,5 +1,139 @@
function init_user_main_analysis(){
load_visualisation_user_to_party_overall('graph_user_to_party_overall_cdu', 'cdu', 84600);
load_visualisation_user_to_party_overall('graph_user_to_party_overall_csu', 'csu', 84600);
load_visualisation_user_to_party_overall('graph_user_to_party_overall_spd', 'spd', 84600);
load_visualisation_user_to_party_overall('graph_user_to_party_overall_gruene', 'gruene', 84600);
load_visualisation_user_to_party_overall('graph_user_to_party_overall_linke', 'linke', 84600);
load_visualisation_user_to_parties_overall('donut_user_to_party_overall', 84600);
}
function load_visualisation(id, timespan){
$('img#loader').show();
$.getJSON('./api.php?call=graph_bt_to_uvote_overall_by_time',function(json){
if(!json || json.status != true || !json.result){
$('img#loader').hide();
return;
}
json = json.result;
$('img#loader').hide();
var data = new google.visualization.DataTable();
first = true;
$.each(json[0], function(key, value){
if(first){
data.addColumn('datetime',key);
first = false;
} else {
data.addColumn('number',key);
}
});
$.each(json, function(key, value){
first = true;
data.addRow($.map(value, function(v) { if(first){first=false;return [new Date(v)];}else{return [parseFloat(v)];}}));});
var options = {title: 'Übereinstimmung uVote Community/Bundestag', aggregationTarget: 'category', selectionMode: 'multiple', /*curveType: 'function',*/ /*focusTarget: 'category',*/ chartArea:{}, vAxis:{format:'#%', logScale: false}, interpolateNulls: false, width: "300", height: "250"};
//LineChart
new google.visualization.ColumnChart(document.getElementById(id)).draw(data, options);
});
}
function load_visualisation_urvote(id, timespan){
$('img#loader').show();
$.getJSON('./api.php?call=graph_bt_to_user_overall_by_time',function(json){
if(!json || json.status != true || !json.result){
$('img#loader').hide();
return;
}
json = json.result;
$('img#loader').hide();
var data = new google.visualization.DataTable();
first = true;
$.each(json[0], function(key, value){
if(first){
data.addColumn('datetime',key);
first = false;
} else {
data.addColumn('number',key);
}
});
$.each(json, function(key, value){
first = true;
data.addRow($.map(value, function(v) { if(first){first=false;return [new Date(v)];}else{return [parseFloat(v)];}}));});
var options = {title: id, aggregationTarget: 'category', selectionMode: 'multiple', curveType: 'function', /*focusTarget: 'category',*/ chartArea:{}, vAxis:{logScale: false}, interpolateNulls: false, width: "300", height: "250"};
new google.visualization.LineChart(document.getElementById(id)).draw(data, options);
});
}
function load_visualisation_user_to_party_overall(id, party, timespan){
$('img#loader').show();
$.getJSON('./api.php?call=graph_party_to_user_overall_by_time&party=' + party,function(json){
if(!json || json.status != true || !json.result){
$('img#loader').hide();
return;
}
json = json.result;
$('img#loader').hide();
var data = new google.visualization.DataTable();
first = true;
$.each(json[0], function(key, value){
if(first){
data.addColumn('datetime',key);
first = false;
} else {
data.addColumn('number',key);
}
});
$.each(json, function(key, value){
first = true;
data.addRow($.map(value, function(v) { if(first){first=false;return [new Date(v)];}else{return [parseFloat(v)];}}));});
var options = { title: 'Übereinstimmung mit ' + party,
aggregationTarget: 'category',
selectionMode: 'multiple',
legend: 'none',
chartArea:{},
// vAxis:{logScale: false},
vAxis: {viewWindow: {min: 0, max: 100}},
lineWidth: 7,
interpolateNulls: false,
width: "800",
height: "250"};
new google.visualization.LineChart(document.getElementById(id)).draw(data, options);
});
}
function load_visualisation_user_to_parties_overall(id, timespan){
$('img#loader').show();
$.getJSON('./api.php?call=donut_party_to_user_overall',function(json){
if(!json || json.status != true || !json.result){
$('img#loader').hide();
return;
}
json = json.result;
$('img#loader').hide();
var data = new google.visualization.DataTable();
first = true;
$.each(json[0], function(key, value){
if(first){
data.addColumn('string',key);
first = false;
} else {
data.addColumn('number',key);
}
});
$.each(json, function(key, value){
first = true;
data.addRow($.map(value, function(v) { if(first){first=false;return v;}else{return [parseFloat(v)];}}));});
var options = { title: 'Übereinstimmung mit den Fraktionen relativ zueinander',
titleTextStyle: {fontSize: 14, bold: 0, italic: 0},
pieSliceText: 'label',
legend: 'none',
colors: ['#000736', '#0022FF', '#33FF00', '#D2067A', '#F20101'],
pieHole: '0.4',
chartArea:{},
width: "500",
height: "400"};
new google.visualization.PieChart(document.getElementById(id)).draw(data, options);
});
}

View File

@ -25,13 +25,23 @@
<div class="col-md-6">
${basic_stats}
</div>
<div class="col-md-6">
${analysis_help_basic stats}
${analysis_math_basic stats}
</div>
</div>
<div class="row" style="padding-top: 20px;">
<div class="col-md-6">
<div>${user_temp_votes}</div>
<br>
<div>${user_overall_votes}</div>
</div>
<div class="col-md-6">
${analysis_help_basic_votes}
${analysis_math_basic votes}
</div>
</div>
</div>
</div>
</div>
@ -52,14 +62,23 @@
<br>
${choices_user_ID}
</div>
<div class="col-md-6">
${analysis_help_user_to_party_overall}
${analysis_math_user_to_party_overall}
</div>
<div class="row" style="padding-top: 20px;">
<div class="col-md-6">
<div id="donut_user_to_party_overall" class="row" style="padding: 0; margin: 0;"></div>
</div>
</div>
<div class="col-md-6">
${analysis_help_user_to_party_overall_donut}
${analysis_math_user_to_party_overall_donut}
</div>
</div>
</div>
</div>
</div>
<div class="panel-group row" id="acc_5" style="padding-top: 10px;">
<div class="panel panel-default panel-warning">
<div class="panel-heading" data-toggle="collapse" data-parent="#acc_5" href="#acc_5_body">
@ -67,24 +86,40 @@
<span class="glyphicon glyphicon-th"></span>&nbsp;&nbsp;&nbsp;Bilanz: Fraktionen nach Stimmverhalten
</h4>
</div>
<div id="acc_5_body" class="row panel-collapse collapse panel-body">
<div class="col-md-4">
<div id="acc_5_body" class="row panel-collapse collapse panel-body" style="padding-top: 20px;">
<div class="row">
<div class="col-md-6">
<img class="img-responsive" src="${frontend_logos}icon_urn_pro.png"/>
<h5>Übereinstimmung der pro Stimmen</h5>
${choices_user_ID_per_party_pro}
</div>
<div class="col-md-4">
<div class="col-md-6">
${analysis_help_user_to_party_overall_by_vote_pro}
${analysis_math_user_to_party_overall_by_vote_pro}
</div>
</div>
<div class="row" style="padding-top: 20px;">
<div class="col-md-6">
<img class="img-responsive" src="${frontend_logos}icon_urn_con.png"/>
<h5>Übereinstimmung der contra Stimmen</h5>
${choices_user_ID_per_party_con}
</div>
<div class="col-md-4">
<div class="col-md-6">
${analysis_help_user_to_party_overall_by_vote_pro}
${analysis_math_user_to_party_overall_by_vote_pro}
</div>
</div>
<div class="row" style="padding-top: 20px;">
<div class="col-md-6">
<img class="img-responsive" src="${frontend_logos}icon_urn_ent.png"/>
<h5>Übereinstimmung der Enthaltungen</h5>
${choices_user_ID_per_party_ent}
</div>
<div class="col-md-6">
${analysis_help_user_to_party_overall_by_vote_pro}
${analysis_math_user_to_party_overall_by_vote_pro}
</div>
</div>
</div>
</div>
</div>
@ -100,6 +135,7 @@
Bundestag gesamt
${choices_bt_to_user}
</div>
<div class="col-md-6">
Übereinstimmung mit dem Bundestag
<img class="img-responsive" src="${frontend_logos}icon_bt.png"/>
@ -181,12 +217,6 @@
<!--<div id="graph_bt_user_overall" class="row"></div>
<script type="text/javascript" language="JavaScript">load_visualisation_urvote('graph_bt_user_overall',84600);</script>-->
<script type="text/javascript" language="JavaScript">load_visualisation_user_to_party_overall('graph_user_to_party_overall_cdu', 'cdu', 84600);</script>
<script type="text/javascript" language="JavaScript">load_visualisation_user_to_party_overall('graph_user_to_party_overall_csu', 'csu', 84600);</script>
<script type="text/javascript" language="JavaScript">load_visualisation_user_to_party_overall('graph_user_to_party_overall_spd', 'spd', 84600);</script>
<script type="text/javascript" language="JavaScript">load_visualisation_user_to_party_overall('graph_user_to_party_overall_gruene', 'gruene', 84600);</script>
<script type="text/javascript" language="JavaScript">load_visualisation_user_to_party_overall('graph_user_to_party_overall_linke', 'linke', 84600);</script>
<script type="text/javascript" language="JavaScript">load_visualisation_user_to_parties_overall('donut_user_to_party_overall', 84600);</script>

View File

@ -1,27 +1,16 @@
<div>
<input type="text" id="vote_title" placeholder="${vote_title}"/>
<input type="text" id="iframe_link" placeholder="${iframe_link}"/>
<input type="text" id="poll_ID" placeholder="${poll_ID}"/>
<input type="text" id="${ID}_vote_title" value="${title}"/>
<input type="text" id="${ID}_iframe_link" value="${iframe_link}"/>
<br>
<br>
<h4>poll start</h4>
<input type="text" placeholder="JJJJ-TT-MM"/> - 00:00
<input type="text" id="${ID}_time_start" value="${time_start}"/> - 00:00
<h4>poll end</h4>
<input type="text" placeholder="JJJJ-TT-MM"/> - 00:00
<br>
<a class="btn btn-primary" id="vote_data_submit">Submit</a>
<input type="text" id="${ID}_time_end" value="${time_end}"/> - 00:00
<h4>tags</h4>
<input type="text" id="${ID}_tags" value="tags" style="width: 100%"/>
</div>
<br>
<div>
<h4>BT DATEN</h4>
<input type="text" id="poll_ID" placeholder="${poll_ID}"/>
<br>
<input type="text" id="poll_ID" placeholder="${party}"/>
<input type="text" id="poll_ID" placeholder="${votes_pro}"/>
<input type="text" id="poll_ID" placeholder="${votes_contra}"/>
<input type="text" id="poll_ID" placeholder="${nr_attending}"/>
<input type="text" id="poll_ID" placeholder="${total}"/>
<input type="text" id="poll_ID" placeholder="${choice}"/>
<br>
<a class="btn btn-primary" id="bt_data_submit">Submit</a>
<a id="${ID}_data_submit" class="btn btn-primary bt_data_submit" poll_ID="${ID}">Submit</a>
</div>

View File

@ -1,44 +1,20 @@
function init_saimod_uvote_vote_edit(){
$('.btn_editvote').click(function() {
alert ('');
var poll_ID = $('#input_poll_title').attr('poll_ID');
var title = $('#input_poll_title').val();
var iframe_link = $('#input_poll_link').val();
vote_data_edit(poll_ID, title, iframe_link);
// var data = new Array();
// alert("bla")
// $.ajax({
// url: SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_uvote_vote_edit&action='+ vote,
// contentType : "application/json; charset=utf-8",
// vote : JSON.stringify({
// sai_mod: 'saimod_uvote_vote_edit',
// action: 'new_vote',
// json: data,
// }),
// dataType : 'json',
// type : 'POST' ,
// success: function(vote) {
// alert("success");
// }});
// alert("js läuft");
})};
$('.bt_data_submit').click(function() {
var poll_ID = $(this).attr('poll_ID');
var title = $('#' + poll_ID + '_vote_title').val();
var time_start = $('#' + poll_ID + '_time_start').val();
var iframe_link = $('#' + poll_ID + '_iframe_link').val();
var data = {poll_ID: poll_ID, title: title, iframe_link: iframe_link}
$.getJSON('./sai.php?sai_mod=.SAI.saimod_uvote_vote_edit&action=edit_vote&data=' + JSON.stringify(data), function(data) {
var items = [];
if(data.status == true){
alert("success");
} else {
alert(data.result.message);
}
});
});
};
function vote_data_edit (poll_ID, title, iframe_link) {
alert('vote_data_edit');
$.getJSON('./api.php?call=vote&action=new_vote&poll_ID=' + poll_ID + '&title=' + title + '&iframe_link=' + iframe_link, function(data) {
var items = [];
if(data.status == true){
alert("success");
} else {
alert(data.result.message);
}
});
}

View File

@ -16,10 +16,8 @@ class saimod_uvote_vote_edit extends \SYSTEM\SAI\SaiModule {
}
public static function sai_mod_saimod_uvote_new_vote(){
$result = '';
$vote = array();
$result .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \PSAI(),'saimod_uvote_vote_edit/vote.tpl'), $vote);
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \PSAI(),'saimod_uvote_vote_edit/main.tpl'));
}
@ -38,10 +36,9 @@ class saimod_uvote_vote_edit extends \SYSTEM\SAI\SaiModule {
$vote['bt_vote_class'] = self::tablerow_class($vote['bt_choice']);
$vote['time_left'] = round($time_remain/($time_span+1)*100,0);
$vote['time_done'] = 100-$vote['time_left'];
$vote['new_vote'] = self::sai_mod_saimod_uvote_new_vote();
$result .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \PSAI(),'saimod_uvote_vote_edit/vote.tpl'), $vote);
$result .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \PSAI(),'saimod_uvote_vote_edit/main.tpl'), $vote);
}
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \PSAI(),'saimod_uvote_vote_edit/saimod_uvote_vote_edit.tpl'), array('list' => $result));
}
@ -57,13 +54,16 @@ class saimod_uvote_vote_edit extends \SYSTEM\SAI\SaiModule {
return '';
}
}
public static function sai_mod__SAI_saimod_uvote_vote_edit_action_edit_vote($data){
$data = \json_decode($data);
new \SYSTEM\LOG\WARNING(print_r($data, TRUE));
}
public static function html_li_menu(){return '<li><a href="#!vote">Edit Votes</a></li>';}
public static function right_public(){return false;}
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
public static function sai_mod_saimod_uvote_vote_edit_flag_js(){return \SYSTEM\LOG\JsonResult::toString(array(
\SYSTEM\WEBPATH(new PSAI(),'saimod_uvote_vote_edit/saimod_uvote_vote_edit.js')
));}
public static function sai_mod_saimod_uvote_vote_edit_flag_css(){return \SYSTEM\LOG\JsonResult::toString(array()
public static function js(){return array(
\SYSTEM\WEBPATH(new \PSAI(),'saimod_uvote_vote_edit/saimod_uvote_vote_edit.js')
);}
public static function css(){return array()
;}
}

View File

@ -1,4 +1,3 @@
<table style="margin-bottom: 5px; width: 95%; border: solid lightgray 1px; background: beige;">
${new_vote}
${list}
</table>

View File

@ -1,48 +1,71 @@
<tr style="border: solid lightgray 1px;">
<td style="padding: 5px;">
<input id="input_poll_title" poll_ID="${ID}" type="text" value="${title}" style="width: 500px;">
<input id="input_poll_link" type="text" value="${iframe_link}" style="width: 500px;">
</td>
<td>
<div class="row" style="border: solid lightgray 1px;">
<div class="col-md-3" style="padding: 5px;">
<input id="input_poll_title" poll_ID="${ID}" type="text" value="${title}" style="width: 100%;">
<input id="input_poll_link" type="text" value="${iframe_link}" style="width: 100%">
</div>
<div class="col-md-1">
Nr.${ID}
</td>
<td>
</div>
<div class="col-md-1">
<a class="btn btn-primary btn-small btn_editvote" style="float:right" poll_ID="${ID}">Edit</a>
</td>
<td class="${bt_vote_class}" style="width: 200px; margin-top: 10px; border-left: 1px solid lightgray;">
cdu<span class="badge badge-success" style="float:left;"></span>
<span class="badge badge-important" style="float:left;">123</span>
<span class="badge" style="float:left;">123</span>
<span class="badge badge-info" style="float:left;">123</span><br/>
csu<span class="badge badge-success" style="float:left;">123</span>
<span class="badge badge-important" style="float:left;">123</span>
<span class="badge" style="float:left;">123</span>
<span class="badge badge-info" style="float:left;">123</span><br/>
spd<span class="badge badge-success" style="float:left;">123</span>
<span class="badge badge-important" style="float:left;">123</span>
<span class="badge" style="float:left;">123</span>
<span class="badge badge-info" style="float:left;">123</span><br/>
grüne<span class="badge badge-success" style="float:left;">123</span>
<span class="badge badge-important" style="float:left;">123</span>
<span class="badge" style="float:left;">123</span>
<span class="badge badge-info" style="float:left;">123</span><br/>
linke<span class="badge badge-success" style="float:left;">123</span>
<span class="badge badge-important" style="float:left;">123</span>
<span class="badge" style="float:left;">123</span>
<span class="badge badge-info" style="float:left;">123</span><br/>
</td>
<td class="" style="width: 30px; margin-top: 10px; border-left: 1px solid lightgray;">
</div>
<div class="col-md-4 ${bt_vote_class}" style="margin-top: 10px; border-left: 1px solid lightgray;">
<div class="row">
<div class="col-md-4">
cdu
</div>
<div class="col-md-8">
<input type="number"/><input type="number"/><input type="number"/>
</div>
</div>
<div class="row">
<div class="col-md-4">
csu
</div>
<div class="col-md-8">
<input type="number"/><input type="number"/><input type="number"/>
</div>
</div>
<div class="row">
<div class="col-md-4">
spd
</div>
<div class="col-md-8">
<input type="number"/><input type="number"/><input type="number"/>
</div>
</div>
<div class="row">
<div class="col-md-4">
grüne
</div>
<div class="col-md-8">
<input type="number"/><input type="number"/><input type="number"/>
</div>
</div>
<div class="row">
<div class="col-md-4">
linke
</div>
<div class="col-md-8">
<input type="number"/><input type="number"/><input type="number"/>
</div>
</div>
</div>
<div class="col-md-1" style="margin-top: 10px; border-left: 1px solid lightgray;">
uv
<span class="badge badge-success" style="float:right;">123</span>
<span class="badge badge-important" style="float:right;">123</span>
<span class="badge" style="float:right;">123</span>
</td>
<td class="${vote_class}" style="width: 20px; margin-top: 10px; border-left: 1px solid lightgray;">
</td>
<td style="margin: 0; padding: 0; width: 3px;" >
<table class="poll_time" time="${time_end}" style="width: 100%; height: 100%; margin: 0; padding: 0;">
<tr id="time_done" style="height: ${time_done}%; background: white; margin: 0; padding: 0;"><td style="width: 1px; margin: 0; padding: 0;"></td></tr>
<tr id="time_left" style="height: ${time_left}%; background: blue; margin: 0; padding: 0;"><td style="width: 1px; margin: 0; padding: 0;"></td></tr>
<br>
<span class="badge badge-success" style="">123</span>
<br>
<span class="badge badge-important" style="">123</span>
<br>
<span class="badge" style="">123</span>
</div>
<div class="col-md-2 ${vote_class}" style="margin-top: 10px; border-left: 1px solid lightgray;">
</div>
<!--<div style="margin: 0; padding: 0; width: 3px;" >
<table class="poll_time" time="${time_start}" style="width: 100%; height: 100%; margin: 0; padding: 0;">
<tr id="time_start" style="height: ${time_start}%; background: white; margin: 0; padding: 0;"><td style="width: 1px; margin: 0; padding: 0;"></td></tr>
<tr id="time_end" style="height: ${time_end}%; background: blue; margin: 0; padding: 0;"><td style="width: 1px; margin: 0; padding: 0;"></td></tr>
</table>
</td>
</tr>
</div>-->
</div>