Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <div class="col-xs-12 col-lg-12">
- <div class="panel">
- <div class="panel-heading"><h4>#{title}</h4></div>
- <div class="panel-body">
- <div class="row">
- <div class="col-md-6">
- <dl class="dl-horizontal">
- <dt><label class="control-label" for="cutoff_id">Cut-Off Date</label></dt>
- <dd>
- <select id="cutoff_id" class="form-control active" style="width: 300px" onchange="show_meetings()"></select>
- <button class="btn btn-xs btn-default" onclick="show_meetings()">
- <img src="/img/sync.png"/> Show
- </button>
- <button class="btn btn-xs btn-default" onclick="validated_data()">
- <img src="/img/check.png"/> Validate
- </button>
- </dd>
- </dl>
- </div>
- <div class="col-md-6">
- <dl class="dl-horizontal">
- <dt><label class="control-label" for="validate_cutoff_id">Validate Cut-Off Date</label></dt>
- <dd>
- <select id="validate_cutoff_id" class="form-control active" style="width: 300px" onchange="show_validated_data()"></select>
- <button class="btn btn-xs btn-default" onclick="show_validated_data()">
- <img src="/img/sync.png"/> Show
- </button>
- </dd>
- </dl>
- </div>
- </div>
- <hr/>
- <span id="loading"></span>
- <div class="row">
- <div class="col-md-12">
- <div id="RECAP_FEE"></div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <style>
- hr {
- margin-top : 4px;
- margin-bottom : 4px;
- }
- </style>
- <script>
- var _grid = 'RECAP_FEE';
- var majors = { /* majors */ };
- DS.Majors = {};
- DS.ExplainMajors = {};
- DS.MajorStr2Int = {};
- for (var z in majors) {
- var maj = majors[ z ];
- DS.Majors[ maj.id ] = maj.name;
- DS.ExplainMajors[ maj.id ] = { 'name': maj.name, 'parent_id': maj.parent_id };
- DS.MajorStr2Int[ maj.name ] = maj.id;
- }
- var fee_cutoff = { /* fee_cutoff */ };
- var cutoff_validated = { /* cutoff_validated */ };
- $( document ).ready( function() {
- set_cutoff_date();
- set_validated_cutoff_date();
- } );
- function set_cutoff_date() {
- var arr_date = {};
- arr_date[''] = '(Unset)';
- for (var z in fee_cutoff) {
- var val = fee_cutoff[ z ].split('|');
- arr_date[ val[ 0 ] ] = val[ 1 ];
- }
- H.Select2ify( '#cutoff_id', arr_date, null, -1 ).focus();
- }
- function set_validated_cutoff_date() {
- var arr_date = {};
- for (var z in cutoff_validated) {
- var val = cutoff_validated[ z ].split('|');
- arr_date[ val[ 0 ] ] = val[ 1 ];
- $("#cutoff_id option[value=" + val[ 0 ] + "]").attr('disabled', 'disabled');
- }
- var today = moment().format( Const_YMD );
- var selected = null;
- for( var z in arr_date ) {
- var fc = arr_date[ z ].split( ' ' );
- if( today > fc[ 2 ] ) selected = z;
- }
- H.Select2ify( '#validate_cutoff_id', arr_date, selected, -1 ).focus();
- }
- function show_meetings() {
- var cutoff_id = $( '#cutoff_id' ).val();
- var range = $( '#cutoff_id option:selected' ).text();
- range = range.split( ' to ' );
- var start_date = range[ 0 ];
- var end_date = range[ 1 ];
- var values = {
- a: 'list_all',
- cutoff_id: cutoff_id
- };
- H.HorizontalLoading( 'loading' );
- H.Post( values, function( res ) {
- var rows = res.result;
- var fields = [
- {
- header: 'A',
- renderer: function( row ) {
- return ImpersonateUrl( row.id );
- }
- },
- { header: 'ID', renderer: 'id', type: 'number' },
- { header: 'Full Name', renderer: 'full_name' },
- { header: 'NRK', renderer: 'nrk' },
- { header: 'Assignment Letter Number', renderer: 'letter_no' },
- { header: 'Lec. Type', renderer: 'lecturer_type' },
- { header: 'Current JaFung', renderer: H.DefaultLabeler('current_functional_position', DS.JabatanFungsionalDosen) },
- { header: 'Obligation', renderer: 'teaching_quota', type: 'number' },
- // { header: 'Additional Quota', renderer: 'additional_quota', type: 'number' },
- { header: 'Teaching Credit M', renderer: 'teach_m', type: 'float' },
- { header: 'Teaching Credit N', renderer: 'teach_n', type: 'float' },
- { header: 'Teaching Credit W', renderer: 'teach_w', type: 'float' },
- { header: 'Week Count', renderer: 'week_count', type: 'number' },
- {
- header: 'Over / Underload Week (M + N)',
- renderer: function( row ) {
- var teaching_credit = parseFloat( row.teach_m ) + parseFloat( row.teach_n );
- return teaching_credit - parseFloat( row.teaching_quota );
- },
- type: 'float'
- },
- {
- header: 'Over / Underload Cutoff (M + N)',
- renderer: function(row) {
- var teaching_credit = parseFloat( row.teach_m ) + parseFloat( row.teach_n );
- var n = teaching_credit - parseFloat(row.teaching_quota);
- if (n > 0) {
- return n * parseFloat( row.week_count );
- }
- return 0;
- },
- type: 'float'
- },
- {
- header: 'Teaching Credit W x Week Count',
- renderer: function(row) {
- return parseFloat( row.teach_w ) * parseFloat( row.week_count );
- },
- type: 'float'
- }
- ];
- for (var z in DS.Majors) {
- var major_id = z;
- var major_name = DS.Majors[ z ];
- // Plan
- var plan = {
- header: 'Plan_' + major_name,
- renderer: 'ps_' + major_id,
- type:'float'
- };
- fields.push( plan );
- // Overload
- var overload = {
- header: 'Over_' + major_name,
- renderer: 'ps_' + major_id,
- type:'float'
- };
- fields.push( overload );
- }
- for (var z in rows) {
- var row = rows[ z ];
- var homebase_major_id = row.homebase_major_id;
- var teaching_quota = parseFloat(row.teaching_quota);
- var teaching_credit = parseFloat( row.teach_m ) + parseFloat( row.teach_n );
- var homebase_teaching_credit = row[ 'ps_' + homebase_major_id ];
- var overload = teaching_credit - teaching_quota;
- if ( overload > 0 && homebase_teaching_credit < teaching_quota) {
- }
- }
- new GridBuilder( _grid, {
- table_header: 'Full-Time Lecturer Overload Recap Fee ' + start_date + ' to ' + end_date,
- can_add: false,
- can_reload: false,
- fields: fields,
- order_cols: [ [ 2, 1 ] ],
- rows: res.result
- } );
- $('#loading').text('');
- } );
- }
- function show_validated_data() {
- var validate_cutoff_id = $( '#validate_cutoff_id' ).val();
- var range = $( '#validate_cutoff_id option:selected' ).text();
- range = range.split( ' to ' );
- var start_date = range[ 0 ];
- var end_date = range[ 1 ];
- var values = {
- a: 'list_all_validated',
- validate_cutoff_id: validate_cutoff_id
- };
- H.HorizontalLoading( 'loading' );
- H.Post( values, function( res ) {
- var fields = [
- {
- header: 'A',
- renderer: function( row ) {
- return ImpersonateUrl( row.id );
- }
- },
- { header: 'ID', renderer: 'id', type: 'number' },
- { header: 'Full Name', renderer: 'full_name' },
- { header: 'NRK', renderer: 'nrk' },
- { header: 'Current JaFung', renderer: H.DefaultLabeler('current_functional_position', DS.JabatanFungsionalDosen) },
- { header: 'Assignment Letter Number', renderer: 'letter_no' },
- { header: 'Lec. Type', renderer: 'lecturer_type' },
- { header: 'Obligation', renderer: 'teaching_quota', type: 'number' },
- // { header: 'Additional Quota', renderer: 'additional_quota', type: 'number' },
- { header: 'Teaching Credit', renderer: 'sks_oblig', type: 'float' },
- { header: 'Over / Underload Week', renderer: 'under_overload_week', type: 'float' },
- { header: 'Over / Underload CutOff', renderer: 'under_overload_cutoff', type: 'float' },
- { header: 'Teaching Credit M', renderer: 'teach_m', type: 'float' },
- { header: 'Teaching Credit N', renderer: 'teach_n', type: 'float' },
- { header: 'Teaching Credit W', renderer: 'teach_w', type: 'float' },
- { header: 'Week Count', renderer: 'week_count', type: 'number' },
- {
- header: 'Over / Underload Week (M + N)',
- renderer: function(row) {
- var teaching_credit = parseFloat( row.teach_m ) + parseFloat( row.teach_n );
- return teaching_credit - parseFloat( row.teaching_quota );
- },
- type: 'float'
- },
- {
- header: 'Over / Underload Cutoff (M + N)',
- renderer: function(row) {
- var teaching_credit = parseFloat( row.teach_m ) + parseFloat( row.teach_n );
- var n = teaching_credit - parseFloat(row.teaching_quota);
- if (n > 0) {
- return n * parseFloat( row.week_count );
- }
- return 0;
- },
- type: 'float'
- },
- {
- header: 'Teaching Credit W x Week Count',
- renderer: function(row) {
- return parseFloat( row.teach_w ) * parseFloat( row.week_count );
- },
- type: 'float'
- }
- ];
- for (var z in DS.Majors) {
- var major_id = z;
- var major_name = DS.Majors[ z ];
- // Plan
- var plan = {
- header: 'Plan_' + major_name,
- renderer: 'ps_' + major_id,
- type:'float'
- };
- fields.push( plan );
- // Overload
- var overload = {
- header: 'Over_' + major_name,
- renderer: 'ps_' + major_id,
- type:'float'
- };
- fields.push( overload );
- }
- new GridBuilder( _grid, {
- table_header: '[ Validated ] Full Time Lecturer Overload Recap Fee ' + start_date + ' to ' + end_date,
- can_add: false,
- can_reload: false,
- fields: fields,
- order_cols: [ [ 2, 1 ] ],
- rows: res.result
- } );
- $('#loading').text('');
- } );
- }
- function validated_data() {
- var values = {
- a: 'validated_data',
- cutoff_id: $( '#cutoff_id' ).val()
- };
- H.HorizontalLoading( 'loading' );
- H.Post( values, function( res ) {
- if( H.HasAjaxErrors( res ) ) return;
- H.GrowlInfo( res.info );
- $('#loading').text('');
- setInterval(function() {
- window.location.reload(true);
- }, 2000);
- });
- }
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement