<?php
+/**********************************************************************
+ Copyright (C) FrontAccounting, LLC.
+ Released under the terms of the GNU General Public License, GPL,
+ as published by the Free Software Foundation, either version 3
+ of the License, or (at your option) any later version.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
+***********************************************************************/
/**********************************************
Author: Joe Hunt
Name: Revenue / Cost Accruals v2.2
$path_to_root="..";
include_once($path_to_root . "/includes/session.inc");
-include_once($path_to_root . "/gl/includes/db/gl_db_trans.inc");
+include_once($path_to_root . "/includes/ui/items_cart.inc");
$js = get_js_open_window(800, 500);
-if ($use_date_picker)
+if (user_use_date_picker())
$js .= get_js_date_picker();
// Begin the UI
include_once($path_to_root . "/includes/ui.inc");
-$_SESSION['page_title'] = _($help_context = _("Revenue / Cost Accruals"));
+$_SESSION['page_title'] = _($help_context = "Revenue / Cost Accruals");
page($_SESSION['page_title'], false, false,'', $js);
//--------------------------------------------------------------------------------------------------
}
elseif (!is_date_in_fiscalyear($_POST['date_']))
{
- display_error(_("The entered date is not in fiscal year."));
+ display_error(_("The entered date is out of fiscal year or is closed for further data entry."));
set_focus('date_');
$input_error = 1;
}
$per = $periods - 1;
$date = $date_ = get_post('date_');
$freq = get_post('freq');
- $lastdate = ($freq == 1 ? add_days($date_, 7*$per)
- : ($freq == 2 ? add_days($date_, 14*$per)
- : ($freq == 3 ? add_months($date_, $per)
- : add_months($date_, 3*$per))));
-
+ if ($freq == 3 || $freq == 4) {
+ $date_ = begin_month($date_); // avoid skip on shorter months
+ $date = end_month($date_); // avoid skip on shorter months
+ }
+
+ $lastdate = ($freq == 1 ? add_days($date_, 7*$per) :
+ ($freq == 2 ? add_days($date_, 14*$per) :
+ ($freq == 3 ? end_month(add_months($date_, $per)) :
+ end_month(add_months($date_, 3*$per)))));
if (!is_date_in_fiscalyears($lastdate, false))
{
- display_error(_("Some of the period dates are outside the fiscal year. Create a new fiscal year first!"));
+ display_error(_("Some of the period dates are outside the fiscal year or are closed for further data entry. Create a new fiscal year first!"));
set_focus('date_');
$input_error = 1;
}
switch($freq)
{
case 1:
- $date = add_days($date_, $i*7);
+ $date = $date_ = add_days($date_, 7);
break;
case 2:
- $date = add_days($date_, $i*14);
+ $date = $date_ = add_days($date_, 14);
break;
case 3:
- $date = add_months($date_, $i*1);
+ $date_ = add_months($date_, 1);
+ $date = end_month($date_);
break;
case 4:
- $date = add_months($date_, $i*3);
+ $date_ = add_months($date_, 3);
+ $date = end_month($date_);
break;
}
$am0 = $am;
}
if (isset($_POST['go']))
{
- $id = get_next_trans_no(ST_JOURNAL);
- $ref = $Refs->get_next(ST_JOURNAL);
- add_gl_trans(ST_JOURNAL, $id, $date, get_post('acc_act'), 0,
- 0, $ref, $am0 * -1);
- add_gl_trans(ST_JOURNAL, $id, $date, get_post('res_act'), get_post('dimension_id'),
- get_post('dimension2_id'), $ref, $am0);
- add_comments(ST_JOURNAL, $id, $date, $memo);
- $Refs->save(ST_JOURNAL, $id, $ref);
+ $cart = new items_cart(ST_JOURNAL);
+ $cart->memo_ = $memo;
+ $cart->reference = $Refs->get_next(ST_JOURNAL, null, $date);
+ $cart->tran_date = $cart->doc_date = $cart->event_date = $date;
+ $cart->add_gl_item(get_post('acc_act'), 0, 0, -$am0, $cart->reference);
+ $cart->add_gl_item(get_post('res_act'), get_post('dimension_id'),
+ get_post('dimension2_id'), $am0, $cart->reference);
+ write_journal_entries($cart);
+ $cart->clear_items();
}
else
{
end_form();
end_page();
-
-?>