Permalink
Browse files

Merge pull request #3239 from ChurchCRM/master-2.8.14-to-deveop

Master 2.8.14 to deveop 2.9.
  • Loading branch information...
crossan007 committed Nov 11, 2017
2 parents e97dbe0 + 24a42fa commit 601e877b9a03f6aaacb00569e05660d3fcfcfdb6
Showing with 37,003 additions and 27,642 deletions.
  1. +3 −1 .gitignore
  2. +1 −0 CODEOWNERS
  3. +25 −28 Gruntfile.js
  4. +18 −0 cloud9/001-cloud9.conf
  5. +44 −0 cloud9/bootstrap.sh
  6. +12 −0 cloud9/upgradePhp7.sh
  7. +197 −0 locale/JSONKeys/ar_EG.json
  8. +28 −0 locale/JSONKeys/de_DE.json
  9. +41 −15 locale/JSONKeys/es_ES.json
  10. +110 −66 locale/JSONKeys/fr_FR.json
  11. +144 −1 locale/JSONKeys/id_ID.json
  12. +194 −68 locale/JSONKeys/it_IT.json
  13. +65 −16 locale/JSONKeys/pt_BR.json
  14. +1 −0 locale/JSONKeys/ro_RO.json
  15. +0 −4 locale/JSONKeys/vi_VN.json
  16. +4,238 −4,042 locale/messages.po
  17. +18 −7 locale/update-locale.sh
  18. +1 −1 package.json
  19. +2 −3 scripts/gen-changelogs.sh
  20. +6 −5 scripts/tests-install.sh
  21. +10 −4 scripts/tests-run.sh
  22. +6 −6 src/CSVCreateFile.php
  23. +3 −5 src/CSVImport.php
  24. +4 −4 src/CartToEvent.php
  25. +3 −3 src/CartToGroup.php
  26. +2 −2 src/CartView.php
  27. +4 −4 src/CheckVersion.php
  28. +5 −5 src/Checkin.php
  29. +69 −0 src/ChurchCRM/Emails/notifications/NewPersonOrFamilyEmail.php
  30. +11 −11 src/ChurchCRM/FileSystemUtils.php
  31. +39 −39 src/ChurchCRM/ISTAddressLookup.php
  32. +6 −6 src/ChurchCRM/MICRFunctions.php
  33. +262 −208 src/ChurchCRM/Reports/PDF_Attendance.php
  34. +126 −126 src/ChurchCRM/SQLUtils.php
  35. +11 −3 src/ChurchCRM/Service/GroupService.php
  36. +13 −12 src/ChurchCRM/Service/PersonService.php
  37. +1 −1 src/ChurchCRM/Service/SundaySchoolService.php
  38. +150 −0 src/ChurchCRM/dto/Cart.php
  39. +5 −1 src/ChurchCRM/dto/Photo.php
  40. +24 −5 src/ChurchCRM/dto/SystemConfig.php
  41. +142 −131 src/ChurchCRM/model/ChurchCRM/Family.php
  42. +28 −17 src/ChurchCRM/model/ChurchCRM/Person.php
  43. +17 −17 src/ChurchCRM/utils/GeoUtils.php
  44. +1 −1 src/ChurchCRM/utils/InputUtils.php
  45. +8 −8 src/ConvertOnePaymentXML.php
  46. +15 −15 src/DepositSlipEditor.php
  47. +61 −61 src/DonatedItemEditor.php
  48. +1 −2 src/ElectronicPaymentList.php
  49. +4 −5 src/EventAttendance.php
  50. +57 −57 src/EventEditor.php
  51. +7 −7 src/EventNames.php
  52. +25 −17 src/FamilyEditor.php
  53. +122 −122 src/FamilyView.php
  54. +1 −1 src/FinancialReports.php
  55. +1 −1 src/FindFundRaiser.php
  56. +1 −1 src/FundRaiserEditor.php
  57. +142 −121 src/GroupEditor.php
  58. +40 −4 src/GroupList.php
  59. +25 −25 src/GroupPropsEditor.php
  60. +331 −379 src/GroupView.php
  61. +8 −8 src/Include/CanvassUtilities.php
  62. +6 −1 src/Include/Footer-Short.php
  63. +407 −377 src/Include/Functions.php
  64. +7 −7 src/Include/GetGroupArray.php
  65. +4 −4 src/Include/Header-function.php
  66. +1 −1 src/Include/Header.php
  67. +1 −1 src/Include/LabelFunctions.php
  68. +4 −4 src/Include/ReportFunctions.php
  69. +2 −2 src/Include/analyticstracking.php
  70. +25 −26 src/ListEvents.php
  71. +24 −24 src/MapUsingGoogle.php
  72. +2 −2 src/MemberRoleChange.php
  73. +3 −3 src/MembersDashboard.php
  74. +48 −48 src/NoteEditor.php
  75. +1 −1 src/PaddleNumEditor.php
  76. +101 −101 src/PersonCustomFieldsEditor.php
  77. +19 −6 src/PersonEditor.php
  78. +1 −1 src/PersonToGroup.php
  79. +134 −171 src/PersonView.php
  80. +2 −2 src/PledgeEditor.php
  81. +320 −301 src/PrintView.php
  82. +1 −1 src/QuerySQL.php
  83. +1 −1 src/Reports/AdvancedDeposit.php
  84. +2 −2 src/Reports/CanvassReports.php
  85. +100 −52 src/Reports/ClassAttendance.php
  86. +201 −89 src/Reports/ClassList.php
  87. +8 −8 src/Reports/ConfirmReport.php
  88. +40 −40 src/Reports/ConfirmReportEmail.php
  89. +2 −2 src/Reports/DirectoryReport.php
  90. +1 −1 src/Reports/FRBidSheets.php
  91. +7 −7 src/Reports/GroupReport.php
  92. +168 −168 src/Reports/PDFLabel.php
  93. +151 −0 src/Reports/PhotoBook.php
  94. +1 −1 src/Reports/PledgeSummary.php
  95. +2 −2 src/Reports/TaxReport.php
  96. +1 −1 src/Reports/USISTAddressReport.php
  97. +1 −1 src/Reports/ZeroGivers.php
  98. +23 −23 src/SelectDelete.php
  99. +1 −1 src/SettingsIndividual.php
  100. +8 −8 src/SystemSettings.php
  101. +55 −55 src/USISTAddressVerification.php
  102. +42 −42 src/VolunteerOpportunityEditor.php
  103. +15 −15 src/WhyCameEditor.php
  104. +47 −14 src/api/routes/cart.php
  105. +5 −0 src/api/routes/database.php
  106. +39 −9 src/api/routes/groups.php
  107. +22 −3 src/api/routes/persons.php
  108. +243 −55 src/api/routes/search.php
  109. +37 −37 src/bin/vancowebservices.php
  110. +1,864 −0 src/composer.lock
  111. +3 −4 src/eGive.php
  112. +1 −0 src/external/index.php
  113. +34 −0 src/external/routes/calendar.php
  114. +13 −5 src/external/templates/verify/verify-family-info.php
  115. +6 −6 src/index.php
  116. BIN src/locale/textdomain/ar_EG/LC_MESSAGES/messages.mo
  117. +1,084 −204 src/locale/textdomain/ar_EG/LC_MESSAGES/messages.po
  118. BIN src/locale/textdomain/de_DE/LC_MESSAGES/messages.mo
  119. +1,234 −1,116 src/locale/textdomain/de_DE/LC_MESSAGES/messages.po
  120. +76 −73 src/locale/textdomain/en_AU/LC_MESSAGES/messages.po
  121. +16 −15 src/locale/textdomain/en_CA/LC_MESSAGES/messages.po
  122. +19 −18 src/locale/textdomain/en_GB/LC_MESSAGES/messages.po
  123. BIN src/locale/textdomain/es_ES/LC_MESSAGES/messages.mo
  124. +1,815 −1,702 src/locale/textdomain/es_ES/LC_MESSAGES/messages.po
  125. BIN src/locale/textdomain/fr_FR/LC_MESSAGES/messages.mo
  126. +1,944 −1,767 src/locale/textdomain/fr_FR/LC_MESSAGES/messages.po
  127. +1,109 −1,104 src/locale/textdomain/hu_HU/LC_MESSAGES/messages.po
  128. BIN src/locale/textdomain/id_ID/LC_MESSAGES/messages.mo
  129. +736 −27 src/locale/textdomain/id_ID/LC_MESSAGES/messages.po
  130. BIN src/locale/textdomain/it_IT/LC_MESSAGES/messages.mo
  131. +1,708 −1,211 src/locale/textdomain/it_IT/LC_MESSAGES/messages.po
  132. +1,114 −1,108 src/locale/textdomain/nb_NO/LC_MESSAGES/messages.po
  133. +1,116 −1,110 src/locale/textdomain/nl_NL/LC_MESSAGES/messages.po
  134. +1,122 −1,116 src/locale/textdomain/pl_PL/LC_MESSAGES/messages.po
  135. BIN src/locale/textdomain/pt_BR/LC_MESSAGES/messages.mo
  136. +1,908 −1,705 src/locale/textdomain/pt_BR/LC_MESSAGES/messages.po
  137. BIN src/locale/textdomain/ro_RO/LC_MESSAGES/messages.mo
  138. +1,121 −1,106 src/locale/textdomain/ro_RO/LC_MESSAGES/messages.po
  139. +1,112 −1,106 src/locale/textdomain/ru_RU/LC_MESSAGES/messages.po
  140. +1,117 −1,111 src/locale/textdomain/sq_AL/LC_MESSAGES/messages.po
  141. +1,121 −1,115 src/locale/textdomain/sv_SE/LC_MESSAGES/messages.po
  142. +181 −175 src/locale/textdomain/th_TH/LC_MESSAGES/messages.po
  143. BIN src/locale/textdomain/vi_VN/LC_MESSAGES/messages.mo
  144. +644 −653 src/locale/textdomain/vi_VN/LC_MESSAGES/messages.po
  145. +1,122 −1,116 src/locale/textdomain/zh_CN/LC_MESSAGES/messages.po
  146. +1,122 −1,116 src/locale/textdomain/zh_TW/LC_MESSAGES/messages.po
  147. +5 −1 src/mysql/upgrade.json
  148. +141 −85 src/skin/js/CRMJSOM.js
  149. +50 −46 src/skin/js/FamilyVerify.js
  150. +1 −1 src/skin/js/FamilyView.js
  151. +2 −28 src/skin/js/Footer.js
  152. +19 −4 src/skin/js/GroupEditor.js
  153. +23 −1 src/skin/js/GroupList.js
  154. +73 −166 src/skin/js/GroupView.js
  155. +49 −0 src/skin/js/PersonView.js
  156. +110 −32 src/sundayschool/SundaySchoolClassListExport.php
  157. +3 −1 src/sundayschool/SundaySchoolClassView.php
  158. +12 −3 src/sundayschool/SundaySchoolDashboard.php
  159. +111 −55 src/sundayschool/SundaySchoolReports.php
  160. +7 −0 src/views/email/BaseEmail.html
  161. +9 −1 tests/behat/behat.yml
  162. +1 −2 tests/behat/features/Cart/ViewCart.feature
  163. +49 −3 tests/behat/features/Groups/GroupsList.feature
  164. +20 −0 tests/behat/features/Persons/PersonView.feature
  165. +26 −0 tests/behat/features/bootstrap/FeatureContext.php
  166. +2 −1 tests/composer.json
  167. +2,553 −0 tests/composer.lock
View
@@ -12,10 +12,10 @@
#Exclude composer vendor folders
vendor
composer.lock
node_modules
npm-debug.log*
BuildConfig.json
security-checker.phar
# Uploaded Images
src/Images/Family
@@ -57,3 +57,5 @@ src/signatures.json
src/integrityCheck.json
src/tmp_attach
src/logs/*.log
error.log
View
@@ -0,0 +1 @@
* @Crossan007 @DawoudIO
View
@@ -2,7 +2,7 @@ module.exports = function (grunt) {
var poLocales = function() {
var locales = grunt.file.readJSON("src/locale/locales.json");
poEditorLocales = {};
var poEditorLocales = {};
for (var key in locales ) {
var locale = locales[key];
var poLocaleName = locale["poEditor"];
@@ -13,7 +13,7 @@ module.exports = function (grunt) {
var dataTablesLang = function() {
var locales = grunt.file.readJSON("src/locale/locales.json");
DTLangs = [];
var DTLangs = [];
for (var key in locales ) {
var locale = locales[key];
DTLangs.push(locale["dataTables"]);
@@ -42,7 +42,6 @@ module.exports = function (grunt) {
'!logs/*.log'
],
clean: {
locale: ["src/skin/locale"],
skin: ["src/skin/{adminlte,font-awesome,ionicons,fullcalendar,moment,fastclick}"],
release: ["target"]
},
@@ -175,7 +174,7 @@ module.exports = function (grunt) {
},
datatableselect: {
src: [
'https://cdn.datatables.net/select/1.2.2/css/select.bootstrap.min.css',
'https://cdn.datatables.net/select/1.2.2/css/select.bootstrap.min.css',
'https://cdn.datatables.net/select/1.2.2/js/dataTables.select.min.js'
],
dest: 'src/skin/adminlte/plugins/datatables/extensions/Select/'
@@ -314,7 +313,7 @@ module.exports = function (grunt) {
"files": []
};
this.files.forEach(function (filePair) {
isExpandedPair = filePair.orig.expand || false;
var isExpandedPair = filePair.orig.expand || false;
filePair.src.forEach(function (src) {
if (grunt.file.isFile(src)) {
@@ -338,7 +337,7 @@ module.exports = function (grunt) {
grunt.registerTask('genLocaleJSFiles', '', function () {
var locales = grunt.file.readJSON("src/locale/locales.json");
poEditorLocales = {};
var poEditorLocales = {};
for (var key in locales ) {
var localeConfig = locales[key];
var locale = localeConfig["locale"];
@@ -348,34 +347,34 @@ module.exports = function (grunt) {
var enableDatePicker = localeConfig["datePicker"];
var enableSelect2 = localeConfig["select2"];
tempFile = 'locale/JSONKeys/'+locale+'.json';
poTerms = grunt.file.read(tempFile);
var tempFile = 'locale/JSONKeys/'+locale+'.json';
var poTerms = grunt.file.read(tempFile);
if (poTerms == "") {
poTerms = "{}";
}
jsFileContent = '// Source: ' + tempFile;
var jsFileContent = '// Source: ' + tempFile;
jsFileContent = jsFileContent + "\ntry {window.CRM.i18keys = " + poTerms + ";} catch(e) {};\n";
if (enableFullCalendar) {
tempLangCode = languageCode.toLowerCase();
var tempLangCode = languageCode.toLowerCase();
if (localeConfig.hasOwnProperty("fullCalendarLocale")) {
tempLangCode = localeConfig["fullCalendarLocale"];
}
tempFile = 'node_modules/fullcalendar/dist/locale/'+tempLangCode+'.js';
fullCalendar = grunt.file.read(tempFile);
var fullCalendar = grunt.file.read(tempFile);
jsFileContent = jsFileContent + '\n// Source: ' + tempFile;
jsFileContent = jsFileContent + '\n' + "try {"+fullCalendar+"} catch(e) {};\n";
}
if (enableDatePicker) {
tempFile = 'node_modules/admin-lte/plugins/datepicker/locales/bootstrap-datepicker.'+languageCode+'.js';
datePicker = grunt.file.read(tempFile);
var datePicker = grunt.file.read(tempFile);
jsFileContent = jsFileContent + '\n// Source: ' + tempFile;
jsFileContent = jsFileContent + '\n' + "try {"+datePicker+"} catch(e) {};\n"
}
if (enableSelect2) {
tempFile = 'node_modules/admin-lte/plugins/select2/i18n/'+languageCode+'.js';
jsFileContent = jsFileContent + '\n// Source: ' + tempFile;
select2 = grunt.file.read(tempFile);
var select2 = grunt.file.read(tempFile);
jsFileContent = jsFileContent + '\n' + "try {"+select2+"} catch(e) {}"
}
grunt.file.write('src/locale/js/'+locale+'.js', jsFileContent );
@@ -385,29 +384,27 @@ module.exports = function (grunt) {
grunt.registerMultiTask('updateVersions', 'Update Files to match NPM version', function () {
var version = this.data.version;
// php composer
// php composer
var file = 'src/composer.json';
var curFile = grunt.file.readJSON(file);
if (curFile.version !== version)
{
console.log("updating composer file to: " + version);
curFile.version = version;
var stringFile = JSON.stringify(curFile, null, 4);
grunt.file.write(file, stringFile);
if (curFile.version !== version) {
console.log("updating composer file to: " + version);
curFile.version = version;
var stringFile = JSON.stringify(curFile, null, 4);
grunt.file.write(file, stringFile);
}
// db update file
file = 'src/mysql/upgrade.json';
curFile = grunt.file.readJSON(file);
if (curFile.current.dbVersion !== version)
{
console.log("updating database upgrade file to: " + version);
curFile.current.versions.push(curFile.current.dbVersion);
curFile.current.dbVersion = version;
stringFile = JSON.stringify(curFile, null, 4);
grunt.file.write(file, stringFile);
if (curFile.current.dbVersion !== version) {
console.log("updating database upgrade file to: " + version);
curFile.current.versions.push(curFile.current.dbVersion);
curFile.current.dbVersion = version;
stringFile = JSON.stringify(curFile, null, 4);
grunt.file.write(file, stringFile);
}
});
grunt.loadNpmTasks('grunt-contrib-sass');
View
@@ -0,0 +1,18 @@
<VirtualHost *:8080>
DocumentRoot /home/ubuntu/workspace/src
ServerName https://${C9_HOSTNAME}:443
LogLevel info
ErrorLog /home/ubuntu/workspace/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /home/ubuntu/workspace>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
ServerName https://${C9_HOSTNAME}
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
View
@@ -0,0 +1,44 @@
#!/usr/bin/env bash
#=============================================================================
# DB Setup
DB_USER="root"
DB_HOST="localhost"
CRM_DB_USER="churchcrm"
CRM_DB_PASS="churchcrm"
CRM_DB_NAME="churchcrm"
echo "=========================================================="
echo "==================== DB Setup ========================="
echo "=========================================================="
echo "Database: mysql started"
sudo mysql -u"$DB_USER" -e "CREATE DATABASE $CRM_DB_NAME CHARACTER SET utf8;"
echo "Database: created"
sudo mysql -u"$DB_USER" -e "CREATE USER '$CRM_DB_USER'@'%' IDENTIFIED BY '$CRM_DB_PASS';"
sudo mysql -u"$DB_USER" -e "GRANT ALL PRIVILEGES ON $CRM_DB_NAME.* TO '$CRM_DB_NAME'@'%' WITH GRANT OPTION;"
sudo mysql -u"$DB_USER" -e "FLUSH PRIVILEGES;"
echo "Database: user created with needed PRIVILEGES"
echo "=========================================================="
echo "=============== NPM ================="
echo "=========================================================="
npm install -g i18next-extract-gettext
npm install -g grunt-cli
npm install --unsafe-perm --no-bin-links
echo "=========================================================="
echo "=============== Composer PHP ================="
echo "=========================================================="
npm run composer-update
echo "================ Build ORM Classes =================="
npm run orm-gen
View
@@ -0,0 +1,12 @@
sudo add-apt-repository ppa:ondrej/php -y
sudo apt-get update -y
sudo mv /etc/apache2/envvars /etc/apache2/envvars.bak
sudo apt-get remove libapache2-mod-php5 -y
sudo a2dismod php5
sudo apt-get install php7.0-curl php7.0-cli php7.0-dev php7.0-gd php7.0-intl php7.0-mcrypt php7.0-json php7.0-mysql php7.0-opcache php7.0-bcmath php7.0-mbstring php7.0-soap php7.0-xml php7.0-zip -y
sudo apt-get install libapache2-mod-php7.0 -y
sudo cp /etc/apache2/envvars.bak /etc/apache2/envvars
sudo a2enmod php7.0
Oops, something went wrong.

0 comments on commit 601e877

Please sign in to comment.