[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [6307] Effect regulatory prohibitions
From: |
Greg Chicares |
Subject: |
[lmi-commits] [6307] Effect regulatory prohibitions |
Date: |
Sat, 26 Sep 2015 12:32:27 +0000 |
Revision: 6307
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=6307
Author: chicares
Date: 2015-09-26 12:32:26 +0000 (Sat, 26 Sep 2015)
Log Message:
-----------
Effect regulatory prohibitions
Modified Paths:
--------------
lmi/trunk/ChangeLog
lmi/trunk/custom_io_0.cpp
lmi/trunk/custom_io_1.cpp
lmi/trunk/ledger.cpp
lmi/trunk/ledger.hpp
lmi/trunk/ledger_text_formats.cpp
lmi/trunk/ledger_xsl.cpp
Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2015-09-26 11:18:23 UTC (rev 6306)
+++ lmi/trunk/ChangeLog 2015-09-26 12:32:26 UTC (rev 6307)
@@ -36910,3 +36910,43 @@
ihs_basicval.cpp
Establish new database entities for regulatory restrictions.
+20150925T2322Z <address@hidden> [475]
+
+ ledger.cpp
+ ledger.hpp
+Rearrange data members in order of ctor arguments.
+
+20150926T0050Z <address@hidden> [475]
+
+ accountvalue.cpp
+ group_values.cpp
+ ihs_acctval.cpp
+ ledger.cpp
+ ledger.hpp
+Rearrange and rename args used in Ledger ctor; remove default values.
+
+20150926T0146Z <address@hidden> [474]
+
+ group_values.cpp
+ ledger.hpp
+Demote, rewrite, and move a not-so-important defect marker.
+
+20150926T1118Z <address@hidden> [474]
+
+ accountvalue.cpp
+ group_values.cpp
+ ihs_acctval.cpp
+ ledger.cpp
+ ledger.hpp
+Pass regulatory prohibitions to class Ledger.
+
+20150926T1232Z <address@hidden> [474]
+
+ custom_io_0.cpp
+ custom_io_1.cpp
+ ledger.cpp
+ ledger.hpp
+ ledger_text_formats.cpp
+ ledger_xsl.cpp
+Effect regulatory prohibitions.
+
Modified: lmi/trunk/custom_io_0.cpp
===================================================================
--- lmi/trunk/custom_io_0.cpp 2015-09-26 11:18:23 UTC (rev 6306)
+++ lmi/trunk/custom_io_0.cpp 2015-09-26 12:32:26 UTC (rev 6307)
@@ -483,6 +483,8 @@
void custom_io_0_write(Ledger const& ledger_values, std::string const&
filename)
{
+ throw_if_interdicted(ledger_values);
+
std::string actual_filename =
!filename.empty()
? filename
Modified: lmi/trunk/custom_io_1.cpp
===================================================================
--- lmi/trunk/custom_io_1.cpp 2015-09-26 11:18:23 UTC (rev 6306)
+++ lmi/trunk/custom_io_1.cpp 2015-09-26 12:32:26 UTC (rev 6307)
@@ -334,6 +334,8 @@
void custom_io_1_write(Ledger const& ledger_values, std::string const&
filename)
{
+ throw_if_interdicted(ledger_values);
+
std::string actual_filename =
!filename.empty()
? filename
Modified: lmi/trunk/ledger.cpp
===================================================================
--- lmi/trunk/ledger.cpp 2015-09-26 11:18:23 UTC (rev 6306)
+++ lmi/trunk/ledger.cpp 2015-09-26 12:32:26 UTC (rev 6307)
@@ -554,3 +554,36 @@
;
}
+namespace
+{
+std::string reason_to_interdict(Ledger const& z)
+{
+ if(z.nonillustrated())
+ {
+ return "Illustrations are forbidden for this policy form.";
+ }
+ else if(z.no_can_issue()) // Don't even think about it, say no go.
+ {
+ return "New-business illustrations are forbidden for this policy
form.";
+ }
+ else
+ {
+ return "";
+ }
+}
+} // Unnamed namespace.
+
+bool is_interdicted(Ledger const& z)
+{
+ return !reason_to_interdict(z).empty();
+}
+
+void throw_if_interdicted(Ledger const& z)
+{
+ std::string s = reason_to_interdict(z);
+ if(!s.empty())
+ {
+ fatal_error() << s << LMI_FLUSH;
+ }
+}
+
Modified: lmi/trunk/ledger.hpp
===================================================================
--- lmi/trunk/ledger.hpp 2015-09-26 11:18:23 UTC (rev 6306)
+++ lmi/trunk/ledger.hpp 2015-09-26 12:32:26 UTC (rev 6307)
@@ -145,5 +145,8 @@
,std::string const& compound_name
);
+bool LMI_SO is_interdicted (Ledger const&);
+void LMI_SO throw_if_interdicted(Ledger const&);
+
#endif // ledger_hpp
Modified: lmi/trunk/ledger_text_formats.cpp
===================================================================
--- lmi/trunk/ledger_text_formats.cpp 2015-09-26 11:18:23 UTC (rev 6306)
+++ lmi/trunk/ledger_text_formats.cpp 2015-09-26 12:32:26 UTC (rev 6307)
@@ -468,6 +468,8 @@
,std::string const& file_name
)
{
+ throw_if_interdicted(ledger_values);
+
LedgerInvariant const& Invar = ledger_values.GetLedgerInvariant();
LedgerVariant const& Curr_ = ledger_values.GetCurrFull();
LedgerVariant const& Guar_ = ledger_values.GetGuarFull();
@@ -869,6 +871,8 @@
,std::ostream& os
)
{
+ throw_if_interdicted(ledger);
+
FlatTextLedgerPrinter(ledger, os).Print();
}
Modified: lmi/trunk/ledger_xsl.cpp
===================================================================
--- lmi/trunk/ledger_xsl.cpp 2015-09-26 11:18:23 UTC (rev 6306)
+++ lmi/trunk/ledger_xsl.cpp 2015-09-26 12:32:26 UTC (rev 6307)
@@ -103,6 +103,8 @@
std::string write_ledger_as_pdf(Ledger const& ledger, fs::path const& filepath)
{
+ throw_if_interdicted(ledger);
+
fs::path print_dir(configurable_settings::instance().print_directory());
fs::path real_filepath(orthodox_filename(filepath.leaf()));
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [6307] Effect regulatory prohibitions,
Greg Chicares <=