From dda467828c72e30ea69dea3a2f7002692d475544 Mon Sep 17 00:00:00 2001 From: Jamie Date: Sun, 4 Mar 2018 20:43:51 +0000 Subject: [PATCH] Merge DNC into Master (#2034) * Fix the issue where the user could not login if the plex account only allows email logins * Fixed #2019 * Added Mass Email functionality (#2027) * !wip * !wip * !qwip * !wip * Mass email is done * Update README.md * /bin/bash: wip: command not found --- CHANGELOG.md | 3622 +---------------- README.md | 3 +- .../Authentication/OmbiUserManager.cs | 3 +- src/Ombi.Core/IMassEmailSender.cs | 10 + src/Ombi.Core/Models/MassEmailModel.cs | 40 + src/Ombi.Core/Senders/MassEmailSender.cs | 95 + src/Ombi.DependencyInjection/IocExtensions.cs | 1 + .../NotificationMessageCurlys.cs | 7 +- .../Jobs/Plex/PlexContentSync.cs | 20 +- src/Ombi.Store/Entities/OmbiUser.cs | 3 + src/Ombi/ClientApp/app/interfaces/IUser.ts | 11 + src/Ombi/ClientApp/app/services/index.ts | 1 + .../services/notificationMessage.service.ts | 19 + .../massemail/massemail.component.html | 50 + .../settings/massemail/massemail.component.ts | 75 + .../ClientApp/app/settings/settings.module.ts | 7 +- .../app/settings/settingsmenu.component.html | 1 + .../Controllers/NotificationsController.cs | 55 + src/Ombi/Controllers/TokenController.cs | 2 + 19 files changed, 404 insertions(+), 3621 deletions(-) create mode 100644 src/Ombi.Core/IMassEmailSender.cs create mode 100644 src/Ombi.Core/Models/MassEmailModel.cs create mode 100644 src/Ombi.Core/Senders/MassEmailSender.cs create mode 100644 src/Ombi/ClientApp/app/services/notificationMessage.service.ts create mode 100644 src/Ombi/ClientApp/app/settings/massemail/massemail.component.html create mode 100644 src/Ombi/ClientApp/app/settings/massemail/massemail.component.ts create mode 100644 src/Ombi/Controllers/NotificationsController.cs diff --git a/CHANGELOG.md b/CHANGELOG.md index 316404100..1ff81b505 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ ### **New Features** +- Update README.md. [Jamie] + +- Added Mass Email functionality (#2027) [Jamie] + +- Update README.md. [Jamie] + - Added a similar button to the movie searches. Makes movie discoverablility easier. [tidusjar] - Update README.md. [Jamie] @@ -346,6 +352,12 @@ ### **Fixes** +- Fixed #2019. [tidusjar] + +- Fix the issue where the user could not login if the plex account only allows email logins. [tidusjar] + +- New translations en.json (Norwegian) (#2020) [Jamie] + - Publish 32bit build of windows. [tidusjar] - Fixing incorrect filter translation targets (#1987) [Jono Cairns] @@ -600,3613 +612,3 @@ - Switch to use a single HTTPClient rather than a new one every request !dev. [tidusjar] -- Fix non-admin rights (#1820) [Rob Gökemeijer] - -- Fix duplicated "Requests" element ID on new Issues link (#1817) [Shoghi Cervantes] - -- Add the Issue Reporting functionality (#1811) [Jamie] - -- Removed the forum. [tidusjar] - -- #1659 Made the option to ignore notifcations for auto approve. [Jamie] - -- New Crowdin translations (#1806) [Jamie] - -- Fixed a launch issue. [Jamie] - -- Allow users to login without a password. [Jamie] - -- Fixed the emby notifications not being sent. [Jamie] - -- #1802 and other small fixes. [tidusjar] - -- So... This sickrage thing should work now. [tidusjar] - -- Fixed emby connect login issue. [tidusjar] - -- Stop making unnecessary calls to the update service. [Jamie] - -- Fixed a bug where it blocked users with 0 limits. [Jamie] - -- Done #1788. [tidusjar] - -- More logging. [Jamie] - -- Fixed #1738. [Jamie] - -- Fixed build. [Jamie] - -- Fixed the issue where notifications were not sendind unless we restarted #1732. [tidusjar] - -- Fixed an issue with a trailing space in the subdir. [tidusjar] - -- Fixed #1774. [Jamie] - -- #1773. [Jamie] - -- Roll back rxjs (#1778) [bazhip] - -- Fixed build. [Jamie] - -- Fixed #1763. [Jamie] - -- Fix "content length error" on preview gif (#1768) [OoGuru] - -- New preview gif for Ombi V3 README (#1767) [OoGuru] - -- Remove debug code. [tidusjar] - -- Fix #1762. [tidusjar] - -- Fixed the preset themes not loading. [tidusjar] - -- Fixed #1760 and improvements on the auto updater. We may now support windows services... #1460. [Jamie] - -- Fixed #1754. [Jamie] - -- Hide the subject when it's not being used. [Jamie] - -- Error handling #1749. [Jamie] - -- New Crowdin translations (#1741) [Jamie] - -- #1732 #1722 #1711. [Jamie] - -- Fixed an issue with switching the preset themes. [Jamie] - -- Fixed #1743. [Jamie] - -- Fixed #1742. [tidusjar] - -- Fix #1742. [tidusjar] - -- Fixed landing page. [Jamie] - -- Fixed. [Jamie] - -- Translated the Requests page and fixed #1740. [Jamie] - -- Fix crash. [Jamie] - -- Sickrage done. Ish... So i've written all the code by looking at the API. the key there is i've looked at the api. I have not tested anything so expect this to fail. [Jamie] - -- SickRage settings UI. [Jamie] - -- Fixed #1721. [tidusjar] - -- Fixed the preset themes issue. [tidusjar] - -- New Crowdin translations (#1654) [Jamie] - -- Fix build. [Jamie] - -- #1460. [Jamie] - -- Fixed tests. [Jamie] - -- Return css as MIME text/css. [Jamie] - -- More added for the preset themes. [Jamie] - -- Moved around the custom styles. [Jamie] - -- More renames. [Jamie] - -- Renames. [Jamie] - -- Load the first 100 requests. [Jamie] - -- Reduce the memory consumption #1720. [Jamie] - -- Moved the schedules jobs into it's own database, see if it helps with the db locking #1720. [Jamie] - -- Fixed #1712. [tidusjar] - -- Potential fix for #1702. [tidusjar] - -- Fixed #1708. [tidusjar] - -- Fixed #1677. [tidusjar] - -- Fixed build. [tidusjar] - -- Potential fix for the DB locking issue #1720. [tidusjar] - -- #1698. [Jamie] - -- Fixed #1705. [tidusjar] - -- Fixed #1703. [tidusjar] - -- Finished adding preset themes. [Jamie] - -- Fixed #17000. [Jamie] - -- Remove the themes because waiting for a merge from lerams project. [Jamie] - -- Finsihed adding preset themes. [Jamie] - -- Fixed #1677. [Jamie] - -- Temp fix for #1683. [Jamie] - -- Fixed #1685. [Jamie] - -- Lossless Compression of images saves 83 KB (#1676) [Fish2] - -- Fixed the availability checker. [tidusjar] - -- Fixed build. [tidusjar] - -- Push out missing migration. [tidusjar] - -- Potential fix for #1674. [tidusjar] - -- Fixed an issue with the caching. [tidusjar] - -- Fixed telegram #1667. [tidusjar] - -- Fixed #1663. [tidusjar] - -- Should fix #1663. [tidusjar] - -- Stop logged in users going to the login page. [Jamie] - -- Fixed it not updating. Styles should be good now. [Jamie] - -- Re did some of the styling on the movie search page, let me know your thoughts. [Jamie] - -- Fixed #1657. [Jamie] - -- Fixed #1655. [Jamie] - -- Removed authentication resul. [Jamie] - -- New Crowdin translations (#1651) [Jamie] - -- New Crowdin translations (#1648) [Jamie] - -- New Crowdin translations (#1638) [Jamie] - -- Fixed #1644. [Jamie] - -- Moar logs #1643. [tidusjar] - -- Fixed #1640. [tidusjar] - -- Fixed the null ref exception #1460. [tidusjar] - -- Fixed landing page. [TidusJar] - -- Fixed #1641. [TidusJar] - -- Fixed #1641. [TidusJar] - -- New Crowdin translations (#1635) [Jamie] - -- Fixed #1631 and improved translation support Included startup args for the auto updater #1460 Mark TV requests as available #1632. [tidusjar] - -- Remove 32bit. [Jamie] - -- More 32bit support. [Jamie] - -- We now show "Available" for tv shows that is fully available #1602. [tidusjar] - -- Fixed the issue where we have got an episode but not the related series. #1620. [tidusjar] - -- Fixed the dropdown not working on iOS in the settings #1615. [tidusjar] - -- Fixed sonarr not monitoring the latest season #1534. [tidusjar] - -- Fixed the issue with firefox #1544. [tidusjar] - -- Fixed discord #1623. [tidusjar] - -- Add browserstack thanks (#1627) [Matt Jeanes] - -- Fix the exception #1613. [Jamie] - -- Found where we potentially are setting a new poster path, looks like the entity was being modified and being set as Tracked by entity framework, so the next time we called SaveChangesAsync() it would save the new posterpath on the entity. [Jamie] - -- Small modifications. [Jamie] - -- Fixed #1622. [Jamie] - -- Various improvements to webpack/gulp/vscode support (#1617) [Matt Jeanes] - -- Episodes in requests are now in order #1597 (#1614) [masterhuck] - -- Fixed a null reference issue in the Plex Content Cacher. [Jamie.Rees] - -- Fixed #1610. [tidusjar] - -- Really fixed the build this time. [tidusjar] - -- Fixed build. [tidusjar] - -- Made the updater work again #1460. [tidusjar] - -- Adding logging into the auto updater and also added more logging around the create inital user for #1604. [tidusjar] - -- Fixed the issue where we did not check if they are already in sonarr when choosing certain options #1540. [tidusjar] - -- We can now delete tv child requests and the parent will get remove #1603. [tidusjar] - -- Finished the api changes requested #1601. [tidusjar] - -- Fixed the Hangfire server timeout issue #1605. [tidusjar] - -- Fixed notifications not sending #1594. [tidusjar] - -- Fixed #1583 you can now delete users. Fixed the issue where the requested by was not showing. Finally fixed the broken poster paths. [tidusjar] - -- Fixed the issue where movie requests were no longer being requested. [tidusjar] - -- Started adding some more unit tests #1596. [Jamie.Rees] - -- #1588 When we make changes to any requests that we can trigger a notification, always send it to all notification agents, even if the user wont recieve it. [Jamie.Rees] - -- Add a message when email notifications are not setup when requesting a password reset. #1590. [Jamie.Rees] - -- Removed text that we no longer need. [Jamie.Rees] - -- Fixed #1574. [Jamie.Rees] - -- #1460 looks like the permissions issue has been resolved. Just need to make sure the Ombi process is terminated. [Jamie.Rees] - -- Put back the old download code. [Jamie.Rees] - -- Test. [Jamie] - -- Build sln. [Jamie.Rees] - -- Order by the username #1581. [Jamie.Rees] - -- Remove sonarr episodes from the cache table. [Jamie.Rees] - -- Couchpotato finished. [tidusjar] - -- Disable run import button if no import options are selected. [tidusjar] - -- Fixed #1574. [tidusjar] - -- Fixed build. [tidusjar] - -- Fixes the issue with non windows systems unable to unzip the tarball #1460. [tidusjar] - -- Finished the couchpotato settings. [tidusjar] - -- Fixed build. [tidusjar] - -- Fixed #1570 #1571. [tidusjar] - -- Fixed #1547. [tidusjar] - -- Should fix #1538. [tidusjar] - -- Fixed #1553. [tidusjar] - -- Fixed #1546. [tidusjar] - -- Fixed #1543. [tidusjar] - -- Fixes an issue with Movie caching not working on develop branch of Radarr (#1567) [Jeffrey Peters] - -- This adds two fields to the Email Notifications settings page. It allows for the disabling of TLS/SSL as well as the ability to disable certificate validation when sending notification emails. (#1552) [Jeffrey Peters] - -- Fixed typo (#1551) [Codehhh] - -- Use Sqlite storage for Hangfire. [tidusjar] - -- Fixed the overrides #1539 also display it on screen now too. [tidusjar] - -- Fixed #1542 also added VSCode support. [tidusjar] - -- Fixed some cosmetic issues #865. [Jamie.Rees] - -- Fixed #1531. [Jamie.Rees] - -- Small fixes #865. [Jamie.Rees] - -- Some errors fixed and some ui improvements #865. [tidusjar] - -- Auto-scale large images down to container size (#1529) [Avi] - -- Fix logo on login page. (#1528) [Avi] - -- Another potential issue? :/ [tidusjar] - -- Real fix. [tidusjar] - -- #1513 Added storage path. [Jamie.Rees] - -- Fixed the discord issue relating to images #1513. [Jamie.Rees] - -- Fixed the issue sending movies to Radarr #1513 Fixed typo #1524. [Jamie.Rees] - -- Fixed logo on reset password pages fixed the run importer button on the user management settings. [Jamie.Rees] - -- Fixed crash/error #865. [tidusjar] - -- #1513 fixed the landing page and also the reverse proxy images. [tidusjar] - -- #1513 correctly set the child requests as approved. [tidusjar] - -- Fixed an issue that potentially causes as issue when siging into plex #865. [tidusjar] - -- Remove dev branch. [PotatoQuality] - -- Prepare readme for upcoming beta. [PotatoQuality] - -- #1513 partially fixed a bug. [tidusjar] - -- Fixed the exception. [tidusjar] - -- Fixed the application url not saving #1513. [tidusjar] - -- Fixed liniting. [tidusjar] - -- REVERSE PROXY BITCH! #1513. [tidusjar] - -- Fixed a bug where we were marking the wrong episodes as available #1513 #865. [Jamie.Rees] - -- Fixed an issue where we messed up the pages and routing. [Jamie.Rees] - -- Emby user importer is now therer! #1456. [tidusjar] - -- #1513 Added the update available icon. [tidusjar] - -- Fixed the issue of it showing as not requested when we find it in Radarr. Made the tv shows match a bit more to the movie requests Added the ability for plex and emby users to login Improved the welcome email, will only show for users that have not logged in Fixed discord notifications the about screen now checks if there is an update ready #1513. [tidusjar] - -- Support email addresses as usernames #1513. [Jamie.Rees] - -- Link to issue treath. [PotatoQuality] - -- Give correct feedback when testing email notifications #1513. [Jamie.Rees] - -- Report issue removed and the deny dropdown removed #1513. [Jamie.Rees] - -- #1513 removed the discord text when testing pushbullet. [Jamie.Rees] - -- Made a lot of changes around the notifcations to support the custom app name also started on the welcome email ##1456. [Jamie.Rees] - -- Fixed the bug where we were displaying shows where we do not have enough information to request #1513. [Jamie.Rees] - -- #1513 added the network to tv shows. [Jamie.Rees] - -- Fixed the whitespace issue #1513. [Jamie.Rees] - -- Fixed the swagger endpoint #865 #1513 Fixed the custom image issue on the login page Fixed the bug when clicking on the tab on the requests page it would switch to the wrong one Swagger is now back @ /swagger. [tidusjar] - -- Optimized images, Update old compressed image with a new lossless one. (#1514) [camjac251] - -- #1513 #865 Fixed the issue where we do not send the requests to Radarr/Sonarr when approving. [tidusjar] - -- #1506 #865 Fixed an issue with the test buttons not working correctly. [tidusjar] - -- #865 Added donation link. [tidusjar] - -- Fixed a bunch of issues on #1513. [tidusjar] - -- #1460 Added the Updater, it all seems to be working correctly. #865. [Jamie.Rees] - -- Removed percentage. [Jamie.Rees] - -- Fixed linter. [Jamie.Rees] - -- Fixed some bugs in the UI #865. [Jamie.Rees] - -- Improved the search buttons #865. [Jamie.Rees] - -- More logging #865. [Jamie.Rees] - -- Made build faster. [Jamie.Rees] - -- More logging. [Jamie.Rees] - -- Set debug level to Debug for now. [Jamie.Rees] - -- Add linting and indexes for interfaces/services (#1510) [Matt Jeanes] - -- Fixed the issue with the tv search not working #1463. [Jamie.Rees] - -- Latest practices... also probably broke some styles - sorry (#1508) [Matt Jeanes] - -- Build with the branch version. [tidusjar] - -- Build fix. [tidusjar] - -- Fixed build. [tidusjar] - -- Omgwtf so many changes. #865. [tidusjar] - -- Tests. [Jamie.Rees] - -- #1456 Started on the User Importer Also added the remember me button. [Jamie.Rees] - -- Made some UI changes, reworked the Emby and Plex screens to make them more user friendly and no so fugly. #865 Also made the login page placeholder text slightly lighter. [Jamie.Rees] - -- Cake skip verification build stuff #865. [Jamie.Rees] - -- Some fixes around the UI and managing requests #865. [tidusjar] - -- #1486. [Jamie.Rees] - -- #1486. [Jamie.Rees] - -- Upgraded to .net core 2.0 #1486. [Jamie.Rees] - -- #865 Finished the landing page, we now check the server's status. [Jamie.Rees] - -- Fixed build. [TidusJar] - -- Removed the telegram api. [Jamie.Rees] - -- Small changes on the updater #1460 #865. [Jamie.Rees] - -- Remove unused functions. [Dhruv Bhavsar] - -- Make Episode picker similar to Requests Child view. #1457 #1463. [Dhruv Bhavsar] - -- Fix merge conflict for TvRequests component. [Dhruv Bhavsar] - -- Upstream Changes... [Dhruv Bhavsar] - -- Clean up Requests page code by moving children request to old component, remove additional REST calls when merging and update component names to make more sense. [Dhruv Bhavsar] - -- Lots of different UI enhancements and fixes #865. [tidusjar] - -- Gitchangelog. [tidusjar] - -- Fixed the issue where we were using the wrong availability options. [tidusjar] - -- Fixed a bunch of bugs in Ombi #865. [tidusjar] - -- Build versioning. [Jamie.Rees] - -- #1460 The assembly versioning seems to work correctly now. [Jamie.Rees] - -- More build versioning changes #865. [tidusjar] - -- Fixed cake script. [Jamie.Rees] - -- WIP on the build versioning for the Updater #1460 #865. [Jamie.Rees] - -- Versioning. [Jamie.Rees] - -- Package versions. [Jamie.Rees] - -- #1460 #865 working on the auto updater. [Jamie.Rees] - -- Fixed build. [Jamie.Rees] - -- Small changes around the roles #865. [tidusjar] - -- Improvements to the UI and also finished the availability checker #865 #1464. [Jamie.Rees] - -- Availability Checker #1464 #865. [Jamie.Rees] - -- Fixed ##1492 and finished the episode searcher for #1464. [Jamie.Rees] - -- #1464. [tidusjar] - -- Reload the settings #1464 #865. [Jamie.Rees] - -- #1464 added the Plex episode cacher #865. [Jamie.Rees] - -- Fixed some issues around the tv requests area Added mattermost and telegram notifications #1459 #865 #1457. [tidusjar] - -- Fix global.json. [Dhruv Bhavsar] - -- Working UI for Requests. Approval/Deny does not work as it doesn't in your code either. [Dhruv Bhavsar] - -- Enable diagnostic on build #865. [Jamie.Rees] - -- Fixed the user token issue #865. [Jamie.Rees] - -- Some small refresh token work #865. [Jamie.Rees] - -- Initial TV Requests UI rebuild. [Dhruv Bhavsar] - -- Made a start on supporting multiple emby servers, the UI needs rework #865. [Jamie.Rees] - -- #865 #1459 Added the Sender From field for email notifcations. We can now have "Friendly Names" for email notifications. [Jamie.Rees] - -- Redirect to the landing page when enabled #1458 #865. [Jamie.Rees] - -- Removed IdentityServer, it was overkill #865. [Jamie.Rees] - -- Fixed another bug with identity. #865 I'm thinking about removing it. Causing more hassle than it's worth. [tidusjar] - -- #1460 #865. [tidusjar] - -- Delete appveyor_old.yml. [Jamie] - -- Fixed path. [Jamie.Rees] - -- Silent build level. [Jamie.Rees] - -- #1459 Forgot to get the Pushbullet agent to look up the pusbullet templates rather than the Discord ones. Updated the Gitchange log. [Jamie.Rees] - -- Made the placeholder color on the login page a bit lighter #865. [Jamie.Rees] - -- Landing and login page changes #865 #1485. [tidusjar] - -- #1458 #865 More work on landing. [Jamie.Rees] - -- Working on the landing page #1458 #865. [tidusjar] - -- A lot of clean up and added a new Image api #865. [Jamie.Rees] - -- Cleaned up the Logging API slightly #1465 #865. [Jamie.Rees] - -- Fixed the Identity Server discovery bug #1456 #865. [tidusjar] - -- Fixed the issue with the Identity Server running on a different port, we can now use -url #865. [Jamie.Rees] - -- Try again. [TidusJar] - -- Publish ubuntu 16.04. [Jamie.Rees] - -- Chnaged the updater job from Minutely to Hourly. [Jamie.Rees] - -- Some work around the Auto Updater and other small changes #1460 #865. [Jamie.Rees] - -- Missed a file. [tidusjar] - -- Fixed the swagger issue. [tidusjar] - -- RDP issues. [tidusjar] - -- Appveyor build rdp investigation. [tidusjar] - -- Working on the requests page #1457 #865. [tidusjar] - -- Made the password reset email style the same as other email notifications #1456 #865. [Jamie.Rees] - -- Fixed some bugs around the authentication #1456 #865. [Jamie.Rees] - -- Fixed build. [Jamie.Rees] - -- Fixed build #1456. [Jamie.Rees] - -- #1456 #865 Started on allowing Plex Users to sign in through the new authentication server. [Jamie.Rees] - -- Removed covalent. [Jamie.Rees] - -- #1456 Reset Password stuff #865. [Jamie.Rees] - -- Finished implimenting Identity with IdentityServer4. #865 #1456. [Jamie.Rees] - -- Moved over to using Identity Server with Asp.Net Core Identity #1456 #865. [Jamie.Rees] - -- Started on the requests rework #865. [Jamie.Rees] - -- Extended the Emby API. [Jamie.Rees] - -- Started reworking the usermanagement page #1456 #865. [tidusjar] - -- Lots of refactoring #865. [Jamie.Rees] - -- Created an individual user api endpoint so we can make the user management pages better #865. [TidusJar] - -- Lot's of refactoring. [Jamie.Rees] - -- #1462 #865 Had to refactor how we use notificaitons. So we now have more notification fields about the request. [Jamie.Rees] - -- Looks like Sonarr is finished and works. A lot simplier this time around. #865. [tidusjar] - -- More work on the Sonarr Api Integration #865. [tidusjar] - -- Started on sonarr #865. [tidusjar] - -- Small changes #865. [tidusjar] - -- Damn son. So many changes... Fixed alot of stuff around tv episodes with the new DB model #865. [tidusjar] - -- Fixed the TV Requests issue #865. [Jamie.Rees] - -- Fixed a load of bugs need to figure out what is wrong with tv requests #865. [tidusjar] - -- #865 rework the backend data. Actually use real models rather than a JSON store. [Jamie.Rees] - -- Fixed the build issue #865. [tidusjar] - -- Allow us to use Emby as a media server. [tidusjar] - -- More Update #865. [Jamie.Rees] - -- Deployment changes. [Jamie.Rees] - -- More work on the Updater. [Jamie.Rees] - -- Lots of fixes. Becoming more stable now. #865. [tidusjar] - -- Small fixes around the searching. [Jamie.Rees] - -- Some rules #865. [Jamie.Rees] - -- Oops. [TidusJar] - -- Started on the Discord API settings page. [TidusJar] - -- Email Notifications are now fully customizable and work! #865. [Jamie.Rees] - -- Small changes and fixed some stylingon the plex page #865. [Jamie.Rees] - -- More on #865 TODO, Find out whats going on with the notifications and why exceptions are being thrown. [Jamie.Rees] - -- Oops. [Jamie.Rees] - -- Ok #865 fixed the published exe. [Jamie.Rees] - -- Fixed errors. [Jamie.Rees] - -- Fixed build script. [Jamie.Rees] - -- Fixed build. [Jamie.Rees] - -- Some more #865. [Jamie.Rees] - -- Create appveyor.yml. [Jamie] - -- The Approving child requests now work! [Jamie.Rees] - -- Fixed many bugs #865. [Jamie.Rees] - -- Loads of changes, improved the movie search stylings is back. [Jamie.Rees] - -- Moved to webpack and started on new style. [Jamie.Rees] - -- Fixed the TV search via Trakt not returning Images anymore. #865. [Jamie.Rees] - -- Rules changes and rework. [Jamie.Rees] - -- Request Grid test. [Jamie.Rees] - -- Small cleanup #865. [Jamie.Rees] - -- Fixed build. [Jamie.Rees] - -- Started the Radarr Settings #865. [Jamie.Rees] - -- Massive amount of rework on the plex settings page. It's pretty decent now! #865. [tidusjar] - -- Fixed build. [Jamie.Rees] - -- Fixed build. [tidusjar] - -- Rules #865. [tidusjar] - -- Stuff. [Jamie.Rees] - -- Forgot to uncomment. [Jamie.Rees] - -- Tetsd. [Jamie.Rees] - -- Build task changes. [Jamie.Rees] - -- Adsa. [Jamie.Rees] - -- Appveyor. [Jamie.Rees] - -- Stuff around tokens and also builds. [Jamie.Rees] - -- Finished the Plex Content Cacher. Need to do the episodes part but things are now showing as available! #865. [tidusjar] - -- Small user changes #865. [Jamie.Rees] - -- Stuff #865 need to work on the claims correctly. [Jamie.Rees] - -- Reworked the TV model AGAIN #865. [Jamie.Rees] - -- The move! [Jamie.Rees] - -- Fixed build #865. [Jamie.Rees] - -- Fixed the user management #865. [Jamie.Rees] - -- #865 Added support for multiple plex servers. [Jamie.Rees] - -- Bleh. [tidusjar] - -- Small changes. [Jamie.Rees] - -- Fixed the build. [Jamie.Rees] - -- Fixes. [Jamie.Rees] - -- Bundling changes. [Jamie.Rees] - -- Some series information stuff, changes the pace theme too. [Jamie.Rees] - -- Docker support and more, redesign the episodes. [tidusjar] - -- Stuff around episode/season searching/requesting. [Jamie.Rees] - -- Removed redundant folders. [tidusjar] - -- Lots of backend work. [tidusjar] - -- Fixed build. [Jamie.Rees] - -- TV Request stuff. [Jamie.Rees] - -- Work around the user management. [tidusjar] - -- More. [Jamie.Rees] - -- Lots and Lots of work. [Jamie.Rees] - -- Diagnostic changes. [tidusjar] - -- Fixed hangfire exception. [tidusjar] - -- Remove xunit. [tidusjar] - -- Lots more work :( [Jamie.Rees] - -- More changes. [tidusjar] - -- #865. [Jamie.Rees] - -- Small changes. [Jamie.Rees] - -- Fixed build. [Jamie.Rees] - -- More mapping. [Jamie.Rees] - -- Mapping mainly. [Jamie.Rees] - -- Fix systemjs config not being included. [Matt Jeanes] - -- Fixed bundling and various improvements. [Matt Jeanes] - -- Finished the emby wizard #865. [tidusjar] - -- Finished the wizard #865 (For Plex Anyway) [tidusjar] - -- Small changes. [tidusjar] - -- More work on Wizard and Plex API #865. [tidusjar] - -- Settings. [Jamie.Rees] - -- Settings for Ombi. [Jamie.Rees] - -- Fixed some issues around the identity. [Jamie.Rees] - -- #865 more for the authentication. [tidusjar] - -- Auth. [Jamie.Rees] - -- More on the search and requests page. It's almost there for movies. Need to add some filtering logic #865. [tidusjar] - -- #865. [Jamie.Rees] - -- Fixed build. [tidusjar] - -- Messing around with the settings. [tidusjar] - -- Fixed the yml. [Jamie.Rees] - -- Remove unneeded bundle config. [Matt Jeanes] - -- Redo dotnet publish targets. [Jamie.Rees] - -- Bundling changes. [Jamie.Rees] - -- Stuff. [Jamie.Rees] - -- Move app into wwwroot. [Jamie.Rees] - -- Put uglify back in! [Jamie.Rees] - -- Wrong line. [Jamie.Rees] - -- Matt is helping. [Jamie.Rees] - -- Revert. [tidusjar] - -- Small tweaks. [tidusjar] - -- Upgrade to .Net Standard 1.6. [tidusjar] - - -## v2.2.1 (2017-04-09) - -### **New Features** - -- Update README.md. [Jamie] - -- Update README.md. [Jamie] - -- Added the forums. [tidusjar] - -- Updates. [tidusjar] - -- Update gulpfile.js. [Jamie] - -- Update gulpfile.js. [Jamie] - -- Update gulpfile.js. [Jamie] - -- Update gulpfile.js. [Jamie] - -- Update appveyor.yml. [Jamie] - -- Update gulpfile.js. [Jamie] - -- Update appveyor.yml. [Jamie] - -- Update appveyor.yml. [Jamie] - -- Update appveyor.yml. [Jamie] - -- Update appveyor.yml. [Jamie] - -- Added a retry policy around the emby newsletter. [Jamie.Rees] - -### **Fixes** - -- Revert "Merge branch 'DotNetCore' into dev" [tidusjar] - -- More borken build. [Jamie.Rees] - -- Started adding requesting. [Jamie.Rees] - -- Done the movie searching. [tidusjar] - -- #865. [tidusjar] - -- More. [tidusjar] - -- Moar. [tidusjar] - -- Small changes. [tidusjar] - -- Styling. [Jamie.Rees] - -- MOre changes. [Jamie.Rees] - -- Spacing. [Jamie.Rees] - -- Try again. [Jamie.Rees] - -- More. [Jamie.Rees] - -- Again. [Jamie.Rees] - -- Anbother. [Jamie.Rees] - -- Another. [Jamie.Rees] - -- Another. [Jamie.Rees] - -- Retry. [Jamie.Rees] - -- A. [Jamie.Rees] - -- Fixed. [Jamie.Rees] - -- Cahnge 2. [Jamie.Rees] - -- Appveyor change. [Jamie.Rees] - -- The start of a new world. [Jamie.Rees] - -- Fixed the migration number and order by the added date for the newsletter #1264. [tidusjar] - -- Forgot this change. [tidusjar] - -- Also fixed the issue for the Emby Newsletter where episodes were not getting added :( [tidusjar] - -- #1264 "They may take our lives, but they'll never take our freedom!" [tidusjar] - -- Finished reworking the Sonarr Integration. Seems to be working as expected, faster and most stable. It's Not A Toomah! [tidusjar] - -- Small bit of work. [Jamie.Rees] - -- Made a start on the new Sonarr integration. [tidusjar] - -- For test emails, if there is no new content then just grab some old data. [tidusjar] - -- Fixed an issue where the emby newsletter was always showing series. [tidusjar] - - -## v2.2.0 (2017-03-30) - -### **New Features** - -- Update appveyor.yml. [Jamie] - -- Update README.md. [Jamie] - -- Update README.md. [Jamie] - -- Added a new setting for the Netflix option, we can now disable it appearing in the search. [tidusjar] - -- Update German Translation. [Marius Schiffer] - -- Added a release notes page, you can access via Admin>Updates>Recent Changes tab. Note to self, need to put better comments in for users to understand! [Jamie.Rees] - -- Added gravitar image. [Jamie.Rees] - -- Added a missing `await` for an HP AddArtist call. Added some more Trace logging. [smcpeck] - -- Added a missing `await` for an HP AddArtist call. Added some more Trace logging. [smcpeck] - -- Added some logging around API calls. [smcpeck] - -- Changed IEmbyAvailabilityChecker to use IEnumberables + checking actor search against Emby content + PR feedback. [smcpeck] - -- Changed actor searching to support non-actors too. [smcpeck] - -- Added a 10 second timer to refresh some new caching I put in. [smcpeck] - -- Added root folder and approving quality profiles in radarr #1065. [tidusjar] - -- Added some debugging code around the newsletter for Emby #1116. [tidusjar] - -- Added a TMDB Rate limiter for the newsletter. [tidusjar] - -- Added port check in wizard. also fixed favicon. [tidusjar] - -- Update Radarr placeholder. [d2dyno] - -- Added the user login for emby users #435. [tidusjar] - -- Added User Management support for Emby #435. [tidusjar] - -- Added emby to the sidebar #435. [tidusjar] - -- Added API endpoint for /actor/new/ to support searching for movies not already available/requested. [smcpeck] - -- Update ISSUE_TEMPLATE.md. [Jamie] - -- Update README.md. [SuperPotatoMen] - -- Update README.md. [SuperPotatoMen] - -- Update README.md. [SuperPotatoMen] - -### **Fixes** - -- Translation changes. [Jamie.Rees] - -- Syntax error. [tidusjar] - -- Fixed an issue where we were retrying the API call when the Plex users login creds were invalid. #1217. [tidusjar] - -- Slightly increased the wait time for the emby newsletter also fixed a potential error in the plex user checker. [Jamie.Rees] - -- Fixed an issue where we were not notifiying emby users. [Jamie.Rees] - -- Fixed the issue where the recent changes page was not showing the correct date. #1296. [Jamie.Rees] - -- Fixed #1252 (Show the correct user type on the management page for Plex Users) [Jamie.Rees] - -- Fixed the casting error #1292. [Jamie.Rees] - -- Fix test newletter not sending when empty. [Dhruv Bhavsar] - -- Quick fix for email false positive message. ISSUE: #1286. [Dhruv Bhavsar] - -- Fixes around the newsletter. We will now correctly show newly added shows and also newly added episodes. #1163. [tidusjar] - -- Fixed a sonarr deseralization error. [tidusjar] - -- Increased the delay for the Episode information api calls. #1163. [tidusjar] - -- Looks like we were overloading emby with out api calls. [tidusjar] - -- Fixed the root path escaping issue for Radarr too! [tidusjar] - -- Some small backend newsletter changes, we can now detect if there are any movies and/or tv shows, if there are none then we will no longer send out an empty newsletter. [Jamie.Rees] - -- Remoddeled the notificaiton settings to make it easier to add more. This is some techinical changes that no one except me will ever notice :( [Jamie.Rees] - -- Fixed #1234. [Jamie.Rees] - -- A fix to the about page and also started to rework the notification backend slightly to easily add more notifications. [Jamie.Rees] - -- Adding more logging into the Plex Cacher. [Jamie.Rees] - -- #1218 changed the text when we cannot display release notes for dev and EAP branches. [Jamie.Rees] - -- Fix for #1236. [SuperPotatoMen] - -- Tooltips. [Jamie.Rees] - -- #236. [Jamie.Rees] - -- #1102. [Jamie.Rees] - -- Done #1012. [Jamie.Rees] - -- Oops #1134. [Jamie.Rees] - -- Fixed #1121. [Jamie.Rees] - -- Fixed #1210. [Jamie.Rees] - -- Fixed typo #1134. [Jamie.Rees] - -- Fixed #1223. [Jamie.Rees] - -- Another newsletter fix attempt #1163 #1116. [tidusjar] - -- Fixup! Reset the branch on v2.1.0 tag to get to a shared state between dev and Master. [distaula] - -- Fixed a bug in the Plex Newsletter. [tidusjar] - -- Typo. [tidusjar] - -- Fixed around the newsletter and a small feature around the permissions/features (#1215) [Jamie] - -- Fixed #1189. [tidusjar] - -- Fixed #1195. [Jamie.Rees] - -- Fixed #1195. [Jamie.Rees] - -- Fixed #1192. [Jamie.Rees] - -- Fixed issue where we could get null rating keys on Plex. [tidusjar] - -- Needed to treat a 201 as success, too. + removed some commented out code. [Shaun McPeck] - -- Normalized spacing/tabs. [smcpeck] - -- Move local user login to be the first thing checked; renamed old Api variable to PlexApi now that Emby is in play. [smcpeck] - -- Remove all the polling/retry logic around HP requests. This was a problem do to not properly awaiting the initial AddArtist API call being sent to HP. Also fix SetAlbumStatus to use ReleaseId instead of MusicBrainsId (same fix previously applied to AddArtist). [smcpeck] - -- Restore checking of HTTP StatusCode on ApiRequests; remove checking of response.ErrorException. [smcpeck] - -- Reverted (for now) non-200 response handling; added some extra logging. [smcpeck] - -- Tweaked ApiRequest behavior on non-200 responses; think it was breaking login. :-" [smcpeck] - -- Only deserialize response payload in ApiRequest when StatusCode == 200. Will a default return value in other cases cause other issues? [smcpeck] - -- Headphones - added releaseID to generic RequestedModel and passing that through to HP request. Their API doesn't request via the MusicBrainzId. [smcpeck] - -- Fixed #1038. [tidusjar] - -- Fixed a slight issue where we could click the change folders button rather than the dropdown arrow #1189. [tidusjar] - -- Bunch of updater files. [tidusjar] - -- #1163 #117. [tidusjar] - -- Removed some unnecessary 'ConfigureAwait` uses. [smcpeck] - -- Remove meaningless html class from actor searching checkbox. [smcpeck] - -- Fixed an issue where we were not always showing movies from external programs. [tidusjar] - -- Remove extra delay when filtering out existing movies. [smcpeck] - -- Post merge build fixes. [smcpeck] - -- Fix. [tidusjar] - -- Fixed #1177. [tidusjar] - -- Fixed #1152. [tidusjar] - -- Fixed #1123. [tidusjar] - -- Fixed a bug when sending to radarr. [tidusjar] - -- Fixed #1133. [tidusjar] - -- Fixed issues img. [Jamie.Rees] - -- Stop Plex being enabled on the first time installing #1048. [Jamie.Rees] - -- The landing page now works for emby #435. [tidusjar] - -- Fixed #1104. [tidusjar] - -- Fixed #1090. [tidusjar] - -- Fixed #1103. [tidusjar] - -- Small changes. [tidusjar] - -- Break out Mass Email feature into its own tab, upgrade Font Awesome and clean up some comments. [dhruvb14] - -- Fix typo. [Travis Bybee] - -- Fixed #1066. [Jamie.Rees] - -- Fixed broken builds. [Jamie.Rees] - -- Fixed #1083. [Jamie.Rees] - -- #1049. [tidusjar] - -- Fixed #1071. [tidusjar] - -- Fixed #1048 #1081. [tidusjar] - -- #1074. [Jamie.Rees] - -- #1069. [Jamie.Rees] - -- Fix for #1068. [tidusjar] - -- Remove duplciate tv show status. [tidusjar] - -- Some request ui changes. [tidusjar] - -- Removed references to Plex. [tidusjar] - -- Removed plex from the scheduled jobs ui. [tidusjar] - -- First run of the newsletter set it to a test. [tidusjar] - -- Reworked the newsletter for Emby! Need to rework it for Plex and use the new way to do it. [tidusjar] - -- Fixed build. [tidusjar] - -- Fixed the mass email, it was only being set to users with the newsletter feature #358. [tidusjar] - -- Removed Plex Request from the notifications. [tidusjar] - -- Finish implementing mass email feature. [dhruvb14] - -- @tidusjar pointed out runtime error!! [dhruvb14] - -- Does not compile, need to get data from UI into nancy somehow and figure out why IMassEmail is not initializing. [dhruvb14] - -- Begin Implementing Mass Email Section. [dhruvb14] - -- Hide the auto update btn #236 Fixed where we were not populating the emby episodes #435. [tidusjar] - -- Fix Radarr labels. [d2dyno] - -- Fixed pace loader. [Jamie.Rees] - -- Check if Emby/Plex is enabled before starting the job. [Jamie.Rees] - -- Fixed #1036. [Jamie.Rees] - -- Fixed a typo and changed wording. [Torkil Liseth] - -- Fixed #1035. [Jamie.Rees] - -- Fix for #1026. [Jamie.Rees] - -- Fixed #1042. [tidusjar] - -- #435. [Jamie.Rees] - -- #435 Started the wizard. [Jamie.Rees] - -- Removed. [tidusjar] - -- Final Fixes. [dhruvb14] - -- Partial fix for broken HR tag's in Email... [dhruvb14] - -- DAMN! #435 that's a lot of code! [tidusjar] - -- Started adding Emby, Lots of backend work done. Need a few more services done and login and user management. #435. [tidusjar] - -- UI changes to add checkbox and support searching for only new matches via new API. [smcpeck] - -- REFACTOR: IAvailabilityChecker - changed arrays to IEnumerables. [smcpeck] - -- UI changes to consume actor searching API. [smcpeck] - -- API changes to allow for searching movies by actor. [smcpeck] - -- Enforcing async/await in synchronous methods that were marked async. [smcpeck] - - -## v2.1.0 (2017-01-31) - -### **New Features** - -- Update README.md. [Jamie] - -- Update .gitattributes. [Jamie] - -- Update README.md. [Jamie] - -- Update README.md. [Jamie] - -- Update README.md. [Jamie] - -- Update README.md. [Jamie] - -- Update appveyor.yml. [Jamie] - -- Added the new labels to the search. [tidusjar] - -- Added a switch to use the new search or not, just in case people do not like it. added a migration to turn on the new search. [Jamie.Rees] - -- Added a bunch of categories for tv search similar to what we have for movies. [Jamie.Rees] - -### **Fixes** - -- Fixed typos. [Haries Ramdhani] - -- Fix typo in readme. [tdorsey] - -- Fixed #985. [Jamie.Rees] - -- FIxed #978. [tidusjar] - -- Fixed the approval issue for #939. [tidusjar] - -- Some general improvements. [tidusjar] - -- Turned off migration for now. [tidusjar] - -- Fixed #998. [tidusjar] - -- Additional movie information. [Jamie.Rees] - -- Debug info around the notifications. [Jamie.Rees] - -- Small changes. [tidusjar] - -- Fixed #995. [tidusjar] - -- Fix for #978. [tidusjar] - -- Fixed #991. [tidusjar] - -- Fixed the login issue and pass Radarr the year #990. [Jamie.Rees] - -- More small tweaks around the username/alias. [Jamie.Rees] - -- Possible issue with the empty username. [Jamie.Rees] - -- Potential Fix for #985. [Jamie.Rees] - -- Small changed to the sidebar. [Jamie.Rees] - -- Small changes. [Jamie.Rees] - -- Done #627. [Jamie.Rees] - -- Finished #535 #445 #170. [tidusjar] - -- Fixed tests. [Jamie.Rees] - -- Started to add the specify Sonarr root folders. [Jamie.Rees] - -- Fixed #968. [Jamie.Rees] - -- Fixed #970. [Jamie.Rees] - -- Done #924. [Jamie.Rees] - -- Fixed. [Jamie.Rees] - -- Fixed #955. [Jamie.Rees] - -- #956. [Jamie.Rees] - -- Fixed #947. [Jamie.Rees] - -- #951. [tidusjar] - -- Finished #923 !!! [tidusjar] - -- More for #923. [Jamie.Rees] - -- Radarr integartion in progress #923. [tidusjar] - -- Fixed #940 don't show any shows without a tvdb id. [tidusjar] - -- Finished #739. [Jamie.Rees] - -- Initial impliementation of #739. [Jamie.Rees] - -- Improved the search UI and made it more consistant. Finished the Netflix API Part #884. [Jamie.Rees] - - -## v2.0.1 (2017-01-16) - -### **New Features** - -- Update appveyor.yml. [Jamie] - -- Added a netflix api. [Jamie.Rees] - -### **Fixes** - -- Fixed #934. [Jamie.Rees] - - -## v2.0 (2017-01-14) - -### **New Features** - -- Update ISSUE_TEMPLATE.md. [SuperPotatoMen] - -- Update ISSUE_TEMPLATE.md. [SuperPotatoMen] - -- Update ISSUE_TEMPLATE.md. [SuperPotatoMen] - -- Update README.md. [SuperPotatoMen] - -- Update README.md. [SuperPotatoMen] - -- Update ISSUE_TEMPLATE.md. [SuperPotatoMen] - -- Update ISSUE_TEMPLATE.md. [SuperPotatoMen] - -- Update README.md. [SuperPotatoMen] - -- Update README.md. [SuperPotatoMen] - -- Added the settings for #925 but need to apply the settings to the UI. [Jamie.Rees] - -- Changed the settings name from Plex Requests to Ombi. [Jamie.Rees] - -- Added support for Managed Users #811. [Jamie.Rees] - -- Change solution name in travis. [mhann] - -- Update ISSUE_TEMPLATE.md. [SuperPotatoMen] - -### **Fixes** - -- Finished #925. [Jamie.Rees] - -- Some TODO's. [Jamie.Rees] - -- Fixed #915. [Jamie.Rees] - -- Fixed the issue where notifications are not being sent to users with Aliases #912. [Jamie.Rees] - -- Fixed #891. [Jamie.Rees] - -- Fix indentation issue. [Marcus Hann] - -- Implement simple button. [Marcus Hann] - -- Plex Username Case Sensitivity Fix. [thegame3202] - -- Fixed #882. [Jamie.Rees] - -- Api changed again, so more fixes for #878. [Jamie.Rees] - -- Possible fix for #893. [Jamie.Rees] - -- Fixed #898. [Jamie.Rees] - -- Fixed #878. [TidusJar] - -- * userManagementController.js: fixed #881. [TidusJar] - -- More work on watcher, should all be good now. #878. [Jamie.Rees] - -- Delete PlexRequests.sln.DotSettings. [Jamie] - -- Fixed #862. [Jamie.Rees] - -- #399 and #398 finished. [Jamie.Rees] - -- More work on #399. [Jamie.Rees] - -- Finished #884. [Jamie.Rees] - -- More for #844. [Jamie.Rees] - -- Another #844. [Jamie.Rees] - -- Fixed a dependancy issue with #844. [Jamie.Rees] - -- Finished the main part of #844 just need testing. [Jamie.Rees] - -- Fixed #832. [Jamie.Rees] - -- Fixed build. [Jamie.Rees] - -- Fix tiny readme typo. [mhann] - -- Fixed #850 also started #844 (Wrote the API interaction) [Jamie.Rees] - -- #801 #292 done. [Jamie.Rees] - -- Should fix #841 #835 #810. [Jamie.Rees] - -- Fix small typo in ticket overview page. [mhann] - -- More work on the combined login. [Jamie.Rees] - -- Fixed db issue. [Jamie.Rees] - -- Name changes. [Jamie.Rees] - -- All Sln changes. [tidusjar] - -- Moved API Sln dir. [tidusjar] - -- Fixed build. [tidusjar] - -- Moved namespaces. [tidusjar] - -- Renamed zip. [tidusjar] - -- Product name change. [tidusjar] - - -## v1.10.1 (2016-12-17) - -### **Fixes** - -- #788 fixed! [tidusjar] - -- Fixed #788 and #791. [tidusjar] - -- #399 #398. [Jamie.Rees] - -- Fixed build. [Jamie.Rees] - -- Small refactorings. [Jamie.Rees] - -- #782. [Jamie.Rees] - -- #785. [Jamie.Rees] - - -## v1.10.0 (2016-12-15) - -### **New Features** - -- Update README.md. [Jamie] - -- Added optional launch args for the auto updater. [Jamie.Rees] - -- Update README.md. [Jamie] - -- Update README.md. [Jamie] - -- Update _Navbar.cshtml. [Jamie] - -- Update README.md. [Jamie] - -- Update _Navbar.cshtml. [Jamie] - -- Update README.md. [Jamie] - -- Added a new permission to bypass the request limit. [Jamie.Rees] - -- Update Version1100.cs. [SuperPotatoMen] - -- Added logging around the Newsletter #717. [Jamie.Rees] - -- Added missing migration. [tidusjar] - -- Added loading spinner. [Jamie.Rees] - -- Update UI.resx. [SuperPotatoMen] - -- Update Version1100.cs. [Jamie] - -- Update ISSUE_TEMPLATE.md. [SuperPotatoMen] - -### **Fixes** - -- Fixed an issue where the HTML in the newsletter was incorrect. [Jamie.Rees] - -- Fixed #201. [Jamie.Rees] - -- Fixed #720 and added better error handling around the migrations. [Jamie.Rees] - -- Fixed #769. [Jamie.Rees] - -- Write out the actual file version. [Jamie.Rees] - -- Error checking around GA. [TidusJar] - -- Fixed #761. [tidusjar] - -- Fixed #749 Fixed an issue where we were adding the read only permission when creating the admin. [tidusjar] - -- Fixed #757. [tidusjar] - -- Fixes around the server admin #754. [Jamie.Rees] - -- Removed the trace option from the UI, it is only accessible when appending the url with "?developer" #753. [Jamie.Rees] - -- Fixed an issue where the admin could not be updated. [Jamie.Rees] - -- Fixed #745. [Jamie.Rees] - -- Fixed #748. [Jamie.Rees] - -- Workaround for #748. [SuperPotatoMen] - -- Another attempt to fix #717. [tidusjar] - -- Fixed #744. [Jamie.Rees] - -- Tidied up the warnings. [Jamie.Rees] - -- Small bit of analytics. [Jamie.Rees] - -- Removed the whitelist. [Jamie.Rees] - -- Should fix #696 Fixed an issue with the scheduled jobs where it could use a different trigger if the order between the schedules and the triggers were in different positions in the array... Stupid me, ordering both arrays by the name now. [tidusjar] - -- Some better null object handling #731. [Jamie.Rees] - -- Small tweaks. [Jamie.Rees] - -- Fixed #728. [Jamie.Rees] - -- Fixed #727. [Jamie.Rees] - -- Fixed admin redirect issue. [tidusjar] - -- Fixed #718. [tidusjar] - -- Lots of small fixes and tweaks. [Jamie.Rees] - -- Tidied up some of the angular code, split the UI into it's own directives for easier maintainability. [Jamie.Rees] - -- Small tweaks to the Request Page. [Jamie.Rees] - -- Reverted the PR that may have caused #619. [Jamie.Rees] - -- Some small tweaks around #218 Just added the link to the settings and some angular improvements. [Jamie.Rees] - -- Test. [Jamie.Rees] - -- Attempt at fixing #686. [Jamie.Rees] - -- Finished #707. [Jamie.Rees] - -- Fixed #704. [Jamie.Rees] - -- Fixed #705. [Jamie.Rees] - -- Fixed #706. [Jamie.Rees] - -- #547. [Jamie.Rees] - -- Default tabs #304. [Jamie.Rees] - -- Fixed #703. [Jamie.Rees] - -- #233. [Jamie.Rees] - -- Done #678. [Jamie.Rees] - -- Fixed #670. [Jamie.Rees] - -- #456 Update all the requests when we identify that the username changes. [Jamie.Rees] - -- More user management. [Jamie.Rees] - -- #218. [Jamie.Rees] - -- Fixed build. [tidusjar] - -- Implimented the features #218. [tidusjar] - -- Use the user alias everywhere if it is set #218. [tidusjar] - -- Implimented auto approve permissions #218. [tidusjar] - -- A. [tidusjar] - -- Fixed an IOC issue. [tidusjar] - -- Fixed the issue with user management, needed to implement our own authentication provider. [Jamie.Rees] - -- Small changes including #666. [Jamie.Rees] - -- Done #679. [tidusjar] - -- Reduce the retry time. [Jamie.Rees] - -- Remove all references to the claims. [Jamie.Rees] - -- Lots of fixed and stuff. [Jamie.Rees] - -- Fixed potential crash #683. [Jamie.Rees] - -- Fixed #681. [Jamie.Rees] - -- More user management. [Jamie.Rees] - -- Finishing off the user management page #218 #359 #195. [Jamie.Rees] - -- Finished #646 and fixed #664. [Jamie.Rees] - -- Started on #646. Fixed #657. [Jamie.Rees] - -- Fixed #665. [Jamie.Rees] - -- Migrate users. [TidusJar] - -- Fixed build. [Jamie.Rees] - -- Convert the for to foreach for better readability. Still need to rework this area. [Jamie.Rees] - -- Final Tweaks #483. [Jamie.Rees] - -- Finished #483. [Jamie.Rees] - -- Finished the queue #483. [Jamie.Rees] - -- Started on the queue for requests #483 TV Requests with missing information has been completed. [Jamie.Rees] - -- Fixed build. [Jamie.Rees] - -- Finished the notification for the fault queue. [Jamie.Rees] - -- Finished #556. [Jamie.Rees] - -- Finished #633 (First part of the queuing) [Jamie.Rees] - -- Finished #659 #236 has been modified slightly. Needs testing on Different systems. [Jamie.Rees] - -- Almost finished #659. [Jamie.Rees] - -- Started on #483. [Jamie.Rees] - -- #544. [Jamie.Rees] - -- Fixed #656 and more work on #218. [Jamie.Rees] - -- Fixed some issues with the user management work. [TidusJar] - -- Fixed build issue. [TidusJar] - -- User perms. [Jamie.Rees] - - -## v1.9.7 (2016-11-02) - -### **New Features** - -- Update appveyor.yml. [Jamie] - -- Update appveyor.yml. [Jamie] - -### **Fixes** - -- Potential fix for #629. [TidusJar] - -- Fixed an issue to stop blatting over the base url. [tidusjar] - -- Fixed #643. [TidusJar] - -- Fixed #622. [TidusJar] - - -## v1.9.6 (2016-10-28) - -### **New Features** - -- Update appveyor.yml. [Jamie] - -### **Fixes** - -- Fixed #586. [Jamie.Rees] - -- Fixed #622. [Jamie.Rees] - -- Fixed #621. [Jamie.Rees] - - -## v1.9.5 (2016-10-27) - -### **New Features** - -- Added our own custom migrations, a lot easier to migrate DB versions now. [tidusjar] - -### **Fixes** - -- Bump version. [Jamie.Rees] - -- Small bit of work on the user claims. [Jamie.Rees] - -- Fix #612 again. [Jamie.Rees] - -- User management styling. [Jamie.Rees] - -- Fixed #608 and some other small stuff. [tidusjar] - -- More user mapping. [tidusjar] - -- Fixed #615. [tidusjar] - -- Fixed #610. [tidusjar] - -- User management stuff. [Jamie.Rees] - -- User management work. [Jamie.Rees] - -- Revert the TVSender to use the old code. [Jamie.Rees] - -- Fixed the view issue. [tidusjar] - -- S582: admin improvements part 2. [Jim MacKenzie] - -- Fix #612. [Jamie.Rees] - -- User management, migration and newsletter. [Jamie.Rees] - -- #602 recently added improvements. [tidusjar] - -- Revert "Sorting out the current state of migrations" [Jamie.Rees] - -- Sorting out the current state of migrations. [Jamie.Rees] - -- Marked as obsolete. [Jim MacKenzie] - -- Migration setup. [Jim MacKenzie] - -- Removed extra line breaks. [Jim MacKenzie] - -- Moved Newsletter Settings to its own page. [Jim MacKenzie] - -- Reverted TMDB package. [Jamie.Rees] - -- Remove DB Option. [Jamie.Rees] - -- Upgrade the movie DB package and fixed #370 To fix this I had to make another API call... It slows down the search... [tidusjar] - -- Lots of small fixes including #475. [tidusjar] - -- A better fix for #587. [tidusjar] - -- Fixed #553. [tidusjar] - -- #601. [Jamie.Rees] - -- More rework to use the Plex DB. [Jamie.Rees] - -- More work around using the PlexDatabase. [Jamie.Rees] - -- Plex DB. [Jamie.Rees] - -- Allow to process even know we had an error #578. [Jamie.Rees] - -- Fix boostrapper-datetimepicker imports (#586) [David Torosyan] - -- Potential work around for #587. [tidusjar] - -- Fixed #589. [tidusjar] - - -## v1.9.4 (2016-10-10) - -### **New Features** - -- Update appveyor.yml. [Jamie] - -- Added Paypalme options, no UI yet (#568) [Jim MacKenize] - -- Update appveyor.yml. [Jamie] - -- Update README.md. [Jamie] - -### **Fixes** - -- Reverted. [tidusjar] - -- Make sure it's enabled before sending the recently added. [tidusjar] - -- Moved the HR inside the table for TV Shows. [Jamie.Rees] - -- FIXED!!!!! YES BITCH! #550. [tidusjar] - -- Moved the horizontal rules inside the table row. [tidusjar] - - -## v1.9.3 (2016-10-09) - -### **New Features** - -- Added properties to disable tv requests for specific episodes or seasons and wired up to admin settings. [Matt McHughes] - -- Added different sonarr search commands. [tidusjar] - -### **Fixes** - -- Fixed #515. [tidusjar] - -- Fixed #561 and a small bit of work on #569. [tidusjar] - -- #569. [tidusjar] - -- Fixed case typo. [Matt McHughes] - -- Finished wiring tv request settings to tv search. [Matt McHughes] - -- WIP hide tv request options based on admin settings. [Matt McHughes] - -- Set meta charset to be utf-8. [Madeleine Schönemann] - -- F#552: updated labels text. [Jim MacKenize] - -- F#552: Re-design lables. [Jim MacKenzie] - -- Last correction.. Now the translation is ready to be used. [Michael Reber] - -- Forgot to correct two incorrect translations. [Michael Reber] - -- Correction of the German translation. [Michael Reber] - -- Notification improvements. [tidusjar] - -- #515. [tidusjar] - - -## v1.9.2 (2016-09-18) - -### **New Features** - -- Update appveyor.yml. [Jamie] - -- Update CouchPotatoCacher.cs. [Jamie] - -- Added some error handing around the GetMovie area #517. [tidusjar] - -- Added a version endpoint in "/api/version" #529. [tidusjar] - -### **Fixes** - -- Trying to fix the auto CP. [tidusjar] - -- Increase the notice message text box #527. [tidusjar] - -- #536 this should fix notification settings when it is being unsubscribed when testing. [tidusjar] - -- Improved how the TV search looks and feels. [tidusjar] - -- Fix for reverse proxy when using the wizard. [Devin Buhl] - -- Fixed #532. [tidusjar] - -- This should fix some issues with the episode requests #514. [tidusjar] - -- Small changes around existing series. [tidusjar] - -- Fixed #514 and the unit tests. [tidusjar] - -- If there is a bad password when changing it, we now inform the user. [tidusjar] - -- When logging out as admin remove the username from the session. [tidusjar] - -- Sorted out some of the UI for #18. [tidusjar] - -- Finished #18. [tidusjar] - - -## v1.9.1 (2016-08-30) - -### **New Features** - -- Update appveyor.yml. [Jamie] - -- Added french to the navbar. [tidusjar] - -- Changed the way we use the setTimeout function. Should fix #403 #491 #492. [tidusjar] - -- Change the redirection to use a relative uri redirect #473. [tidusjar] - -### **Fixes** - -- Fixed tests. [tidusjar] - -- Fixed #491 and added more logging around the email messages under the Info level. [tidusjar] - -- Finished #415. [tidusjar] - -- Fixed an issue where there were some JS errors on the landing page settings and stopped us being redirected to the login sometimes as an admin. [tidusjar] - -- Fixed #480. [tidusjar] - -- User management. [tidusjar] - -- Fixed #505. [tidusjar] - -- Append the application version to the end of our JS/CSS files. [tidusjar] - -- Fixed issue #487. [tidusjar] - -- Remove the datetime picker css from the main assets block and only load it on the pages it needs. #493. [tidusjar] - -- Redirect to search if we are already logged in #488. [tidusjar] - -- Fixed build. [tidusjar] - -- Fixed an issue where you could set the base url as requests #479. [tidusjar] - -- Working on the beta releases page and also the user management. [tidusjar] - -- User work. [tidusjar] - - -## v1.9.0 (2016-08-18) - -### **New Features** - -- Update the availability checker to search for TV Episodes. [tidusjar] - -- Changed the no TVMazeid message. [tidusjar] - -- Added an option to disable/enable the Plex episode cacher. [tidusjar] - -- Updated the episode cacher to have a minimum of 11 hours before it runs again. [tidusjar] - -- Added some useful analytical infomation around the wizard. [tidusjar] - -- Updated the German translations #402. [tidusjar] - -- Added some code to shrink the DB. reworked the search to speed it up. [tidusjar] - -- Change to use the GrandparentTitle rather than the thumbnail.... facepalm. [tidusjar] - -- Change the interval to hours! [tidusjar] - -- Added the transaction back into the DB. Do not run the episode cacher if it's been run in the last hour. [tidusjar] - -- Added logging. [tidusjar] - -- Changed the query slightly. [tidusjar] - -- Updated Newtonsoft.Json, Autofixture, Nlog and Dapper packages. [tidusjar] - -- Added the Sonarr check for episodes #254. [tidusjar] - -- Added unit tests. [tidusjar] - -- Added #436. [tidusjar] - -- Update build no. [tidusjar] - -- Updated translations for #402. [tidusjar] - -- Added a beta module. [tidusjar] - -- Added a custom debug root path provider, this means we do not have to recompile the views every time we make a view change. [tidusjar] - -- Update .gitignore. [Jamie] - -- Update appveyor.yml. [Jamie] - -- Added tests for the string hash. [tidusjar] - -- Added code to request the api key for CouchPotato. [tidusjar] - -- Added the file version to the layout. [tidusjar] - -- Update appveyor.yml. [Jamie] - -- Update appveyor.yml. [Jamie] - -- Added automation tests. [tidusjar] - -- Update appveyor.yml. [Jamie] - -- Updated packages. [tidusjar] - -- Updated Polly. [tidusjar] - -- Updated Fr, IT and NL translations #402. [tidusjar] - -- Changed the way the donate button works for #414. [tidusjar] - -- Added MediatR. [tidusjar] - -### **Fixes** - -- User management stuff. [tidusjar] - -- Fixed! [tidusjar] - -- Small amount of work on the user management. [tidusjar] - -- Fixed #466. [tidusjar] - -- Fixes. [tidusjar] - -- Made the episode request better. [tidusjar] - -- Removed commented out tests. [tidusjar] - -- Fixed the bad test after the merge. [tidusjar] - -- Reworked #466. [tidusjar] - -- More unit tests around the login and also the core Plex Checker. [tidusjar] - -- Potentially fixed the issue where we were requesting everything that was also available now. [tidusjar] - -- This should fix #466. [tidusjar] - -- Attempt at fixing a potential bug found from #466. [tidusjar] - -- #464 fixed. [tidusjar] - -- Fixed the build. [tidusjar] - -- Small improvements to the wizard. [tidusjar] - -- Always set the wizard to be true when editing the Plex Requests settings (Since the flag is not in the UI, a bool defaults to false). [tidusjar] - -- Tiny bit of more info. [tidusjar] - -- Finished #459. [tidusjar] - -- #459 is almost done. [tidusjar] - -- Modified the episode modal so that we are now resetting the button after a request. [tidusjar] - -- Commented out the transaction for now to debug it. [tidusjar] - -- Since we are multithreading, we should use a threadsafe type to store the episodes to prevent any threading or race conditions. [tidusjar] - -- Wrapped the bulk insert inside a transaction. [tidusjar] - -- Made the episode check parallel. [tidusjar] - -- Log out the GUID causing the issue. [tidusjar] - -- Fixed another test. [tidusjar] - -- Fixed tests. [tidusjar] - -- Got mostly everything working for #254 Ready for testing. [tidusjar] - -- Fixed issue with saving to db. [tidusjar] - -- Need to work out why the cacher is not working and where the datatype mismatch is. [tidusjar] - -- Don't delete first. [tidusjar] - -- Fix the log path issue #451. [tidusjar] - -- Dump an item. [tidusjar] - -- Small change with the return value in the batch insert. [tidusjar] - -- #254 Removed the cache, we are now storing the plex information into the database. [tidusjar] - -- Small change in the episode saver. [tidusjar] - -- Some small tweaks to improve the memory alloc. [tidusjar] - -- Short circuit when Plex hasn't been setup. Added Miniprofiler. [tidusjar] - -- Consolidate newtonsoft.json packages. [tidusjar] - -- Some performance improvements around the new TV stuff. [tidusjar] - -- Reworked the cacher, fixed the memory leak. No more logging within tight loops. [tidusjar] - -- Another null check. [tidusjar] - -- Some more changes. [tidusjar] - -- Some error handling. [tidusjar] - -- Check if the sonarr ep is monitored. [tidusjar] - -- Some logging. [tidusjar] - -- Small changes, we will actually see the episode cacher on the scheduled jobs page now. [tidusjar] - -- Work on the UI to show what episodes have been requested #254. [tidusjar] - -- Small fix. [tidusjar] - -- Fix the api change in #450. [tidusjar] - -- #254. [tidusjar] - -- Workaround for #440. [tidusjar] - -- Async async async improvements. [tidusjar] - -- Finished #266 Added a new cacher job to cache all episodes in Plex. [tidusjar] - -- Fixed #442. [tidusjar] - -- #254. [tidusjar] - -- Work around the sonarr bug #254. [tidusjar] - -- #254 having an issue with Sonarr. [tidusjar] - -- Small bit of work on #266. [tidusjar] - -- #254. [tidusjar] - -- Precheck and disable the episode boxes if we already have requested it. TODO check sonarr to see if it's already there. #254. [tidusjar] - -- Fixed broken build. [tidusjar] - -- More work for #254. [tidusjar] - -- More work on #254. [tidusjar] - -- Fixed the bug in #438 and added unit tests to make so we dont break it in the future. [tidusjar] - -- Some reason we had dupe translations. [tidusjar] - -- Rename SubDir to Base Url. [tidusjar] - -- Fix the exception in #440. [tidusjar] - -- Reworking the login page for #426. [tidusjar] - -- Fixed #438. [tidusjar] - -- Finished the auth stuff. [tidusjar] - -- Finished up the SMTP side of #429. [tidusjar] - -- #428 Added a message when the we cannot get a TVMaze ID. [tidusjar] - -- #254 MOSTLY DONE! At last, this took a while. [tidusjar] - -- Removed the other rootpath provider. [TidusJar] - -- Removed the other rootpath provider. [TidusJar] - -- Removed the other rootpath provider. [TidusJar] - -- Should fix #429. [TidusJar] - -- Done #135 We are including the application version number in the directory. [tidusjar] - -- #387 trim the spaces from the api key. Tidied up the setting models a bit. [tidusjar] - -- Wrapped the repo to catch Sqlite corrupt messages. [tidusjar] - -- Frontend and tv episodes api work for #254. [tidusjar] - -- #424. [tidusjar] - -- #359. [tidusjar] - -- Moved the plex auth token to the plex settings where it should belong. [tidusjar] - -- Small changes around the user management. [tidusjar] - -- Missed brace. [tidusjar] - -- Removed. [tidusjar] - -- Fixed issues from the merge. [tidusjar] - -- Stupid &$(*£ merge. [tidusjar] - -- Angular. [tidusjar] - -- Reworked the custom notifications... again. Need to figure out how to find the view to the model. [tidusjar] - -- Fixed #417. [tidusjar] - -- Removed NinjectConventions, we hadn't started to use it anyway. [tidusjar] - -- Fixed the way we will be using custom messages. [tidusjar] - -- Test checkin. [tidusjar] - -- Better handling for #388. [tidusjar] - -- Fixed #412. [tidusjar] - -- Fixed #413. [tidusjar] - -- Fixed #409. [tidusjar] - -- Trycatch around the availbility checker. [tidusjar] - -- WIP on notification resolver. [tidusjar] - -- Tidy. [tidusjar] - -- Plugged in MediatR. [tidusjar] - -- Moved over to using Ninject. [tidusjar] - - -## v1.8.4 (2016-06-30) - -### **Fixes** - -- Fixed the bug where we were auto approving everything. Added French language into the navigation bar. [tidusjar] - - -## v1.8.3 (2016-06-29) - -### **New Features** - -- Update README.md. [Jamie] - -- Update appveyor.yml. [Jamie] - -- Added some of the backend bits for #182. [tidusjar] - -- Updates for #243. [tidusjar] - -- Added Dutch language #243. [tidusjar] - -- Added languages #243. [tidusjar] - -- Added logging #350. [tidusjar] - -### **Fixes** - -- Small changes. [tidusjar] - -- Allow html in the notice message. [tidusjar] - -- Some more unit tests around the NotificationMessageResolver. [tidusjar] - -- Fixed a timing bug found the in build. Note, when working with time differences use TotalDays. [tidusjar] - -- More translations on the search page (Mainly the notification messages) #243. [tidusjar] - -- Fixed some warnings. [tidusjar] - -- CodeCleanup. [tidusjar] - -- Fixed a bit of a stupid bug in the resetter and added unit tests around it to make sure this never happens again. [tidusjar] - -- Fixed an issue where we didn't provide the correct response when clearing the logs. [tidusjar] - -- Made it so users that are in the whitelist do not have a request limit. [tidusjar] - -- Made it so the request limit doesn't apply to admin users. [tidusjar] - -- Fixed where a user could see the delete button on the issues page. [tidusjar] - -- Fixed some small issues and improved the navbar. [tidusjar] - -- Translated the Requested page #243. [tidusjar] - -- Finished #337. [tidusjar] - -- Some analytics. [tidusjar] - -- More translations for #243 and welcome text for #293. [tidusjar] - -- Small bit of work for #359. [tidusjar] - -- Finished #6. [tidusjar] - -- Analytics and fixes. [tidusjar] - -- Translated the search page #243. [tidusjar] - -- Implemented the different languages and added the ability to change cultures. #243. [tidusjar] - -- Started #243. [tidusjar] - -- Fixed #364. [tidusjar] - -- Some more useful analytical information. [tidusjar] - -- Generic try catch to fix #350. [tidusjar] - -- Slight changes, moved the donate button. [tidusjar] - -- Potential fix for #350. [tidusjar] - -- Better way of obtaining clean enum string. [Drewster727] - -- Fixed #362. [tidusjar] - - -## v1.8.2 (2016-06-22) - -### **New Features** - -- Update readme. [tidusjar] - -- Update appveyor.yml. [Jamie] - -### **Fixes** - -- Fixed a circular reference issue. [tidusjar] - -- Small changes around how we work with custom events in the analytics. [tidusjar] - -- Fixed #353 #354 #355. [tidusjar] - -- Null provider check for movies. [Drewster727] - -- Show request type in notifications #346 and fix an issue from previous commit for #345. [Drewster727] - -- Add an option to stop sending notifications for requests that don't require approval #345. [Drewster727] - - -## v1.8.1 (2016-06-21) - -### **New Features** - -- Update appveyor.yml. [Jamie] - -### **Fixes** - -- Fix obj ref error when scheduler runs (ProviderId is null?) [Drewster727] - -- Fix logic for obtaining a sonarr quality profile #340. [Drewster727] - - -## v1.8.0 (2016-06-21) - -### **New Features** - -- Update README.md. [Jamie] - -- Update README.md. [Jamie] - -- Update README.md. [Jamie] - -- Added the new advanced search into the search page too. [tidusjar] - -- Change the way we configure the IoC container in the bootstrapper, we are registering all the concrete instances on application start rather than on each web request. This should increase the performance per HTTP request. [tidusjar] - -- Updated nlog and fixed #295. [tidusjar] - -### **Fixes** - -- Workaround for #334. [Drewster727] - -- Create .gitattributes. [Jamie] - -- Fixes to the issues. [tidusjar] - -- Set the defaults for the landing page. [tidusjar] - -- Revert branch to 664dae2. [tidusjar] - -- Some unit tests for the issues. [tidusjar] - -- Tidied up the bootstrapper. [tidusjar] - -- Fix up landing page UI. [Drewster727] - -- Fixed CSS issue with the top arrow in the Plex theme. [tidusjar] - -- Small changes. [tidusjar] - -- Done #318. [tidusjar] - -- Fixed tests. [tidusjar] - -- #298 added some tests for the landing page. [tidusjar] - -- We are now only keeping the latest 1000 log records in the database. Delete everything else. [tidusjar] - -- Some analytic stuff. [tidusjar] - -- Capture the TVDBID when requesting. [tidusjar] - -- Attempting to improve #219. [tidusjar] - -- Just some more async changes. [tidusjar] - -- Small changes. [tidusjar] - -- More work on #298. Everything wired up. [tidusjar] - -- Fixed the issue on the landing page #298. [tidusjar] - -- #298 moved the content to the left a bit. [tidusjar] - -- Styling for #298 done, just need to wire up the model and do the actual status check. [tidusjar] - -- Bumped up the version number. [tidusjar] - -- Removed some DumpJson() from the trace logs. [tidusjar] - -- Small ui fix (100% width user/password fields to improve mobile experience) [Drewster727] - -- Landing page stuff #298. [tidusjar] - -- Datepicker UI fixes + small landing page UI fix. [Drewster727] - -- Removed a change that shoudn't have been commited. [tidusjar] - -- Fixed tests. [tidusjar] - -- More work for #298. [tidusjar] - -- #273 added for only available content on the search. [tidusjar] - -- Fixed #303 Looks like there was some incorrect business logic. [tidusjar] - -- Most of #273 done. [tidusjar] - -- Settings done for #298. [tidusjar] - -- Started #298. [tidusjar] - -- A crap tonne of work on #273. [tidusjar] - -- More work on #273. [tidusjar] - -- Reduced kept logs for 2 days. [tidusjar] - -- Fixed #300. [tidusjar] - -- #273. [tidusjar] - -- Fixed a bug with some users with the CP profiles. [tidusjar] - -- #273. [tidusjar] - -- Done the same for TV. [tidusjar] - -- Fixes #296. [tidusjar] - -- More for #273. [tidusjar] - -- Small changes. [tidusjar] - -- Revert "Small changes" [tidusjar] - -- Small changes. [tidusjar] - -- Finished #221 and added more async #278. [tidusjar] - -- Spelling mistake in the html! this fixes #264. [tidusjar] - -- More work on #273. [tidusjar] - -- Fixed #210. [tidusjar] - -- Started #273. [tidusjar] - - -## v1.7.5 (2016-05-29) - -### **New Features** - -- Update preview. [Jamie] - -- Updated dapper.contrib. Looks like there was a bug in the async methods. [tidusjar] - -- Updater wouldn't work when running a reverse proxy #236. [tidusjar] - -### **Fixes** - -- Bump build ver. [tidusjar] - -- Use HTTPS for the poster images, so there aren't any mixed content warnings when serving the application via an HTTPS reverse proxy. [Sean Callinan] - -- Removed static declarations. [tidusjar] - -- Fixed styling on modal. [tidusjar] - -- Made the search page all async goodness #278. [tidusjar] - -- Made the request module async #278. [tidusjar] - -- Started some dynamic scrolling. [tidusjar] - -- Stop dumping out the settings to the log. [tidusjar] - -- Made more async goodness. [tidusjar] - -- Made some of the searching async #278. [tidusjar] - -- Fixed #277. [tidusjar] - -- Reworked some tests. [tidusjar] - -- #26q make the auth users list taller. [Drewster727] - -- Fix 404 error. [Drewster727] - -- #262 make the auth users list taller. [Drewster727] - -- #221 delete requests per category. [Drewster727] - -- #256 #237 UI Improvements and consolidation. [Drewster727] - -- Fixed a bug in the user notification where if an admin wants to be notified they wouldn't be. [tidusjar] - -- Set the admin to have all claims. [tidusjar] - -- Fix null exception possibility in cp/sickrage cacher classes. [Drewster727] - -- Fixed #244. [tidusjar] - -- Fixed #240. [tidusjar] - -- Fixed #270. [tidusjar] - -- Fixed an issue where if you have only 1 plex friend it would not show in the list. [tidusjar] - - -## v1.7.4 (2016-05-25) - -### **New Features** - -- Update README.md. [Jamie] - -### **Fixes** - -- Fixed #252. [tidusjar] - -- Fixed #428. [tidusjar] - -- Version bump. [tidusjar] - -- Fixed tests. [tidusjar] - -- Fully fixed #239. [tidusjar] - -- We wan't updating the DB schema. [tidusjar] - - -## v1.7.3 (2016-05-25) - -### **Fixes** - -- Fixed the release build issue where we could not access the settings #239. [tidusjar] - - -## v1.7.2 (2016-05-25) - -### **Fixes** - -- Fixed a small bug where an exception would get thrown. [tidusjar] - -- Build version bump. [tidusjar] - -- Cleanup. [tidusjar] - -- Typo. [tidusjar] - -- Fixed #241. [tidusjar] - -- Fixed #239. [tidusjar] - -- Fixed #238. [tidusjar] - -- Small UI tweaks/improvements. [Drewster727] - - -## v1.7.1 (2016-05-24) - -### **New Features** - -- Update version. [tidusjar] - -### **Fixes** - -- Fixed an issue with the auth page when running with a reverse proxy. [tidusjar] - - -## v1.7 (2016-05-24) - -### **New Features** - -- Update appveyor.yml. [Jamie] - -- Update README.md. [Jamie] - -- Update README.md. [Jamie] - -- Added the ability to get the apikey from the api if you provide a correct username and password. Added more unit tests Added the ability to change a users password using the api refactored the Usermapper and made it unit testsable. [tidusjar] - -- Update. [tidusjar] - -- Added in an audit table. Since we are now allowing multiple users to change and modify things we need to audit this. [TidusJar] - -- Added the updater to the soloution and did a bit of starting code. [TidusJar] - -- Updated the claims so we can support more users. Added a user management section (not yet complete) Added the api to the solution and a api key in the settings (currently only gets the requests). [TidusJar] - -- Updated packages. [TidusJar] - -- Added a retry handler into the solution. We can now retry failed api requests. [TidusJar] - -- Update README.md. [Jamie] - -- Added Released propety to RequestViewModel. Added Released filter to the Requests page. [Chris Lees] - -- Added #27 to albums. [tidusjar] - -- Added the actual notification part of #27. [tidusjar] - -- Added the missing baseurl bit on the login page for #72. [tidusjar] - -- Added the 'enable user notifications' to the email settings view and model. [tidusjar] - -- Update README.md. [Jamie] - -### **Fixes** - -- Remove pointless test, change the default theme and fix a small bug. [tidusjar] - -- Fixed api. [tidusjar] - -- Finished #26. [tidusjar] - -- Plex theme. [tidusjar] - -- Implimented a theme changer, waiting for the Plex theme. [tidusjar] - -- Finished #222 #205. [tidusjar] - -- Started working on #26. [tidusjar] - -- Undid some small changes that was checked in by accident. [tidusjar] - -- #164 has been resolved. [tidusjar] - -- Resolved #224 , Removed the 'SSL' option from the email notification settings. We will now use the correct secure socket options (SSL/TLS) for your email host. [tidusjar] - -- Small changes. [tidusjar] - -- #27 fully finished. [tidusjar] - -- Fixed #215. [tidusjar] - -- Using Mailkit to fix #204. [tidusjar] - -- Color. [tidusjar] - -- Fully finished #27 just need to test it! [tidusjar] - -- Fixed test. [tidusjar] - -- Styling for #27. [tidusjar] - -- I think the auto updater is finished! #29. [tidusjar] - -- I think we have finished the main bulk of the auto updater #29. [tidusjar] - -- #222 #205 more ! Started getting the settings out. [tidusjar] - -- Removed the service locator from the base classes and added in some Api tests added all the tests back in! [tidusjar] - -- More work on the api and documentation #222 #205. [tidusjar] - -- Started documenting the API we now have swagger under ~/apidocs #222 #205. [tidusjar] - -- Api work for #205 Refactored how we check if the user has a valid api key Added POST request, PUT and DELTE. [tidusjar] - -- First pass of the updater working. #29. [tidusjar] - -- Removed SIGHUP from the termination list #220. [tidusjar] - -- Fixed. [tidusjar] - -- Missing. [tidusjar] - -- Missed out a file. [TidusJar] - -- And some more... [TidusJar] - -- Missed some files. [TidusJar] - -- A bit more work on switching to using user claims so we can support multiple users. [TidusJar] - -- Made the store backup clean up some of the older backups (> 7 days). [TidusJar] - -- More work on the user management. [TidusJar] - -- - Notifications will no longer be send to the admins if they request something. - Looks like we missed out adding the notifications to Music requests, so I added that in. [TidusJar] - -- - Improved the RetryHandler. - Made the tester buttons on the settings pages a bit more robust and added an indication when it's testing (spinner) [TidusJar] - -- Packages. [TidusJar] - -- Nm, [TidusJar] - -- Downgraded packages. [TidusJar] - -- Better handling for #202. [TidusJar] - -- Finished #208 and #202. [TidusJar] - -- This should help #202. [TidusJar] - -- Resolved #209. [TidusJar] - -- Finished #209. [TidusJar] - -- Slight adjustments to #189. [tidusjar] - -- - Added a visual indication on the UI to tell the admin there is a update available. - We are now also recording the last scheduled run in the database. [tidusjar] - -- Did the login bit on #185. [tidusjar] - -- Finished #186. [tidusjar] - -- Fixed #185. [tidusjar] - -- Fixed issue in #27 with albums. [tidusjar] - -- #27 added TV Search to the notification. [tidusjar] - -- Fixed bug. [tidusjar] - -- More work on #27 Added a new notify button to the search UI (Needs styling). Also fixed a bug where if the user could only see their own requests, if they search for something that has been requested, it will show as requested. [tidusjar] - -- Improved the startup of the application. We now properaly parse any args passed into the console. [tidusjar] - -- Additional cacher error handling + don't bother checking the requests when we don't get data back from plex. [Drewster727] - -- Remove old migration code and added new migration code. [tidusjar] - -- Stop the Cachers from bombing out when the response from the 3rd party api returns an exception or invalid response. #171. [tidusjar] - -- Increase the scheduler cache timeframe to avoid losing cache when the remote api endpoints go offline (due to a reboot or some other reason) -- if they're online, the cache will get refreshed every 10 minutes like normal. [Drewster727] - -- Fix the cacher by adding locking + extra logging in the plex checker + use a const key for scheduler caching time. [Drewster727] - -- Small changes. [tidusjar] - -- Switched out the schedulers, this seems to be a better implimentation to the previous and is easier to add new "jobs" in. [tidusjar] - -- Fixed #168. [tidusjar] - -- Fixed #162. [tidusjar] - -- Fix saving the log level. [Drewster727] - -- Set the max json length (fixes large json response errors) [Drewster727] - - -## v1.6.1 (2016-04-16) - -### **New Features** - -- Update README.md. [Jamie] - -- Added a url base. [tidusjar] - -- Change default logging. [tidusjar] - -- Added logging around SickRage. [tidusjar] - -### **Fixes** - -- Bump up the version number ready for the release. [tidusjar] - -- BaseUrl is finally finished! #72. [tidusjar] - -- #72 Login page done. [tidusjar] - -- More changes for the urlbase #72. [tidusjar] - -- Done the auth, cp, logs and sidebar for #72. [tidusjar] - -- Add an extra check when determining if a tv show is already available (also check if it starts with the show name returned from the tv db) [Drewster727] - -- Cache plex library data regardless of whether we have requests in the database or not. [Drewster727] - -- By default don't use a url base. [tidusjar] - -- Return empty array when obtaining queued IDs in sickrage cacher. [Drewster727] - -- Fixed a small bug in the SR cacher. [tidusjar] - -- Fixed when we do not have a base. [tidusjar] - -- More changes for #72. [tidusjar] - -- Fixed exception and all areas will now use the base url #72. [tidusjar] - -- Removed the test code from #72. [tidusjar] - -- Commented out the unit tests as they need to be reworked now. [tidusjar] - -- Finally fixed #72. [tidusjar] - -- Remove test code from plex api GetLibrary method. [Drewster727] - -- Finished up the caching TODO's. [tidusjar] - -- Kick off the schedulers once the web app has started (fixes api errors on start) [Drewster727] - -- Converted the UI back down to .NET 4.5.2. [tidusjar] - -- Fixed #154. [tidusjar] - -- Revert everything (except PlexRequests.UI) back to .NET 4.5.2 -- fixes incompatibilities with the latest version of mono (4.2.3.4) -- fixes notifications not working #152 #147 #141. [Drewster727] - -- #150 start caching plex media as well. refactored the availability checker. NEEDS TESTING. also, we need to make the Requests hit the plex api directly rather than hitting the cache as it does now. [Drewster727] - -- #150 split out the cache subscriptions to make sure they subscribe properly. [Drewster727] - -- #150 sonarr/sickrage cache checking. sickrage has a couple small items left. [Drewster727] - -- Fixed args. [tidusjar] - -- Fixed. [tidusjar] - -- Made the base better. [tidusjar] - -- Remove couchpotato api test code. [Drewster727] - -- Start the initial couchpotato cache call on a separate thread to keep the startup process quick. [Drewster727] - -- Add csproj with file changes from previous commit. [Drewster727] - -- Cache the couchpotato wanted list, update it on an interval, and use it to determine if a movie has been queued already. [Drewster727] - -- I think i've fixed an issue where SickRage reports Show not found. [tidusjar] - -- Set the default log level to info. #141. [tidusjar] - -- #125 refactor async task logic to work with mono. [Drewster727] - -- Fix search spinner sticking around after clearing search text + make the "Requested" and "Available" indicators in the search page different colors. [Drewster727] - -- #125 start indicating in the results if an item is already requested or available. [Drewster727] - -- #145 firefox css dsplay issue. [Drewster727] - -- Fixes for sonarr, we now display the error messages back to the user. [tidusjar] - -- Fixed #144. [tidusjar] - - -## v1.6.0 (2016-04-06) - -### **New Features** - -- Changed the build number. [tidusjar] - -- Update README.md. [Drew] - -- Update README.md. [Drew] - -- Update README.md. [Drew] - -- Update README.md. [Drew] - -- Changed the title to a contains but the artist still must match, [tidusjar] - -- Added unit tests to cover the new changes to the availability checker. [tidusjar] - -- Added the music check in the Plex Checker. [tidusjar] - -- Changed around the startup so we cache the profiles after the DB has been created. [tidusjar] - -- Updated where we update the request blobs schema change. [tidusjar] - -- Update SearchModule.cs. [Jamie] - -- Update README.md. [Jamie] - -- Update README.md. [Jamie] - -- Change the new columns type. [tidusjar] - -- Added a DBSchema so we have an easier way to update the DB. [tidusjar] - -- Added an issue template. [tidusjar] - -- Update README.md. [Jamie] - -- Added back the username into the Session when the admin logs in. This means they do not have to log in twice. [tidusjar] - -- Added happy path tests for the Checker. [tidusjar] - -- Added music to the search and requests page. [tidusjar] - -- Added a scroll to the top thingy and a bit more work on headphones. [tidusjar] - -- Added some tests and fixed the issue where the DB would get created in the wrong place depending on how you launched the application. [tidusjar] - -- Added the settings page for #32. [tidusjar] - -- Update README.md. [Drewster727] - -- Update README.md. [Drewster727] - -- Update README.md. [Drewster727] - -- Update README.md. [Drewster727] - -- Update README.md. [Drewster727] - -- Update appveyor.yml. [Jamie] - -### **Fixes** - -- Some final tweaks for #32. [tidusjar] - -- Fixed a bug where if we are the admin we didn't add the request to the db. [tidusjar] - -- Fixed an issue where we would add the Sickrage series but it would fail on adding the seasons. [tidusjar] - -- Properly account for future/past dates when humanizing with moment. [Drewster727] - -- Properly display release date on requests page. [Drewster727] - -- Add missing reference for release mode. [Drewster727] - -- #139 remove dependency and usage of humanize() - should help with cross-platform issues. start using moment.js. [Drewster727] - -- Fix selectors for music list on request page to get sorting working. [Drewster727] - -- Fixed the error #32. [tidusjar] - -- Fixed the logs page. [tidusjar] - -- Another attempt at filtering #32. [tidusjar] - -- A bit more error handling #32. [tidusjar] - -- Improved the availabilty check to include music results #32. [tidusjar] - -- Small changes for #32. [tidusjar] - -- A bit more logging for #32. [tidusjar] - -- More headphones #32 I am starting to hate headphones... Sometimes the artists and albums just randomly fail. [tidusjar] - -- #134 temporary workaround for this. [Drewster727] - -- Task.run for startup caching + fix admin module unit test failures. [Drewster727] - -- Cache injection, error handling and logging on startup, etc. [Drewster727] - -- Tweaks for #32. [tidusjar] - -- #132 auto-approve for admins. [Drewster727] - -- Finished the bulk work for Headphones. Needs testing #32. [tidusjar] - -- Made the album search 10x faster. We are now loading the images in a seperate call. #32. [tidusjar] - -- Add a reference to API Interfaces to fix the build. [tidusjar] - -- #114 start caching quality profiles. Set the cache on startup and when obtaining quality profiles in settings. [Drewster727] - -- Work for #32. [tidusjar] - -- #114 first pass at choosing quality profile when approving + focus search input by default and when switching tabs. [Drewster727] - -- #131 fix for default selected tab. [Drewster727] - -- Remove references to obsolete RequestedBy property + start setting the db schema to the app version, and check that in the future for migrations. [Drewster727] - -- Fixed async issue. [Shannon Barrett] - -- Updating SickRage api to verify Season List is up to date. [Shannon Barrett] - -- Work on showing the requests for #32. [tidusjar] - -- Got the search finished up for #32. [tidusjar] - -- Remove test/temp code in UserLoginModule. [Drewster727] - -- A bit more work on #32 started working on requesting it. The DB is a bit of an issue... [tidusjar] - -- Most of the UI work done for #32. [tidusjar] - -- Basic search working for #32. [tidusjar] - -- Mono datetime offset workaround. [Drewster727] - -- #122 store utc time in the databse + obtain timezone offset of the client upon login + offset times returned to client based on session offset. [Drewster727] - -- Method reference bug fix. [Drewster727] - -- Fix search focus z-index issue (hid suggestions options) [Drewster727] - -- Minor search UI adjustments. [Drewster727] - -- #55 first attempt at "suggestions" starting with "Comming Soon" and "In Theaters" [Drewster727] - -- #106 rename sorting options and polish the dropdown UI a bit. [Drewster727] - -- Started adding the api part for headphones #32. [tidusjar] - -- Upped the time of #123. [tidusjar] - -- First attempt at #123. [tidusjar] - -- We now do not show the text Requested By to the user, we also show a 'success' message instead of a warning when something has already been requested. [tidusjar] - -- Show a "no requests yet" message on the requests page (for each cateogory) [Drewster727] - -- Ignore items that are already available when approving in bulk, and simplify the checking + compile css. [Drewster727] - -- Add a better way to merge RequestedBy and RequestedUsers to avoid code duplication and simplify checks. [Drewster727] - -- Don't query the session as much in the modules, rely on a variable from the base class and store the username as needed. [Drewster727] - -- Show the requested by user from legacy request models. [Drewster727] - -- Only show requested by users to admins + start maintaining a list of users with each request. [Drewster727] - -- #96 fix up notification test feature. [Drewster727] - -- Fix the request page sort/approve button alignment. [Drewster727] - -- When pulling requests, set each to approved that is already available (so the UI avoids showing the approve option for already available content) [Drewster727] - -- Mono doesn't seem to have Tls1.2. Let's try TLS 1 #119. [tidusjar] - -- Specify a protocol type of TLS12. Looks like CP doesn't seem to like SSL3 (it is quite old now so understandable) #119. [tidusjar] - -- Made #85 better. [tidusjar] - -- Fixed the tests. [tidusjar] - -- Made the feedback from Sonarr better when Sonarr already has the series #85. [tidusjar] - -- An attempt to fix #108. [tidusjar] - -- Add some "no results" feedback to the searching + minor UI improvements. [Drewster727] - -- Fix notification tests. [Drewster727] - -- UI - increase icon size of nav menu (they were too small before) [Drewster727] - -- #96 Finished adding test functionality to notifications. [Drewster727] - -- #96 add the necessary back-end code to produce a test message for all notification types (still have to add the test buttons for pushbullet/pushover) [Drewster727] - -- #96 modify notifications interface/service to accept a non-type specific settings object. [Drewster727] - -- #96 Email notification test button (others to come) [Drewster727] - -- Minor UI adjustments. [Drewster727] - -- #84 provide an option in settings to resttrict users from viewing requests other than their own. [Drewster727] - -- #54 comma separated list of users who don't require approval + fix a couple request messages (include show title) [Drewster727] - -- Clean up the sorting option names. add a way to see which filter/sort is currently applied. [Drewster727] - -- Fix up the animations. seems to be related to the data-bound attribute causing the animtions not to fire on each .mix object. [Drewster727] - -- Move approve buttons to the tab content. [Drewster727] - -- Allow approving all requests by category. [Drewster727] - -- Fix up sorting on the request page. [Drewster727] - -- Add ubuntu/debian instructions. [Drewster727] - -- #86 - display movie/show title + year in request notifications. [Drewster727] - -- Show the movie/show title when requesting. [Drewster727] - - -## v1.5.2 (2016-03-26) - -### **Fixes** - -- Stoped users from spamming the request button. [tidusjar] - -- Fixed the logger no longer writing to the file. [tidusjar] - -- Fixed #97. [tidusjar] - - -## v1.5.1 (2016-03-26) - -### **New Features** - -- Update appveyor.yml. [Jamie] - -- Added logs to the sidebar. I'm an idiot. [tidusjar] - -### **Fixes** - -- Approve tv shows or movies. [Drewster727] - -- Fixed a bug where if you had auto approve it wouldn't notify you. [tidusjar] - - -## v1.5.0 (2016-03-25) - -### **New Features** - -- Updated version number for release. [tidusjar] - -- Updated the logic for handling specific seasons in Sonarr and Sickrage. [Shannon Barrett] - -- Updated the readme and added some icons to the navbar. [tidusjar] - -- Added the ability to sepcify a username in the email notification settings for external MTA's. We have had to add a new option called Email Sender because of this. #78. [tidusjar] - -- Update README.md. [Jamie] - -- Update README.md. [Jamie] - -- Added a notification model to the notifiers. Added the backend work for sending a notification for an issue report #75. [tidusjar] - -- Added a subdir to CP, SickRage, Sonarr and Plex #43. [tidusjar] - -### **Fixes** - -- And again. [tidusjar] - -- Made the check actually work. [tidusjar] - -- Finished up #68 and #62. [tidusjar] - -- Finished styling on the logger for now. #59. [tidusjar] - -- Fixed #69. [tidusjar] - -- Working on getting the Sonarr component to work correctly. [Shannon Barrett] - -- Fixes issue #62. [Shannon Barrett] - -- Refactored the Notification service to how it should have really been done in the first place. [tidusjar] - -- Fixed the build. [tidusjar] - -- Finished #49. [tidusjar] - -- Finished #57. [tidusjar] - -- Small changes around the filtering. [tidusjar] - -- Finished adding pushover support. #44. [tidusjar] - -- Resolved #75. [tidusjar] - -- Include DB changes. [tidusjar] - -- Done most on #59. [tidusjar] - -- Lowercase logs folder, because you know, linux. #59. [tidusjar] - -- Adding the imdb when requesting. [tidusjar] - -- Fixed an issue where the table didn't match the model. [tidusjar] - -- Improved the status page with the suggestion from #29. [tidusjar] - -- Hooked up most of #49 Just the validation messages need to be done. [tidusjar] - -- Fixed #74 and #64. [tidusjar] - -- Resolved #70. [tidusjar] - -- Finished #71. [tidusjar] - -- Got the filter working on both movie and tv #57. [tidusjar] - -- Started #57, currently there is a bug where the TV list won't filter. [tidusjar] - - -## v1.4.1 (2016-03-20) - -### **New Features** - -- Update appveyor.yml. [Jamie] - -- Update AvailabilityUpdateService.cs. [Jamie] - - -## v1.4.0 (2016-03-19) - -### **New Features** - -- Update README.md. [Jamie] - -- Update README.md. [Jamie] - -- Update README.md. [Jamie] - -- Update README.md. [Jamie] - -- Updated the build version ready for the next release. [tidusjar] - -- Added the api and settings page for Sickrage. Just need to do the tester and hook it up #40. [tidusjar] - -- Added the option to set a CP quality #38. [tidusjar] - -- Added the code to lookup the old requests and refresh them with new information from TVMaze. [tidusjar] - -- Update StatusCheckerTests.cs. [Jamie] - -- Update README.md. [Jamie] - -- Added TVMaze to the search. #21. [tidusjar] - -- Added migration code and cleaned up the DB. [tidusjar] - -- Updated the way we add requests. [tidusjar] - -- Updated the Dapper.Contrib package, it had a bug where it wasn't returning the correct Id from inserts. [tidusjar] - -### **Fixes** - -- This fixes #36. [tidusjar] - -- Should fix issue #36. [Shannon Barrett] - -- When we do a batch update we need to reset the cache. [tidusjar] - -- Fixed an issue where the default quality on Sickrage wouldn't work. [tidusjar] - -- Wow, that was a lot of work. - So, I have now finished #40. - Fixed a bug where we was not choosing the correct tv series (Because of TVMaze) - Fixed a bug when checking for plex titles - Fixed a bug where the wrong issue would clean on the UI (DB was correct) - Refactored how we send tv shows - And too many small changes to count. [tidusjar] - -- Fixed the new dependancy with the admin class tests. [tidusjar] - -- Back to what it was :( [tidusjar] - -- Another test for #37. [tidusjar] - -- This should fix #37. [Jamie Rees] - -- Catch the missing table exception when they have a new DB. [Jamie Rees] - -- Exploratory test for #37. [Jamie Rees] - -- Fixed #33 we now have SSL options for Sonarr and CP. [Jamie Rees] - -- Removed all the html from the new TVMaze api (for overview). Added tests to cover the html removal. updated Readme to remove TheTVDB. [Jamie Rees] - -- Fixed tests. [Jamie Rees] - -- Almost fully integrated TVMaze #21 and also improved the fix for #31. [Jamie Rees] - -- Should fix #28. [Shannon Barrett] - -- Fixed #16 and #30. [tidusjar] - -- Modified the adding of request to update the model with the added ID. [tidusjar] - -- Switched over to the new service. [tidusjar] - -- Fixed #25. [Jamie Rees] - - -## v1.3.0 (2016-03-17) - -### **New Features** - -- Added pushbullet to the sidebar. [Jamie Rees] - -- Updated build version for the next release. [Jamie Rees] - -- Updated readme link. [tidusjar] - -- Added ignore to static tests. [tidusjar] - -- Added Pushbullet notifications #8. [tidusjar] - -- Added first implimentation of the Notification Service #8 Added tests to cover the notification service. [tidusjar] - -- Added validation to the Email settings, also increased the availability checker from 2 minutes to 5. [tidusjar] - -### **Fixes** - -- Fixed #22. [Jamie Rees] - -- Started on #16, nothing is hooked up yet. [tidusjar] - -- Fixed tests. [tidusjar] - - -## v1.2.1 (2016-03-16) - -### **New Features** - -- Update Program.cs. [Jamie] - -- Update Program.cs. [Jamie] - -- Added back the reference. [tidusjar] - -### **Fixes** - -- Removed the email notification settings from the settings (for release 1.2.1) [Jamie Rees] - -- Fixed. [Jamie Rees] - -- Resolved #10. [tidusjar] - - -## v1.2.0 (2016-03-15) - -### **New Features** - -- Updated. [Jamie Rees] - -- Updated appveyor. [Jamie Rees] - -- Update appveyor.yml. [Jamie] - -- Added latest version code and view. Need to finish the view #11. [tidusjar] - -- Added test button to Plex. That's fixed #9. [tidusjar] - -- Added test sonarr button #9. [tidusjar] - -- Added more tests. [tidusjar] - -- Added a bunch of logging. [tidusjar] - -- Added the application tester for CP #9. [tidusjar] - -- Added settings page for #8. [tidusjar] - -- Added pace.js. [tidusjar] - -### **Fixes** - -- Finished the notes! Resolved #7. [Jamie Rees] - -- #12. [Jamie Rees] - -- #12. [Jamie Rees] - -- Finished the status page #11 and some more work to #12. [Jamie Rees] - -- Resolved #7. [tidusjar] - -- Small changes. [tidusjar] - -- Yeah... [tidusjar] - -- Fixed #5 and also added some tests to the availability checker. [tidusjar] - -- Started added tests. [Jamie Rees] - -- Fixed an issue where the issues text appears larger. [Jamie Rees] - - -## v1.1 (2016-03-13) - -### **New Features** - -- Update appveyor.yml. [Jamie] - -- Updated readme. [Jamie Rees] - -- Added the support for TV Series integrating with Sonarr. [Jamie Rees] - -- Added the functionality to pass a port through an argument. [tidusjar] - -- Added the code to get the quality profiles from Sonarr Started plugging that into the UI. [Jamie Rees] - -- Added the spinners #3. [tidusjar] - -- Added the functionality for the admin to clear the issues. [tidusjar] - -- Added the issues to the requests page. [tidusjar] - -- Added user logout method and unit tests to cover it. [tidusjar] - -- Added DeniedUsers to the view. [tidusjar] - -- Added the denied user check to the UserLoginModule. added a test case to cover it. [tidusjar] - -- Added a missing reference. [tidusjar] - -- Added first real test. [tidusjar] - -- Update README.md. [Jamie] - -- Added the latest version of nuget. [tidusjar] - -- Added travisyml. [tidusjar] - -- Added logging. [tidusjar] - -- Added missing files. [tidusjar] - -- Update README.md. [Jamie] - -- Added logging (Still WIP) [tidusjar] - -- Added favicon and also structured the HTML correctly. [tidusjar] - -- Updated the packages so everything is now with the correct framework (4.5.2) [tidusjar] - -- Added in deletion of requests. [tidusjar] - -- Added test code. [tidusjar] - -- Added dashboard. [tidusjar] - -- Added couchpotato page. [Jamie Rees] - -- Added readme to the project and updated it. [Jamie Rees] - -- Added helpers. [tidusjar] - -### **Fixes** - -- Bug fix, Couchpotato settings wouldn't show in release due to a Nancy bug. [Jamie Rees] - -- Small changes. [Jamie Rees] - -- First release, build 1.0.0. [Jamie Rees] - -- Removed the request limit since it's not currently being used. [Jamie Rees] - -- REmoved Sickbeared for the first release. [Jamie Rees] - -- Fixed #4 We now can manually set the status of a request. [tidusjar] - -- Made the pass in the port a bit more robust. [tidusjar] - -- Styling, Added the functionality for the Sonarr Profiles on the Admin page #2 resolved. [tidusjar] - -- Fixed a bug in the Login and added a unit test to cover that. Added a button to approve an individual request. Fixed some minor bugs in the request screen. [Jamie Rees] - -- Fixed the 'responsive' issue for the search and requests pages #3. [tidusjar] - -- Styling! #3. [tidusjar] - -- Navbar category now will follow you to various screens #3. [tidusjar] - -- Fixed bugs with the 'other' reporting issue and also the clear issues. [tidusjar] - -- We now are appending the users name to who wrote the comment. Rather than it being unknown. [tidusjar] - -- More work on submitting issues. [tidusjar] - -- More test changes. [tidusjar] - -- More tests to cover the login. [tidusjar] - -- Refactoring. [tidusjar] - -- Implimented the password part and authentication with Plex. [tidusjar] - -- Initial Use authentication is working. Need to do the password bit. [tidusjar] - -- Some error handling and ensure we are an admin to delete requests. [tidusjar] - -- Fixed the issue where the Release build would not show the admin screens! [tidusjar] - -- Fixes. [tidusjar] - -- Removed the DI part of the service. TinyIOC doesn't want to work with FluentScheduler. [tidusjar] - -- First pass at the plex update service. [tidusjar] - -- Small changes. [Jamie Rees] - -- Started to impliment the Plex checker. This will check plex every x minutes to see if there is any new content and then update the avalibility of the requests. [Jamie Rees] - -- Mre work. [Jamie Rees] - -- Few small changes, added plex settings. [Jamie Rees] - -- Making the configuration actually do something. Setting a default configuration if there is no DB. [Jamie Rees] - -- Remove post build. [Jamie Rees] - -- Small changes. [Jamie Rees] - -- MOre work. [Jamie Rees] - -- Fixed the issue when sending movies to CouchPotato. [Jamie Rees] - -- Add appveyor. [tidusjar] - -- Build it on 4.5. [tidusjar] - -- Upgraded .net to 4.6. [tidusjar] - -- Typo2. [tidusjar] - -- Typo. [tidusjar] - -- Another update. [tidusjar] - -- Fixed. [tidusjar] - -- More logging to figure out why the we cannot access the admin module in a release build. [tidusjar] - -- Firstpass integrating with CouchPotato. [tidusjar] - -- Some styling. [tidusjar] - -- Fixed the plex friends. Added some unit tests, moved the plex auth into it's own page. [tidusjar] - -- Fully switched the TV shows over to use the other provider. [Jamie Rees] - -- Renamed folders. [tidusjar] - -- Assembly updates. [tidusjar] - -- Moved the rest of the projects. [tidusjar] - -- Moved UI. [tidusjar] - -- Mass rename. [tidusjar] - -- Quick changes. [tidusjar] - -- Started switching the TV over to the new provider (TheTVDB). Currently TV search is partially broken. It will search but we are not mapping all of the details. [tidusjar] - -- Implimented the new TV show Provider (needed for Sonarr TheTvDB) [tidusjar] - -- Started the user auth. [tidusjar] - -- Some work on the requests page. [tidusjar] - -- Made the 'requested' better and made the remove look nicer. [tidusjar] - -- Cleaned up the program a tiny bit. [tidusjar] - -- Removed additional namespace. [tidusjar] - -- Fixed some db issues and added a preview. [Jamie Rees] - -- More work on the settings. [Jamie Rees] - -- Upgraded Json.Net and Nancy packages. [Jamie Rees] - -- Plex friends api. [Jamie Rees] - -- Enabled trace logs. [tidusjar] - -- Sql syntax issue fixed. [tidusjar] - -- Fixed release build. [tidusjar] - -- Small updates including assembly version. [tidusjar] - -- Work on the requests page mostly done. [tidusjar] - -- Work on the TV request. the `latest` parameter is not being passed into the requestTvshow. [tidusjar] - -- Missing file. [tidusjar] - -- Using the IoC container now. [tidusjar] - -- Some plex work. [Jamie Rees] - -- More work. [Jamie Rees] - -- Removed the setup code out of the startup, since we attemtp to connect to the DB before that. [Jamie Rees] - -- Some more work. Need to stop the form submitting on a request. [tidusjar] - -- Moved everything up a directory. [tidusjar] - -- Lots of work! [tidusjar] - -- Done most of the movie search work. [Jamie Rees] - -- First pass with RequestPlex. [tidusjar] - -- Initial commit. [Jamie] - - diff --git a/README.md b/README.md index cc0b8f1b5..b8f98f2d9 100644 --- a/README.md +++ b/README.md @@ -70,10 +70,9 @@ We are planning to bring back these features in V3 but for now you can find a li | Login page | Yes (brand new) | Yes | | Custom Notification Messages | Yes | No | | Sending newsletters | Planned | Yes | -| Send a Mass Email | Planned | Yes | +| Send a Mass Email | Yes | Yes | | SickRage | Yes | Yes | | CouchPotato | Yes | Yes | -| Watcher | Planned | Yes | | DogNzb | Yes | No | | Issues | Yes | Yes | | Headphones | No (support dropped) | Yes | diff --git a/src/Ombi.Core/Authentication/OmbiUserManager.cs b/src/Ombi.Core/Authentication/OmbiUserManager.cs index b9453749d..185677215 100644 --- a/src/Ombi.Core/Authentication/OmbiUserManager.cs +++ b/src/Ombi.Core/Authentication/OmbiUserManager.cs @@ -110,7 +110,8 @@ namespace Ombi.Core.Authentication /// private async Task CheckPlexPasswordAsync(OmbiUser user, string password) { - var result = await _plexApi.SignIn(new UserRequest { password = password, login = user.UserName }); + var login = user.EmailLogin ? user.Email : user.UserName; + var result = await _plexApi.SignIn(new UserRequest { password = password, login = login }); if (result.user?.authentication_token != null) { return true; diff --git a/src/Ombi.Core/IMassEmailSender.cs b/src/Ombi.Core/IMassEmailSender.cs new file mode 100644 index 000000000..be57e35df --- /dev/null +++ b/src/Ombi.Core/IMassEmailSender.cs @@ -0,0 +1,10 @@ +using System.Threading.Tasks; +using Ombi.Core.Models; + +namespace Ombi.Core.Senders +{ + public interface IMassEmailSender + { + Task SendMassEmail(MassEmailModel model); + } +} \ No newline at end of file diff --git a/src/Ombi.Core/Models/MassEmailModel.cs b/src/Ombi.Core/Models/MassEmailModel.cs new file mode 100644 index 000000000..ad09f0cb9 --- /dev/null +++ b/src/Ombi.Core/Models/MassEmailModel.cs @@ -0,0 +1,40 @@ +#region Copyright +// /************************************************************************ +// Copyright (c) 2018 Jamie Rees +// File: MassEmailModel.cs +// Created By: Jamie Rees +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// ************************************************************************/ +#endregion + +using System.Collections.Generic; +using Ombi.Store.Entities; + +namespace Ombi.Core.Models +{ + public class MassEmailModel + { + public string Subject { get; set; } + public string Body { get; set; } + + public List Users { get; set; } + } +} \ No newline at end of file diff --git a/src/Ombi.Core/Senders/MassEmailSender.cs b/src/Ombi.Core/Senders/MassEmailSender.cs new file mode 100644 index 000000000..604224b34 --- /dev/null +++ b/src/Ombi.Core/Senders/MassEmailSender.cs @@ -0,0 +1,95 @@ +#region Copyright +// /************************************************************************ +// Copyright (c) 2018 Jamie Rees +// File: MassEmailSender.cs +// Created By: Jamie Rees +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// ************************************************************************/ +#endregion + +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; +using Ombi.Core.Authentication; +using Ombi.Core.Models; +using Ombi.Core.Settings; +using Ombi.Helpers; +using Ombi.Notifications; +using Ombi.Notifications.Models; +using Ombi.Settings.Settings.Models; +using Ombi.Settings.Settings.Models.Notifications; +using Ombi.Store.Entities; + +namespace Ombi.Core.Senders +{ + public class MassEmailSender : IMassEmailSender + { + public MassEmailSender(IEmailProvider emailProvider, ISettingsService custom, ISettingsService email, + ILogger log, OmbiUserManager manager) + { + _email = emailProvider; + _customizationService = custom; + _emailService = email; + _log = log; + _userManager = manager; + } + + private readonly IEmailProvider _email; + private readonly ISettingsService _customizationService; + private readonly ISettingsService _emailService; + private readonly ILogger _log; + private readonly OmbiUserManager _userManager; + + public async Task SendMassEmail(MassEmailModel model) + { + var customization = await _customizationService.GetSettingsAsync(); + var email = await _emailService.GetSettingsAsync(); + var messagesSent = new List(); + foreach (var user in model.Users) + { + var fullUser = await _userManager.Users.FirstOrDefaultAsync(x => x.Id == user.Id); + if (!fullUser.Email.HasValue()) + { + _log.LogInformation("User {0} has no email, cannot send mass email to this user", fullUser.UserName); + continue; + } + var resolver = new NotificationMessageResolver(); + var curlys = new NotificationMessageCurlys(); + curlys.Setup(fullUser, customization); + var template = new NotificationTemplates() { Message = model.Body, Subject = model.Subject }; + var content = resolver.ParseMessage(template, curlys); + var msg = new NotificationMessage + { + Message = content.Message, + To = fullUser.Email, + Subject = content.Subject + }; + messagesSent.Add(_email.SendAdHoc(msg, email)); + _log.LogInformation("Sent mass email to user {0} @ {1}", fullUser.UserName, fullUser.Email); + } + + await Task.WhenAll(messagesSent); + + return true; + } + } +} \ No newline at end of file diff --git a/src/Ombi.DependencyInjection/IocExtensions.cs b/src/Ombi.DependencyInjection/IocExtensions.cs index 86d6da800..817dfd551 100644 --- a/src/Ombi.DependencyInjection/IocExtensions.cs +++ b/src/Ombi.DependencyInjection/IocExtensions.cs @@ -80,6 +80,7 @@ namespace Ombi.DependencyInjection services.AddTransient(); services.AddTransient(); services.AddTransient(); + services.AddTransient(); } public static void RegisterHttp(this IServiceCollection services) { diff --git a/src/Ombi.Notifications/NotificationMessageCurlys.cs b/src/Ombi.Notifications/NotificationMessageCurlys.cs index f18f145e5..d958cfc74 100644 --- a/src/Ombi.Notifications/NotificationMessageCurlys.cs +++ b/src/Ombi.Notifications/NotificationMessageCurlys.cs @@ -81,11 +81,14 @@ namespace Ombi.Notifications IssueStatus = opts.Substitutes.TryGetValue("IssueStatus", out val) ? val : string.Empty; IssueSubject = opts.Substitutes.TryGetValue("IssueSubject", out val) ? val : string.Empty; NewIssueComment = opts.Substitutes.TryGetValue("NewIssueComment", out val) ? val : string.Empty; - IssueUser = opts.Substitutes.TryGetValue("IssueUser", out val) ? val : string.Empty; + RequestedUser = opts.Substitutes.TryGetValue("IssueUser", out val) ? val : string.Empty; } // User Defined public string RequestedUser { get; set; } + public string UserName => RequestedUser; + public string IssueUser => RequestedUser; + public string Title { get; set; } public string RequestedDate { get; set; } public string Type { get; set; } @@ -102,7 +105,6 @@ namespace Ombi.Notifications public string IssueStatus { get; set; } public string IssueSubject { get; set; } public string NewIssueComment { get; set; } - public string IssueUser { get; set; } // System Defined private string LongDate => DateTime.Now.ToString("D"); @@ -134,6 +136,7 @@ namespace Ombi.Notifications {nameof(IssueSubject),IssueSubject}, {nameof(NewIssueComment),NewIssueComment}, {nameof(IssueUser),IssueUser}, + {nameof(UserName),UserName}, }; } } \ No newline at end of file diff --git a/src/Ombi.Schedule/Jobs/Plex/PlexContentSync.cs b/src/Ombi.Schedule/Jobs/Plex/PlexContentSync.cs index 92111b1cf..1ba4e812a 100644 --- a/src/Ombi.Schedule/Jobs/Plex/PlexContentSync.cs +++ b/src/Ombi.Schedule/Jobs/Plex/PlexContentSync.cs @@ -227,11 +227,21 @@ namespace Ombi.Schedule.Jobs.Plex var existingImdb = false; var existingMovieDbId = false; var existingTvDbId = false; - - existingImdb = await Repo.GetAll().AnyAsync(x => x.ImdbId == item.ImdbId && x.Type == PlexMediaTypeEntity.Show); - existingMovieDbId = await Repo.GetAll().AnyAsync(x => x.TheMovieDbId == item.TheMovieDbId && x.Type == PlexMediaTypeEntity.Show); - existingTvDbId = await Repo.GetAll().AnyAsync(x => x.TvDbId == item.TvDbId && x.Type == PlexMediaTypeEntity.Show); - + if (item.ImdbId.HasValue()) + { + existingImdb = await Repo.GetAll().AnyAsync(x => + x.ImdbId == item.ImdbId && x.Type == PlexMediaTypeEntity.Show); + } + if (item.TheMovieDbId.HasValue()) + { + existingMovieDbId = await Repo.GetAll().AnyAsync(x => + x.TheMovieDbId == item.TheMovieDbId && x.Type == PlexMediaTypeEntity.Show); + } + if (item.TvDbId.HasValue()) + { + existingTvDbId = await Repo.GetAll().AnyAsync(x => + x.TvDbId == item.TvDbId && x.Type == PlexMediaTypeEntity.Show); + } if (existingImdb || existingTvDbId || existingMovieDbId) { // We already have it! diff --git a/src/Ombi.Store/Entities/OmbiUser.cs b/src/Ombi.Store/Entities/OmbiUser.cs index 545d8dd17..28df10ac6 100644 --- a/src/Ombi.Store/Entities/OmbiUser.cs +++ b/src/Ombi.Store/Entities/OmbiUser.cs @@ -32,5 +32,8 @@ namespace Ombi.Store.Entities [NotMapped] public string UserAlias => string.IsNullOrEmpty(Alias) ? UserName : Alias; + + [NotMapped] + public bool EmailLogin { get; set; } } } \ No newline at end of file diff --git a/src/Ombi/ClientApp/app/interfaces/IUser.ts b/src/Ombi/ClientApp/app/interfaces/IUser.ts index 454bd8457..69bc49d0f 100644 --- a/src/Ombi/ClientApp/app/interfaces/IUser.ts +++ b/src/Ombi/ClientApp/app/interfaces/IUser.ts @@ -49,3 +49,14 @@ export interface IMobileUsersViewModel { username: string; devices: number; } + +export interface IMassEmailUserModel { + user: IUser; + selected: boolean; +} + +export interface IMassEmailModel { + subject: string; + body: string; + users: IUser[]; +} diff --git a/src/Ombi/ClientApp/app/services/index.ts b/src/Ombi/ClientApp/app/services/index.ts index b5d7372a6..e43b0ada9 100644 --- a/src/Ombi/ClientApp/app/services/index.ts +++ b/src/Ombi/ClientApp/app/services/index.ts @@ -12,3 +12,4 @@ export * from "./status.service"; export * from "./job.service"; export * from "./issues.service"; export * from "./mobile.service"; +export * from "./notificationMessage.service"; diff --git a/src/Ombi/ClientApp/app/services/notificationMessage.service.ts b/src/Ombi/ClientApp/app/services/notificationMessage.service.ts new file mode 100644 index 000000000..239bcf17c --- /dev/null +++ b/src/Ombi/ClientApp/app/services/notificationMessage.service.ts @@ -0,0 +1,19 @@ +import { PlatformLocation } from "@angular/common"; +import { Injectable } from "@angular/core"; + +import { HttpClient } from "@angular/common/http"; +import { Observable } from "rxjs/Rx"; + +import { IMassEmailModel } from "./../interfaces"; + +import { ServiceHelpers } from "./service.helpers"; + +@Injectable() +export class NotificationMessageService extends ServiceHelpers { + constructor(http: HttpClient, public platformLocation: PlatformLocation) { + super(http, "/api/v1/notifications/", platformLocation); + } + public sendMassEmail(model: IMassEmailModel): Observable { + return this.http.post(`${this.url}massemail/`, JSON.stringify(model) ,{headers: this.headers}); + } +} diff --git a/src/Ombi/ClientApp/app/settings/massemail/massemail.component.html b/src/Ombi/ClientApp/app/settings/massemail/massemail.component.html new file mode 100644 index 000000000..c0191b322 --- /dev/null +++ b/src/Ombi/ClientApp/app/settings/massemail/massemail.component.html @@ -0,0 +1,50 @@ + + + +
+ Mass Email + +
+
+ + Hey! We need a subject! +
+ +
+ +
+ +
+ +
+ May appear differently on email clients +
+
+
+
+
+ +
+
+
+
+ + +
+
+ + +
+
+ +
+
+ + +
+
+
+ + + +
\ No newline at end of file diff --git a/src/Ombi/ClientApp/app/settings/massemail/massemail.component.ts b/src/Ombi/ClientApp/app/settings/massemail/massemail.component.ts new file mode 100644 index 000000000..a80f7adfe --- /dev/null +++ b/src/Ombi/ClientApp/app/settings/massemail/massemail.component.ts @@ -0,0 +1,75 @@ +import { Component, OnInit } from "@angular/core"; + +import { IMassEmailModel, IMassEmailUserModel } from "../../interfaces"; +import { IdentityService, NotificationMessageService, NotificationService, SettingsService } from "../../services"; + +@Component({ + templateUrl: "./massemail.component.html", +}) +export class MassEmailComponent implements OnInit { + + public users: IMassEmailUserModel[] = []; + public message: string; + public subject: string; + + public missingSubject = false; + + public emailEnabled: boolean; + + constructor(private readonly notification: NotificationService, + private readonly identityService: IdentityService, + private readonly notificationMessageService: NotificationMessageService, + private readonly settingsService: SettingsService) { + } + + public ngOnInit(): void { + this.identityService.getUsers().subscribe(x => { + x.forEach(u => { + this.users.push({ + user: u, + selected: false, + }); + }); + }); + this.settingsService.getEmailSettingsEnabled().subscribe(x => this.emailEnabled = x); + } + + public selectAllUsers() { + this.users.forEach(u => u.selected = !u.selected); + } + + public selectSingleUser(user: IMassEmailUserModel) { + user.selected = !user.selected; + } + + public send() { + if(!this.subject) { + this.missingSubject = true; + return; + } + if(!this.emailEnabled) { + this.notification.error("You have not yet setup your email notifications, do that first!"); + return; + } + this.missingSubject = false; + // Where(x => x.selected).Select(x => x.user) + const selectedUsers = this.users.filter(u => { + return u.selected; + }).map(u => u.user); + + if(selectedUsers.length <=0) { + this.notification.error("You need to select at least one user to send the email"); + return; + } + + const model = { + users: selectedUsers, + subject: this.subject, + body: this.message, + }; + this.notification.info("Sending","Sending mass email... Please wait"); + this.notificationMessageService.sendMassEmail(model).subscribe(x => { + this.notification.success("We have sent the mass email to the users selected!"); + }); + } +} diff --git a/src/Ombi/ClientApp/app/settings/settings.module.ts b/src/Ombi/ClientApp/app/settings/settings.module.ts index 4a3da70e8..f10df8448 100644 --- a/src/Ombi/ClientApp/app/settings/settings.module.ts +++ b/src/Ombi/ClientApp/app/settings/settings.module.ts @@ -7,7 +7,8 @@ import { ClipboardModule } from "ngx-clipboard/dist"; import { AuthGuard } from "../auth/auth.guard"; import { AuthService } from "../auth/auth.service"; -import { CouchPotatoService, EmbyService, IssuesService, JobService, MobileService, PlexService, RadarrService, SonarrService, TesterService, ValidationService } from "../services"; +import { CouchPotatoService, EmbyService, IssuesService, JobService, MobileService, NotificationMessageService, PlexService, RadarrService, + SonarrService, TesterService, ValidationService } from "../services"; import { PipeModule } from "../pipes/pipe.module"; import { AboutComponent } from "./about/about.component"; @@ -19,6 +20,7 @@ import { EmbyComponent } from "./emby/emby.component"; import { IssuesComponent } from "./issues/issues.component"; import { JobsComponent } from "./jobs/jobs.component"; import { LandingPageComponent } from "./landingpage/landingpage.component"; +import { MassEmailComponent } from "./massemail/massemail.component"; import { DiscordComponent } from "./notifications/discord.component"; import { EmailNotificationComponent } from "./notifications/emailnotification.component"; import { MattermostComponent } from "./notifications/mattermost.component"; @@ -66,6 +68,7 @@ const routes: Routes = [ { path: "Issues", component: IssuesComponent, canActivate: [AuthGuard] }, { path: "Authentication", component: AuthenticationComponent, canActivate: [AuthGuard] }, { path: "Mobile", component: MobileComponent, canActivate: [AuthGuard] }, + { path: "MassEmail", component: MassEmailComponent, canActivate: [AuthGuard] }, ]; @NgModule({ @@ -114,6 +117,7 @@ const routes: Routes = [ IssuesComponent, AuthenticationComponent, MobileComponent, + MassEmailComponent, ], exports: [ RouterModule, @@ -131,6 +135,7 @@ const routes: Routes = [ PlexService, EmbyService, MobileService, + NotificationMessageService, ], }) diff --git a/src/Ombi/ClientApp/app/settings/settingsmenu.component.html b/src/Ombi/ClientApp/app/settings/settingsmenu.component.html index e1b6d8140..1ac8da4c8 100644 --- a/src/Ombi/ClientApp/app/settings/settingsmenu.component.html +++ b/src/Ombi/ClientApp/app/settings/settingsmenu.component.html @@ -55,6 +55,7 @@