* Add ApplicationMetalController to relevant controllers
* Add request forgery protection to metal
* Remove logger call
* Add logger keyword and skip protect_from_forgery in test
* Uncomment main_image in test
* Listings creation and update API
- new listings controller
- refactored code to share core functionnality between api and web controllers
- code in common in classified listing concerns
- added tests for index/create/update
- json output as views
- updated a factory
* Listings creation and update API: code update
- refactored json calls
- added test cases
- added pagination for list of listings
- refactored jbuilder files
- typos
* Listings creation and update API: code update
- tags and tag_list in controller
- changed view to display both
- refactored and added test
* Listings creation and update API: code update
- small change to resolve conflit
* Listings creation and update API: code update
- added test case
- deleted unneeded test case
* wip init handle draft class and styling
* add draft button
* start splitting up listing row into multile files
* separate tag links
* split location
* fix location
* separate listing row action buttons
* update listing row proptypes to describe listing object
* contact via connect to jsx
* fix default checked
* init draft creation and first publish charge
* fix first publish logic and credit charging
* handle drafts in dashboard filtering
* adjust isDraft bool statement
* hide drafts from main listings feed
* fix expired and draft bools in listing row
* adjust create listing org credits
* internally handle drafts
* adjust listing row
* break down update method
* remove unnecessary logic and shorten lines
* fix logic again woops
* convert input hidden value + submit into one form button submit with corresponding name and value
also adds clear message that drafts do not cost credits
* handle insufficient org credits on first publish
- uses user credits to publish
- similar to bump implementation
* fix sorting for personal and all orgs
* space out some elements
* don't spend original users credit for them
* add delete buttons and delete_confirm and destroy methods
* remove notification removal since listings dont trigger notifications
* move draft message and add draft_params to tests
* Update classified_listings_controller.rb
* update tests
* update snapshot
* add del tests
* add guard preventing free draft publish
* fix draft filter
* update from master and resolve merge conflict in listing preact
* Revert "update from master and resolve merge conflict in listing preact"
This reverts commit 0a34fccf334a2ca0902644b486cb26ead6bef664.
* update column spec
instead of setting and saving
* separate two expectations into their own tests
* split more tests into single expectations
* change to unless bumped_at? instead of if nil
* Fix listing draft edge cases and styling
* Add title tags to listings pages
* add expire_on column to classified_listings
* add expire_on to valid listing params
* add expire_on to model
* add expire date to new listing form
* add field in edit form
* add expiry dates to dashboard
* update expiry date in listing toolkit
* WIP unpublish job and test
test still has to run properly
* add job to class name
* change job to rake task
* revert snap change
* delete migration file
will add new one and revert schema changes to rename column
* reset schema
* add new migration to schema 'expires_at'
* change expire_on to expires_at
* add location to classified_listings
create rails migration and ran rake db:migrate
* add faker city to seed
* add location to index json
* add location as searchable attribute in algolia
* add form text field for adding location to new listing
* add location to dashboard json
* add location field for editing listings
* add location to listing_params in controller
* add location to single listing view
* add location to listing row in dashboard
* add location to dashboard test
* adjust listing dashboard row spacing
* reduce character limit
* reduce lines of conditional html elements
* compress listing card const
* fix form call for location in edit page
* update snapshot in dashboard
* add location length validation in listing model
* shorten limit and update location in edit page
* Add #purchase to Credit
* Assigns spent credits to the listing
* Add Credits::Ledger and use it
* Localize ledger datetimes
* Add organization to the ledger
* Add tests for ledger
* Remove unused class
* Fix scope error
* Compare UTC times
* Fix broken specs
* Wrap listing create in a transaction
* Wrap listings bump into a transaction
* Avoid microseconds issue with datetimes in tests
* Use .detect instead of .select.first
* Fix spec description
* added organization policy + spec
* user specs for is_org_admin?
* added authroize to organization controller
* admin policy + specs
* deleted enforce admin due to pundit policy redundancy
* applied admin policy to entire admin namespace
* refactoring analytics controller WIP - wanna test codeship
* Add protection against reactions to unpublished articles (#473)
* Add chat channel policy and spec (#474)
* Add comment policy and specs (#475)
* Fix edge case with apostrophes
* Add comment policy and specs
* Add login for deleting comment spec
* Change test to raise pundit error instead of 404
* Clean up comment destroy request specs
* Remove redundant raise
* Whitelist columns on to_json call (#477)
* Add pundit policy for several controllers (#476)
* Add pundit policy for several controllers
* Adjust video spec
* Fix tag request specs
* Add proper twilio tokens request specs
* Remove puts statements
* Add a couple basic request specs (#478)
* Add a few tests and fix user tag color bug (#482)
* Refactor handle_tag_index in stories_controller (#481)
* Modify valid_request_origin? (#483)
* Add misc specs and remove banned attribute from user model (#484)
* Fix missing Cloudinary tags and misc specs (#486)
* removing current_user_is_admin? to use .is_admin? method
* added missing org policy routes
* Add comment for all public controllers
* Fix edge case for test
* Authorize mod controller and add specs
* Refactor methods via inheritance and use only super_admin role
* Create policy method for analytics via article_policy and refactor
* Capitalize all buttons in dashboard page
* Fix org tests and remove old admin test
* Use only happy path for analytics
* Fix tests to use Pundit error
* Update org_policy spec