From 4cc4d833845071dc655ffcdd8807fa3382abd02a Mon Sep 17 00:00:00 2001 From: Charles Date: Sun, 12 Mar 2017 12:22:07 -0400 Subject: [PATCH] Update/dev from master (#2083) * Updated Default Values * added select2 * using memeber default & select 2 for country using memeber default city/state & select 2 * Apply fixes from StyleCI (#1995) * Add Behat testing (#2010) * underp master vs develop merge * underps * start 2.6.1 (#2034) * start 2.6.1 * underp 2.6.1 upgrade. * don't include unreleased features in the changelog * 2.6.1 rev jquery photo uploader (#2035) * start 2.6.1 * underp 2.6.1 upgrade. * rev photo uploader to 1.0.10 * release window documentation (#2055) * release window doc * release window doc * cherry-pick #2061 for Master 2.6.1 * Update Config.php.example * fix broken search * rev photo uploader to 1.0.11 (#2071) * Member Count Error in Member Dashboard (#1925) * fix membercount error fix #1924 * Apply left join onn family wher join with person to get the members without family accounted. * Also added Links to Family Roles section on membersdashboard. * Changes to use SystemConfig using SystemConfig::getValue('sDirRoleChild') * PersonView, FamilyView ui changes #1863 (#2026) * PersonView, FamilyView ui changes #1863 closes #1863 changed overlay, added view photo button. added modal for displaying larger photo, displaying view photo button, using code from Initials.js if photo exists. * addressing review comments * upgrade --- CHANGELOG.md | 169 ++++++++++++++---- demo/ChurchCRM-Database.sql | 6 +- docs/Development/Contributing.md | 9 + docs/Development/Release.md | 6 +- docs/Development/Testing.md | 1 + docs/Development/Tests.md | 7 + package.json | 6 +- src/ChurchCRM/Service/DashboardService.php | 18 +- src/FamilyView.php | 28 ++- src/Include/Config.php.example | 2 +- src/Include/FooterNotLoggedIn.php | 3 + src/MembersDashboard.php | 23 ++- src/PersonView.php | 26 ++- src/api/routes/search.php | 46 +++-- .../registration/family-register.php | 12 +- src/skin/js/MemberView.js | 14 ++ src/skin/scss/_imageOverlay.scss | 22 +-- src/skin/scss/_profileImage.scss | 10 +- tests/behat/behat.yml | 6 + .../behat/features/Calendar/calendar.feature | 9 + .../behat/features/Events/EventTypes.feature | 9 + tests/behat/features/Events/EventsAdd.feature | 9 + .../behat/features/Events/EventsList.feature | 12 ++ .../features/Groups/GroupAssignment.feature | 10 ++ .../behat/features/Groups/GroupsList.feature | 9 + .../behat/features/Persons/FamilyAdd.feature | 9 + .../behat/features/Persons/FamilyList.feature | 9 + .../behat/features/Persons/PersonAdd.feature | 9 + .../behat/features/Persons/PersonList.feature | 9 + .../Persons/SundaySchoolDashboard.feature | 13 ++ .../features/Persons/memberdashboard.feature | 9 + .../features/bootstrap/FeatureContext.php | 35 ++++ tests/behat/features/login.feature | 12 ++ tests/composer.json | 10 ++ vagrant/bootstrap.sh | 9 + 35 files changed, 498 insertions(+), 98 deletions(-) create mode 100644 docs/Development/Testing.md create mode 100644 docs/Development/Tests.md create mode 100644 src/skin/js/MemberView.js create mode 100644 tests/behat/behat.yml create mode 100644 tests/behat/features/Calendar/calendar.feature create mode 100644 tests/behat/features/Events/EventTypes.feature create mode 100644 tests/behat/features/Events/EventsAdd.feature create mode 100644 tests/behat/features/Events/EventsList.feature create mode 100644 tests/behat/features/Groups/GroupAssignment.feature create mode 100644 tests/behat/features/Groups/GroupsList.feature create mode 100644 tests/behat/features/Persons/FamilyAdd.feature create mode 100644 tests/behat/features/Persons/FamilyList.feature create mode 100644 tests/behat/features/Persons/PersonAdd.feature create mode 100644 tests/behat/features/Persons/PersonList.feature create mode 100644 tests/behat/features/Persons/SundaySchoolDashboard.feature create mode 100644 tests/behat/features/Persons/memberdashboard.feature create mode 100644 tests/behat/features/bootstrap/FeatureContext.php create mode 100644 tests/behat/features/login.feature create mode 100644 tests/composer.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 556b7a798d..ba4b1851a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,33 +2,49 @@ ## [Unreleased](https://github.com/ChurchCRM/CRM/tree/HEAD) -[Full Changelog](https://github.com/ChurchCRM/CRM/compare/2.6.0-RC1...HEAD) +[Full Changelog](https://github.com/ChurchCRM/CRM/compare/2.6.0...HEAD) **Implemented enhancements:** -- Redo all photos to be done via CSS/HTML5 Data elements [\#1582](https://github.com/ChurchCRM/CRM/issues/1582) +- New Group settings - Active/Email Export [\#2009](https://github.com/ChurchCRM/CRM/pull/2009) ([DawoudIO](https://github.com/DawoudIO)) +- Lastname validation disable option \#1953 [\#1971](https://github.com/ChurchCRM/CRM/pull/1971) ([simonkp](https://github.com/simonkp)) -**Fixed bugs:** +**Closed issues:** -- Software Registration Country is hard coded [\#1792](https://github.com/ChurchCRM/CRM/issues/1792) +- tes [\#2030](https://github.com/ChurchCRM/CRM/issues/2030) +- Deposit Buttons smashed together [\#2019](https://github.com/ChurchCRM/CRM/issues/2019) +- Deposit Buttons smashed together [\#2018](https://github.com/ChurchCRM/CRM/issues/2018) -**Closed issues:** +**Merged pull requests:** -- review load order of JS and CSS [\#1828](https://github.com/ChurchCRM/CRM/issues/1828) -- GitIgnore BuildConfig.json [\#1720](https://github.com/ChurchCRM/CRM/issues/1720) -- Convert Modals to use BootBox JS library [\#1592](https://github.com/ChurchCRM/CRM/issues/1592) -- Avatar Generator from Name [\#1577](https://github.com/ChurchCRM/CRM/issues/1577) +- Apply fixes from StyleCI [\#2023](https://github.com/ChurchCRM/CRM/pull/2023) ([DawoudIO](https://github.com/DawoudIO)) -## [2.6.0-RC1](https://github.com/ChurchCRM/CRM/tree/2.6.0-RC1) (2017-02-11) -[Full Changelog](https://github.com/ChurchCRM/CRM/compare/2.5.2...2.6.0-RC1) +## [2.6.0](https://github.com/ChurchCRM/CRM/tree/2.6.0) (2017-02-27) +[Full Changelog](https://github.com/ChurchCRM/CRM/compare/2.6.0-RC3...2.6.0) **Implemented enhancements:** +- Render photo files in API request [\#1510](https://github.com/ChurchCRM/CRM/issues/1510) +- Menu: Deposit Tracking is blank [\#1410](https://github.com/ChurchCRM/CRM/issues/1410) +- Deposit Chart on Dashboard [\#1074](https://github.com/ChurchCRM/CRM/issues/1074) +- Bug Tracking [\#574](https://github.com/ChurchCRM/CRM/issues/574) +- Assigned Properties - Not using Datatables [\#1945](https://github.com/ChurchCRM/CRM/issues/1945) +- Volunteer Opportunity Assignemnts [\#1944](https://github.com/ChurchCRM/CRM/issues/1944) - Calendar UX changes [\#1825](https://github.com/ChurchCRM/CRM/issues/1825) +- Family members table in FamilyEditor is not editable in mobile [\#1791](https://github.com/ChurchCRM/CRM/issues/1791) +- Self Registration Page Customization [\#1758](https://github.com/ChurchCRM/CRM/issues/1758) +- Redo all photos to be done via CSS/HTML5 Data elements [\#1582](https://github.com/ChurchCRM/CRM/issues/1582) - Theme: QueryList.php [\#1411](https://github.com/ChurchCRM/CRM/issues/1411) -- theme: Donated Item Editor [\#1405](https://github.com/ChurchCRM/CRM/issues/1405) +- Move Upload / Delete photo to an overlay [\#615](https://github.com/ChurchCRM/CRM/issues/615) +- Add table-responsive to tables to make tables scrollable on mobile\(\#1927\) [\#1986](https://github.com/ChurchCRM/CRM/pull/1986) ([simonkp](https://github.com/simonkp)) +- Self Registration default values Defaults \#1167 [\#1996](https://github.com/ChurchCRM/CRM/pull/1996) ([DawoudIO](https://github.com/DawoudIO)) +- Self Registration Title \#1758 [\#1991](https://github.com/ChurchCRM/CRM/pull/1991) ([bradgearon](https://github.com/bradgearon)) +- resolves ChurchCRM/CRM\#1789 [\#1990](https://github.com/ChurchCRM/CRM/pull/1990) ([bradgearon](https://github.com/bradgearon)) +- volunteer opportunity assignment fixes [\#1961](https://github.com/ChurchCRM/CRM/pull/1961) ([Adnan0703](https://github.com/Adnan0703)) +- person image, family image overlay [\#1935](https://github.com/ChurchCRM/CRM/pull/1935) ([Adnan0703](https://github.com/Adnan0703)) - 2.6.0/rc1 locales [\#1911](https://github.com/ChurchCRM/CRM/pull/1911) ([DawoudIO](https://github.com/DawoudIO)) - Demo data cleanup 2.6.0 rc1 [\#1909](https://github.com/ChurchCRM/CRM/pull/1909) ([DawoudIO](https://github.com/DawoudIO)) +- Updates fixes geopage \#1882 [\#1885](https://github.com/ChurchCRM/CRM/pull/1885) ([simonkp](https://github.com/simonkp)) - 2.6.0 Small fixes [\#1859](https://github.com/ChurchCRM/CRM/pull/1859) ([DawoudIO](https://github.com/DawoudIO)) - closes \#1834 and \#1831 [\#1848](https://github.com/ChurchCRM/CRM/pull/1848) ([crossan007](https://github.com/crossan007)) - Fix Calendar layout \#1825 [\#1826](https://github.com/ChurchCRM/CRM/pull/1826) ([simonkp](https://github.com/simonkp)) @@ -39,21 +55,35 @@ **Fixed bugs:** -- Sunday School Dashboard broken on Demo / Master [\#1894](https://github.com/ChurchCRM/CRM/issues/1894) +- Page load fails after vagrant provision [\#1997](https://github.com/ChurchCRM/CRM/issues/1997) +- Online verify && bEmailSend [\#1789](https://github.com/ChurchCRM/CRM/issues/1789) +- DataTable style [\#1968](https://github.com/ChurchCRM/CRM/issues/1968) +- Unable to create DB Backup [\#1948](https://github.com/ChurchCRM/CRM/issues/1948) +- images are missing on cart view [\#1939](https://github.com/ChurchCRM/CRM/issues/1939) +- Images broken on GroupView page [\#1938](https://github.com/ChurchCRM/CRM/issues/1938) +- Unable to restore any backup -\>2.6.0 [\#1937](https://github.com/ChurchCRM/CRM/issues/1937) +- bHaveXML config is missing [\#1932](https://github.com/ChurchCRM/CRM/issues/1932) +- Copyright dates in footer old \(2015-2016\) [\#1917](https://github.com/ChurchCRM/CRM/issues/1917) +- Bad Merge on FamilyView [\#1914](https://github.com/ChurchCRM/CRM/issues/1914) +- Verify Family is using old photos [\#1908](https://github.com/ChurchCRM/CRM/issues/1908) - Config SQL table should be empty for new install [\#1892](https://github.com/ChurchCRM/CRM/issues/1892) - MomentJS load order incorrect [\#1891](https://github.com/ChurchCRM/CRM/issues/1891) - Sunday School Graphs Broken [\#1890](https://github.com/ChurchCRM/CRM/issues/1890) -- Don't override AdminLTE styles unintentionally [\#1860](https://github.com/ChurchCRM/CRM/issues/1860) - date format localizations default incorrect [\#1834](https://github.com/ChurchCRM/CRM/issues/1834) - Fix Localization of DateTime [\#1831](https://github.com/ChurchCRM/CRM/issues/1831) - Need to refresh system settings page after save [\#1819](https://github.com/ChurchCRM/CRM/issues/1819) - NONE of the dates in the members\' directory report follow the localisation parameters [\#1804](https://github.com/ChurchCRM/CRM/issues/1804) +- Software Registration Country is hard coded [\#1792](https://github.com/ChurchCRM/CRM/issues/1792) +- Family members table in FamilyEditor is not editable in mobile [\#1791](https://github.com/ChurchCRM/CRM/issues/1791) - Deposit Report Signature Lines [\#1718](https://github.com/ChurchCRM/CRM/issues/1718) +- Properties select list items are invisible on PersonView and FamilyView pages [\#1629](https://github.com/ChurchCRM/CRM/issues/1629) - Ministry Group \"add to cart\" does not function [\#1597](https://github.com/ChurchCRM/CRM/issues/1597) - Theme: QueryList.php [\#1411](https://github.com/ChurchCRM/CRM/issues/1411) -- theme: Donated Item Editor [\#1405](https://github.com/ChurchCRM/CRM/issues/1405) - Theme: Checkin.php [\#1403](https://github.com/ChurchCRM/CRM/issues/1403) - Remove Member from Group needs a confirm box [\#1004](https://github.com/ChurchCRM/CRM/issues/1004) +- 2.6.0 1948 fix backup [\#1952](https://github.com/ChurchCRM/CRM/pull/1952) ([crossan007](https://github.com/crossan007)) +- revert $bHaveXML -\> SystemConfig [\#1934](https://github.com/ChurchCRM/CRM/pull/1934) ([DawoudIO](https://github.com/DawoudIO)) +- Family members table fix 1791 [\#1928](https://github.com/ChurchCRM/CRM/pull/1928) ([simonkp](https://github.com/simonkp)) - Fixed Sunday School Dashboard JS error [\#1910](https://github.com/ChurchCRM/CRM/pull/1910) ([DawoudIO](https://github.com/DawoudIO)) - Member Dashboard Chart is missing [\#1907](https://github.com/ChurchCRM/CRM/pull/1907) ([DawoudIO](https://github.com/DawoudIO)) - Sunday School Graphs Broken [\#1906](https://github.com/ChurchCRM/CRM/pull/1906) ([DawoudIO](https://github.com/DawoudIO)) @@ -62,32 +92,116 @@ - closes \#1597 [\#1851](https://github.com/ChurchCRM/CRM/pull/1851) ([crossan007](https://github.com/crossan007)) - closes \\#1834 and \\#1831 [\#1848](https://github.com/ChurchCRM/CRM/pull/1848) ([crossan007](https://github.com/crossan007)) - Directory date localization [\#1809](https://github.com/ChurchCRM/CRM/pull/1809) ([crossan007](https://github.com/crossan007)) +- fixes invisible select list items [\#1704](https://github.com/ChurchCRM/CRM/pull/1704) ([Adnan0703](https://github.com/Adnan0703)) **Closed issues:** -- ChartJS is broken on demo / master [\#1893](https://github.com/ChurchCRM/CRM/issues/1893) -- Move default zoom level for maps using google page to systemconfig. [\#1875](https://github.com/ChurchCRM/CRM/issues/1875) +- Can\'t verify person info via email [\#2003](https://github.com/ChurchCRM/CRM/issues/2003) +- Expanding payments no longer works [\#1719](https://github.com/ChurchCRM/CRM/issues/1719) +- Documentation: Testing ChurchCRM is awkward [\#1082](https://github.com/ChurchCRM/CRM/issues/1082) +- GitHub API Limit Hard Fail [\#983](https://github.com/ChurchCRM/CRM/issues/983) +- Use SystemConfigs for Email Setup [\#1898](https://github.com/ChurchCRM/CRM/issues/1898) +- Updates/fixes to Geopage [\#1882](https://github.com/ChurchCRM/CRM/issues/1882) - update the documentation for new feature activate/deactivate family [\#1874](https://github.com/ChurchCRM/CRM/issues/1874) -- Demographic Stat Keys untranslated in Member Dasboard [\#1869](https://github.com/ChurchCRM/CRM/issues/1869) -- Integrity Check Failed - integrityCheck.json not found [\#1842](https://github.com/ChurchCRM/CRM/issues/1842) +- review load order of JS and CSS [\#1828](https://github.com/ChurchCRM/CRM/issues/1828) - Move config definitions out of DB into code [\#1815](https://github.com/ChurchCRM/CRM/issues/1815) - Calendar missing today, next, previous buttons. [\#1801](https://github.com/ChurchCRM/CRM/issues/1801) -- fam\_datedeactivated field in table Family\_fam seems to be not used. for code cleanup [\#1800](https://github.com/ChurchCRM/CRM/issues/1800) - Still using $sRootPath instead of SystemURLS method. [\#1727](https://github.com/ChurchCRM/CRM/issues/1727) - Families Translation [\#1726](https://github.com/ChurchCRM/CRM/issues/1726) +- GitIgnore BuildConfig.json [\#1720](https://github.com/ChurchCRM/CRM/issues/1720) - Config cfg\_section is only used in a single spot [\#1670](https://github.com/ChurchCRM/CRM/issues/1670) +- Convert Modals to use BootBox JS library [\#1592](https://github.com/ChurchCRM/CRM/issues/1592) +- Avatar Generator from Name [\#1577](https://github.com/ChurchCRM/CRM/issues/1577) +- What is EmailEditor.php [\#1187](https://github.com/ChurchCRM/CRM/issues/1187) +- Self Registration default settings [\#1167](https://github.com/ChurchCRM/CRM/issues/1167) + +**Merged pull requests:** + +- Apply fixes from StyleCI [\#2007](https://github.com/ChurchCRM/CRM/pull/2007) ([DawoudIO](https://github.com/DawoudIO)) +- Apply fixes from StyleCI [\#2006](https://github.com/ChurchCRM/CRM/pull/2006) ([DawoudIO](https://github.com/DawoudIO)) +- 2.6.0 update develop from master [\#2004](https://github.com/ChurchCRM/CRM/pull/2004) ([crossan007](https://github.com/crossan007)) +- Apply fixes from StyleCI [\#1995](https://github.com/ChurchCRM/CRM/pull/1995) ([DawoudIO](https://github.com/DawoudIO)) +- Apply fixes from StyleCI [\#1994](https://github.com/ChurchCRM/CRM/pull/1994) ([DawoudIO](https://github.com/DawoudIO)) +- Apply fixes from StyleCI [\#1985](https://github.com/ChurchCRM/CRM/pull/1985) ([simonkp](https://github.com/simonkp)) +- Apply fixes from StyleCI [\#1980](https://github.com/ChurchCRM/CRM/pull/1980) ([DawoudIO](https://github.com/DawoudIO)) +- Apply fixes from StyleCI [\#1979](https://github.com/ChurchCRM/CRM/pull/1979) ([DawoudIO](https://github.com/DawoudIO)) +- try fixing builds [\#1958](https://github.com/ChurchCRM/CRM/pull/1958) ([crossan007](https://github.com/crossan007)) +- Apply fixes from StyleCI [\#1954](https://github.com/ChurchCRM/CRM/pull/1954) ([DawoudIO](https://github.com/DawoudIO)) +- update release guidelines [\#1950](https://github.com/ChurchCRM/CRM/pull/1950) ([crossan007](https://github.com/crossan007)) +- Add Behat testing [\#2010](https://github.com/ChurchCRM/CRM/pull/2010) ([crossan007](https://github.com/crossan007)) +- fix login on restart vm [\#1999](https://github.com/ChurchCRM/CRM/pull/1999) ([crossan007](https://github.com/crossan007)) +- closes \#1938 and \#1939 [\#1957](https://github.com/ChurchCRM/CRM/pull/1957) ([crossan007](https://github.com/crossan007)) +- fixes \#1937 [\#1949](https://github.com/ChurchCRM/CRM/pull/1949) ([crossan007](https://github.com/crossan007)) +- locale cleanup for RC2 [\#1929](https://github.com/ChurchCRM/CRM/pull/1929) ([DawoudIO](https://github.com/DawoudIO)) +- Review Use of SystemConfigs settings [\#1919](https://github.com/ChurchCRM/CRM/pull/1919) ([DawoudIO](https://github.com/DawoudIO)) +- Updated Copyright Dates [\#1918](https://github.com/ChurchCRM/CRM/pull/1918) ([DawoudIO](https://github.com/DawoudIO)) +- closes \#1914 and \#1908 [\#1916](https://github.com/ChurchCRM/CRM/pull/1916) ([crossan007](https://github.com/crossan007)) +- Last 2.6.0 Develop to Master Merge [\#1895](https://github.com/ChurchCRM/CRM/pull/1895) ([DawoudIO](https://github.com/DawoudIO)) +- Deactivate doc \#1874 [\#1878](https://github.com/ChurchCRM/CRM/pull/1878) ([simonkp](https://github.com/simonkp)) +- replaced $sRootPath with SystemURLs::getRootPath\(\) [\#1840](https://github.com/ChurchCRM/CRM/pull/1840) ([DawoudIO](https://github.com/DawoudIO)) +- using fam\_datedeactivated fix-\#1833 [\#1835](https://github.com/ChurchCRM/CRM/pull/1835) ([simonkp](https://github.com/simonkp)) +- update to latest npm/grunt versions [\#1824](https://github.com/ChurchCRM/CRM/pull/1824) ([DawoudIO](https://github.com/DawoudIO)) +- 2.5.1/2 to develop [\#1823](https://github.com/ChurchCRM/CRM/pull/1823) ([DawoudIO](https://github.com/DawoudIO)) +- use bootbox for confirm dialogs [\#1593](https://github.com/ChurchCRM/CRM/pull/1593) ([crossan007](https://github.com/crossan007)) +- Person/Family Photo live webcam capture [\#1463](https://github.com/ChurchCRM/CRM/pull/1463) ([crossan007](https://github.com/crossan007)) + +## [2.6.0-RC3](https://github.com/ChurchCRM/CRM/tree/2.6.0-RC3) (2017-02-18) +[Full Changelog](https://github.com/ChurchCRM/CRM/compare/2.6.0-RC2...2.6.0-RC3) + +**Implemented enhancements:** + +- using select2 for country and state dropdowns [\#1926](https://github.com/ChurchCRM/CRM/pull/1926) ([Adnan0703](https://github.com/Adnan0703)) + +**Fixed bugs:** + +- BUG: System Settings Titles untranslated in 2.6.0 - RC-1 [\#1921](https://github.com/ChurchCRM/CRM/issues/1921) + +**Merged pull requests:** + +- Fix \#1921 and others untranslated terms [\#1923](https://github.com/ChurchCRM/CRM/pull/1923) ([saulowulhynek](https://github.com/saulowulhynek)) +- 2.6.0 711 dates [\#1857](https://github.com/ChurchCRM/CRM/pull/1857) ([crossan007](https://github.com/crossan007)) + +## [2.6.0-RC2](https://github.com/ChurchCRM/CRM/tree/2.6.0-RC2) (2017-02-17) +[Full Changelog](https://github.com/ChurchCRM/CRM/compare/2.6.0-RC1...2.6.0-RC2) + +**Closed issues:** + +- USe System Settings for Localization [\#1903](https://github.com/ChurchCRM/CRM/issues/1903) +- Use SystemConfigs for Map Settings [\#1901](https://github.com/ChurchCRM/CRM/issues/1901) + +**Merged pull requests:** + +- Apply fixes from StyleCI [\#1922](https://github.com/ChurchCRM/CRM/pull/1922) ([DawoudIO](https://github.com/DawoudIO)) + +## [2.6.0-RC1](https://github.com/ChurchCRM/CRM/tree/2.6.0-RC1) (2017-02-11) +[Full Changelog](https://github.com/ChurchCRM/CRM/compare/2.5.2...2.6.0-RC1) + +**Implemented enhancements:** + +- theme: Donated Item Editor [\#1405](https://github.com/ChurchCRM/CRM/issues/1405) + +**Fixed bugs:** + +- Sunday School Dashboard broken on Demo / Master [\#1894](https://github.com/ChurchCRM/CRM/issues/1894) +- ChartJS is broken on demo / master [\#1893](https://github.com/ChurchCRM/CRM/issues/1893) +- Don't override AdminLTE styles unintentionally [\#1860](https://github.com/ChurchCRM/CRM/issues/1860) +- theme: Donated Item Editor [\#1405](https://github.com/ChurchCRM/CRM/issues/1405) + +**Closed issues:** + +- Move default zoom level for maps using google page to systemconfig. [\#1875](https://github.com/ChurchCRM/CRM/issues/1875) +- Demographic Stat Keys untranslated in Member Dasboard [\#1869](https://github.com/ChurchCRM/CRM/issues/1869) +- Integrity Check Failed - integrityCheck.json not found [\#1842](https://github.com/ChurchCRM/CRM/issues/1842) +- fam\_datedeactivated field in table Family\_fam seems to be not used. for code cleanup [\#1800](https://github.com/ChurchCRM/CRM/issues/1800) - Ensure Builds are released from Tags [\#1630](https://github.com/ChurchCRM/CRM/issues/1630) - wrap composer with grunt [\#1352](https://github.com/ChurchCRM/CRM/issues/1352) -- What is EmailEditor.php [\#1187](https://github.com/ChurchCRM/CRM/issues/1187) - create "forgot password" [\#58](https://github.com/ChurchCRM/CRM/issues/58) **Merged pull requests:** -- Last 2.6.0 Develop to Master Merge [\#1895](https://github.com/ChurchCRM/CRM/pull/1895) ([DawoudIO](https://github.com/DawoudIO)) - Dev 2 mater 2 11 17 [\#1887](https://github.com/ChurchCRM/CRM/pull/1887) ([DawoudIO](https://github.com/DawoudIO)) - 2.6.0 master dev [\#1884](https://github.com/ChurchCRM/CRM/pull/1884) ([DawoudIO](https://github.com/DawoudIO)) - Apply fixes from StyleCI [\#1883](https://github.com/ChurchCRM/CRM/pull/1883) ([DawoudIO](https://github.com/DawoudIO)) -- Deactivate doc \#1874 [\#1878](https://github.com/ChurchCRM/CRM/pull/1878) ([simonkp](https://github.com/simonkp)) - Fix \#1869 [\#1870](https://github.com/ChurchCRM/CRM/pull/1870) ([saulowulhynek](https://github.com/saulowulhynek)) - Apply fixes from StyleCI [\#1866](https://github.com/ChurchCRM/CRM/pull/1866) ([DawoudIO](https://github.com/DawoudIO)) - Apply fixes from StyleCI [\#1856](https://github.com/ChurchCRM/CRM/pull/1856) ([DawoudIO](https://github.com/DawoudIO)) @@ -95,13 +209,7 @@ - Apply fixes from StyleCI [\#1850](https://github.com/ChurchCRM/CRM/pull/1850) ([DawoudIO](https://github.com/DawoudIO)) - Apply fixes from StyleCI [\#1847](https://github.com/ChurchCRM/CRM/pull/1847) ([DawoudIO](https://github.com/DawoudIO)) - Apply fixes from StyleCI [\#1841](https://github.com/ChurchCRM/CRM/pull/1841) ([DawoudIO](https://github.com/DawoudIO)) -- replaced $sRootPath with SystemURLs::getRootPath\(\) [\#1840](https://github.com/ChurchCRM/CRM/pull/1840) ([DawoudIO](https://github.com/DawoudIO)) -- using fam\_datedeactivated fix-\#1833 [\#1835](https://github.com/ChurchCRM/CRM/pull/1835) ([simonkp](https://github.com/simonkp)) - Apply fixes from StyleCI [\#1832](https://github.com/ChurchCRM/CRM/pull/1832) ([DawoudIO](https://github.com/DawoudIO)) -- update to latest npm/grunt versions [\#1824](https://github.com/ChurchCRM/CRM/pull/1824) ([DawoudIO](https://github.com/DawoudIO)) -- 2.5.1/2 to develop [\#1823](https://github.com/ChurchCRM/CRM/pull/1823) ([DawoudIO](https://github.com/DawoudIO)) -- use bootbox for confirm dialogs [\#1593](https://github.com/ChurchCRM/CRM/pull/1593) ([crossan007](https://github.com/crossan007)) -- Person/Family Photo live webcam capture [\#1463](https://github.com/ChurchCRM/CRM/pull/1463) ([crossan007](https://github.com/crossan007)) ## [2.5.2](https://github.com/ChurchCRM/CRM/tree/2.5.2) (2017-01-28) [Full Changelog](https://github.com/ChurchCRM/CRM/compare/2.5.1...2.5.2) @@ -302,7 +410,6 @@ **Fixed bugs:** - Volunteer Opportunities list is invisible [\#1660](https://github.com/ChurchCRM/CRM/issues/1660) -- fixes invisible select list items [\#1704](https://github.com/ChurchCRM/CRM/pull/1704) ([Adnan0703](https://github.com/Adnan0703)) **Closed issues:** @@ -2150,4 +2257,4 @@ -\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* \ No newline at end of file +\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* diff --git a/demo/ChurchCRM-Database.sql b/demo/ChurchCRM-Database.sql index b539cfacbf..0c17b49760 100644 --- a/demo/ChurchCRM-Database.sql +++ b/demo/ChurchCRM-Database.sql @@ -3,7 +3,7 @@ -- Host: localhost Database: churchcrm -- ------------------------------------------------------ -- Server version 5.5.46-0ubuntu0.14.04.2 --- Date: Sun, 15 Jan 2017 19:40:49 -0500 +-- Date: Sat, 25 Feb 2017 09:54:45 -0500 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; @@ -130,7 +130,7 @@ CREATE TABLE `config_cfg` ( LOCK TABLES `config_cfg` WRITE; /*!40000 ALTER TABLE `config_cfg` DISABLE KEYS */; SET autocommit=0; -INSERT INTO `config_cfg` VALUES (6,'sDirRoleHead','1'),(10,'aFinanceQueries','28,30,31,32'),(27,'sSMTPHost','127.0.0.1:1025'),(48,'bHideFriendDate',''),(49,'bHideFamilyNewsletter',''),(50,'bHideWeddingDate',''),(51,'bHideLatLon',''),(52,'bUseDonationEnvelopes',''),(58,'bUseScannedChecks',''),(65,'sTimeZone','America/Detroit'),(67,'cfgForceUppercaseZip',''),(72,'bEnableNonDeductible',''),(80,'sEnableSelfRegistration','1'),(999,'bRegistered',''),(1003,'sChurchName','Demo Church'),(1004,'sChurchAddress','123 Main St'),(1005,'sChurchCity','Kansas City,'),(1006,'sChurchState','MO'),(1007,'sChurchZip','64105'),(1008,'sChurchPhone','555 123 4234'),(1009,'sChurchEmail','demo@churchcrm.io'),(1010,'sHomeAreaCode','555'),(1014,'sTaxSigner','Elder Joe Smith'),(1016,'sReminderSigner','Elder Joe Smith'),(1025,'sConfirmSigner','Elder Joe Smith'),(1027,'sPledgeSummary2','as of'),(1028,'sDirectoryDisclaimer1','Every effort was made to insure the accuracy of this directory. If there are any errors or omissions, please contact the church office.This directory is for the use of the people of'),(1034,'sChurchChkAcctNum','111111111'),(1035,'sEnableGravatarPhotos',''),(1036,'sEnableExternalBackupTarget',''),(1037,'sExternalBackupType','WebDAV'),(1046,'sLastIntegrityCheckTimeStamp','2017-02-11 13:15:26'),(1047,'sChurchCountry','United States'); +INSERT INTO `config_cfg` VALUES (23,'sDefaultCountry','United States'),(27,'sSMTPHost','127.0.0.1:1025'),(10,'aFinanceQueries','28,30,31,32'),(28,'sSMTPAuth',''),(48,'bHideFriendDate',''),(49,'bHideFamilyNewsletter',''),(50,'bHideWeddingDate',''),(51,'bHideLatLon',''),(52,'bUseDonationEnvelopes',''),(58,'bUseScannedChecks',''),(65,'sTimeZone','America/Detroit'),(67,'cfgForceUppercaseZip',''),(72,'bEnableNonDeductible',''),(80,'sEnableSelfRegistration','1'),(999,'bRegistered',''),(1003,'sChurchName','Main St. Cathedral'),(1004,'sChurchAddress','123 Main St'),(1005,'sChurchCity','Kansas City'),(1006,'sChurchState','MO'),(1007,'sChurchZip','64106'),(1008,'sChurchPhone','555 123 4234'),(1009,'sChurchEmail','demo@churchcrm.io'),(1010,'sHomeAreaCode','555'),(1014,'sTaxSigner','Elder Joe Smith'),(1016,'sReminderSigner','Elder Joe Smith'),(1025,'sConfirmSigner','Elder Joe Smith'),(1027,'sPledgeSummary2','as of'),(1028,'sDirectoryDisclaimer1','Every effort was made to insure the accuracy of this directory. If there are any errors or omissions, please contact the church office.This directory is for the use of the people of'),(1034,'sChurchChkAcctNum','111111111'),(1035,'sEnableGravatarPhotos','1'),(1036,'sEnableExternalBackupTarget',''),(1037,'sExternalBackupType','WebDAV'),(1046,'sLastIntegrityCheckTimeStamp','2017-02-11 13:15:26'),(1047,'sChurchCountry','United States'),(21,'sDefaultCity','Kansas City'),(22,'sDefaultState','MO'); /*!40000 ALTER TABLE `config_cfg` ENABLE KEYS */; UNLOCK TABLES; COMMIT; @@ -1520,4 +1520,4 @@ COMMIT; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on: Sat, 11 Feb 2017 13:16:32 -0500 +-- Dump completed on: Sat, 25 Feb 2017 09:54:45 -0500 diff --git a/docs/Development/Contributing.md b/docs/Development/Contributing.md index e39c16c23c..779f9db8a8 100644 --- a/docs/Development/Contributing.md +++ b/docs/Development/Contributing.md @@ -26,6 +26,12 @@ We love to hear ideas from other ChurchInfo and ChurchCRM users! It's what make * "Develop" is less strict. If code is not perfect, but provides adequate functionality, it may be merged into develop. All known bugs are should have new issues opened so that the issues are tracked. * Features should be developed in a separate branch named accordingly +## Testing + + All PRs require appropriate tests of each piece of code that is modified. PRs lacking proper tests will not be merged. Please see our [testing documentation](http://docs.churchcrm.io/en/develop/Development/Tests/) + + *We are happy to help you write tests, but tests are required.* + ## Submitting Changes * Push your changes to a topic branch in your fork of the repository. @@ -42,6 +48,9 @@ Please familiarize yourself with the [documentation](http://docs.churchcrm.io/en * If you're changing anything in the API, please update the API documentation. * If you are changing something that affects the user interface, please update the appropriate documentation and help files to ensure continued user friendliness of the application. + + + ## Functional References ### Environment Variables (dto classes) diff --git a/docs/Development/Release.md b/docs/Development/Release.md index a9216bba88..11df35b7c1 100644 --- a/docs/Development/Release.md +++ b/docs/Development/Release.md @@ -1,8 +1,10 @@ # Release Rules -1. ChurchCRM Major (0.x.x) and Minor (x.0.x) builds will only be released on Monday nights. +1. ChurchCRM Major (0.x.x) and Minor (x.0.x) releases will only occur on Monday, Tuesday, or Wednesday nights. - 1. If a Monday night build is blocked by a P0 bug, then that major or minor release will be delayed until the following Monday. + 1. If the release is blocked by a P0 bug, then the release will be delayed until the next release window. + + 2. Release Candidates will be made available one week before the targeted release date. 2. ChurchCRM patch builds (x.x.0) may be released at any time, upon validation that the patch: diff --git a/docs/Development/Testing.md b/docs/Development/Testing.md new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/docs/Development/Testing.md @@ -0,0 +1 @@ + diff --git a/docs/Development/Tests.md b/docs/Development/Tests.md new file mode 100644 index 0000000000..f09f9bdf46 --- /dev/null +++ b/docs/Development/Tests.md @@ -0,0 +1,7 @@ +#Tests + +## Page Tests +ChurchCRM uses [Behat](http://behat.org/en/latest/quick_start.html) for page load testing [Behavior Driven Development](https://en.wikipedia.org/wiki/Behavior-driven_development). + +## Unit Tests +Unit testing is not yet fully implemented. \ No newline at end of file diff --git a/package.json b/package.json index 2831b488c9..a28de2b35b 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "ionicons": "2.0.1", "font-awesome": "4.7.0", "fullcalendar": "3.0.1", - "jquery-photo-uploader": "1.0.9", + "jquery-photo-uploader": "1.0.11", "initial-js": "0.3.4", "bootstrap-toggle": "2.2.2" }, @@ -49,6 +49,8 @@ "changelogs": "scripts/gen-changelogs.sh", "orm-gen": "src/vendor/propel/propel/bin/propel --config-dir=propel model:build && cd src/ && composer dump-autoload", "composer-install": "cd src/ && composer install", - "composer-update": " cd src/ && composer update" + "composer-update": " cd src/ && composer update", + "tests-install": "cd tests/ && composer install", + "test": "cd tests/behat/ && ../vendor/bin/behat" } } diff --git a/src/ChurchCRM/Service/DashboardService.php b/src/ChurchCRM/Service/DashboardService.php index fd7a37e83c..120d99e0e7 100644 --- a/src/ChurchCRM/Service/DashboardService.php +++ b/src/ChurchCRM/Service/DashboardService.php @@ -34,7 +34,7 @@ public function getPersonStats() $data = []; $sSQL = 'select lst_OptionName as Classification, count(*) as count from person_per INNER JOIN list_lst ON per_cls_ID = lst_OptionID - INNER JOIN family_fam ON family_fam.fam_ID = person_per.per_fam_ID + LEFT JOIN family_fam ON family_fam.fam_ID = person_per.per_fam_ID WHERE lst_ID =1 and family_fam.fam_DateDeactivated is null group by per_cls_ID, lst_OptionName order by count desc;'; $rsClassification = RunQuery($sSQL); @@ -49,7 +49,7 @@ public function getDemographic() { $stats = []; $sSQL = 'select count(*) as numb, per_Gender, per_fmr_ID - from person_per JOIN family_fam ON family_fam.fam_ID = person_per.per_fam_ID + from person_per LEFT JOIN family_fam ON family_fam.fam_ID = person_per.per_fam_ID where family_fam.fam_DateDeactivated is null group by per_Gender, per_fmr_ID order by per_fmr_ID;'; $rsGenderAndRole = RunQuery($sSQL); @@ -85,7 +85,12 @@ public function getDemographic() $role = gettext('Other'); } - $stats["$role - $gender"] = $row['numb']; + array_push($stats, array( + "key" => "$role - $gender", + "value" => $row['numb'], + "gender" => $row['per_Gender'], + "role" => $row['per_fmr_ID']) + ); } return $stats; @@ -96,7 +101,12 @@ public function getGroupStats() $sSQL = 'select (select count(*) from group_grp) as Groups, (select count(*) from group_grp where grp_Type = 4 ) as SundaySchoolClasses, - (select count(*) from person_per,group_grp grp, person2group2role_p2g2r person_grp, family_fam where fam_ID =per_fam_ID and fam_DateDeactivated is null and person_grp.p2g2r_rle_ID = 2 and grp_Type = 4 and grp.grp_ID = person_grp.p2g2r_grp_ID and person_grp.p2g2r_per_ID = per_ID) as SundaySchoolKidsCount + (Select count(*) from person_per + INNER JOIN person2group2role_p2g2r ON p2g2r_per_ID = per_ID + INNER JOIN group_grp ON grp_ID = p2g2r_grp_ID + LEFT JOIN family_fam ON fam_ID = per_fam_ID + where fam_DateDeactivated is null and + p2g2r_rle_ID = 2 and grp_Type = 4) as SundaySchoolKidsCount from dual ; '; $rsQuickStat = RunQuery($sSQL); diff --git a/src/FamilyView.php b/src/FamilyView.php index 3428d797c0..e51b42a000 100644 --- a/src/FamilyView.php +++ b/src/FamilyView.php @@ -186,11 +186,14 @@
- +
+ "> + +   ">   @@ -909,6 +912,7 @@ class="fa fa-cart-plus">
+ - +
@@ -312,7 +318,6 @@ class="fa fa-map-pin"> diff --git a/src/PersonView.php b/src/PersonView.php index e5d001e70e..f882189124 100644 --- a/src/PersonView.php +++ b/src/PersonView.php @@ -184,10 +184,14 @@
- +
+ "> + +   ">   @@ -928,6 +932,7 @@ class="form-control select2" style="width:100%" data-placeholder="Select ...">
+ visit('/Login'); + $this->fillField('UserBox', $username); + $this->fillField('PasswordBox', $password); + $this->pressButton('Login'); + } +} diff --git a/tests/behat/features/login.feature b/tests/behat/features/login.feature new file mode 100644 index 0000000000..8aa4c59d0f --- /dev/null +++ b/tests/behat/features/login.feature @@ -0,0 +1,12 @@ +Feature: Login + In order to login to ChurchCRM + As a User + I am able to authenticate with a username and a password + + Scenario: Login to a system + Given I am on the homepage + Then I should see "Please Login" + When I fill in "UserBox" with "admin" + When I fill in "PasswordBox" with "changeme" + And I press "Login" + Then I should see "Welcome to ChurchCRM" \ No newline at end of file diff --git a/tests/composer.json b/tests/composer.json new file mode 100644 index 0000000000..22b7272794 --- /dev/null +++ b/tests/composer.json @@ -0,0 +1,10 @@ +{ + "name": "ChurchCRM/CRM-Tests", + "require":{ + "behat/symfony2-extension": "*", + "behat/mink-goutte-driver": "*", + "behat/mink-selenium2-driver": "1.2.*@dev", + "behat/mink-extension": "*", + "behat/mink-browserkit-driver": "*" + } +} diff --git a/vagrant/bootstrap.sh b/vagrant/bootstrap.sh index 03533a1a02..8b269d9c14 100644 --- a/vagrant/bootstrap.sh +++ b/vagrant/bootstrap.sh @@ -92,6 +92,15 @@ echo "==========================================================" sudo pkill mailcatcher mailcatcher --ip 0.0.0.0 +echo "==========================================================" +echo "==================== Setup Tests ======================" +echo "==========================================================" + +npm run tests-install +#sudo apt-get install firefox xvfb openjdk-7-jre-headless +#mkdir /usr/lib/selenium +#wget --directory /usr/lib/selenium http://selenium-release.storage.googleapis.com/2.40/selenium-server-standalone-2.40.0.jar + echo "==========================================================" echo "==========================================================" echo "=== .o88b. db db db db d8888b. .o88b. db db ==="