* Add Slack::Announcer and SlackClient
* Add Slack::Messengers::Feedback class
* Use Slack::Messengers::Feedback and refactor test
* Should not raise an error if params are nil, let the job fail
* Add Slack::Messengers::Sponsorship
* Rename spec
* Use Slack::Messengers::Sponsorship
* Add Slack::Messengers::PotentialSpammer
* Use Slack::Messengers::PotentialSpammer
* Add Slack::Messengers::RateLimit and use it
* Refactor a bit and improve tests
* Add Slack::Messengers::Note and use it
* Use Slack::Announcer and fix spec
* Fix specs
* Update app/services/slack/announcer.rb
Co-Authored-By: Vaidehi Joshi <vaidehi.sj@gmail.com>
* Implement review suggestions
* Empty commit to trigger Travis
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
* Add ProMembership model
* Implement ProMembershipsController#create
* Implement basic ProMembershipsController#show
* Add ProMembership to ledger
* Populate user history after pro subscription is created
* Add fields for expiration notifications
* Add ProMemberships::ExpirationNotifier to notify users of expiring memberships
* Add tasks for recurring jobs to notify users of expiration
* Add auto_recharge column to ProMembership
* Add ProMemberships::Biller (incomplete)
* Fix specs
* Add ProMembership to Administrate
* Fix spec
* Add has_enough_credits? to User and Organization
* Add Payments::Customer class
* Finish ProMembership::Biller functionality
* Fix ProMemberships::Creator check for credits
* Disable destroy actions for ProMembershipsController
* Correctly authenticate ProMembershipsController actions
* Make sure only pro user's history can be indexed
* Add ProMembershipsController#update action for auto recharge
* Use regular AR to save new credits and add touch to the purchaser
* Clarify Pro membership create policy
* Display information about an existing pro membership
* Add UI to show page
* Add system test for Pro membership creation
* Implement edit membership
* Make sure users with pro memberships can access history and dashboard pro
* Fix padding issue
* Show a different text for a user that has credits but not enough for Pro
* Move Pro Membership functionality inside settings
* Update Pro Membership link in email notifications
* Bust all relevant caches
* Add the Pro checkmark around the website
* Use Users::ResaveArticlesJob instead of delay
* Add/remove user from pro-members chat channel
* Use the appropriate Pro checkmark
* Remove unfinished pro elements
* Remove checkmark JS
* show blurb for tag sponsors
* check that sponsorhip is live and account for expiration time
* automatically add expiration date to tags
* update tag offering
* rewrite tag auto expiration
* night mode compatibility for sponsor logos
* fix spec
* update specs
* Small css adjustment
* Add Sponsorship model
* Add Sponsorship to admin
* Add correct relationships between models
* Add temporary script to migrate sponsorship data
* Use constants for enums
* Use Sponsorship model in PartnershipsController
* Use Sponsorship in the views
* Validate sponsorship levels and tag combos
* Replace the rest of the sponsorship code to use Sponsorship
* Transform GET sign in links into POST
* Ignore CVE-2015-9284 for now
* Update app/views/layouts/_signup_modal.html.erb
Co-Authored-By: Mac Siri <krairit.siri@gmail.com>
* Modify sponsorship copy
* Update sponsorship stuff
* Fix spec and add tag sponsorship