rubycentral / cfp-app

Rails app for managing a conference CFP
MIT License
223 stars 154 forks source link

CRUD for Event Sponsor #257

Closed codyjamesbrooks closed 2 years ago

codyjamesbrooks commented 2 years ago

🟡 Still needs a test suite, but here is a description of the changes so far.

Description of Change

This PR seeks to add a Sponsor model to a CFP Event. The PR also handles most of the CRUD for said Sponsor Model

Reason for Change

Both RubyConf sites and RailsConf sites allow admins to submit Sponsors that are displayed on the conference websites. In order for the CFP app to be able to recreate the conference websites, it will need to be able to store event Sponsors.

Changes

Here is a quick break down of the sponsor model that needs to be recreated

Conference sites Sponsor Model New CFP Sponsor Model (this PR)
name name
tier tier
published published
score
url url
other_title other_title
description
offer_headline
offer_url
banner_url

In addition the conference Sponsor model has the ability to have three logos hang off it. (primary_logo, footer_logo, banner_ad). This PR doesn't seek to accomplish that yet.

The links/buttons/path to interact with the Sponsors resource has been positioned inside the website sub nav. For the time being any event organizers will have the ability to perform any resourceful action on an Event Sponsor.

Minor

It made sense to me to link sponsors to Events. I figured it might be valuable to ask if folks thought that was the correct call. I can see an argument even though the reason we are adding them to the CFP application is to display them on the Website. I wasn't 100% sure if that was the right call so I figured I would bring that up here.

I will setup some tests for this tomorrow. But for the time being I thought it would be valuable to get it out.

Who doesn't love a preview

Sponsor CRUD Preview made locally with imported production data

jonsgreen commented 2 years ago

@codyjamesbrooks this is looking great. I left some minor comments. I think the main missing thing will be adding a feature integration spec.