Added configuration of TBA publishing.

This commit is contained in:
Patrick Fairbank
2014-07-30 00:16:09 -07:00
parent 73780b952d
commit 19f8aa7910
6 changed files with 50 additions and 5 deletions

View File

@@ -6,7 +6,11 @@ CREATE TABLE event_settings (
displaybackgroundcolor VARCHAR(16),
numelimalliances int,
selectionround2order VARCHAR(1),
selectionround3order VARCHAR(1)
selectionround3order VARCHAR(1),
tbapublishingenabled bool,
tbaeventcode VARCHAR(16),
tbasecretid VARCHAR(255),
tbasecret VARCHAR(255)
);
-- +goose Down

View File

@@ -13,6 +13,10 @@ type EventSettings struct {
NumElimAlliances int
SelectionRound2Order string
SelectionRound3Order string
TbaPublishingEnabled bool
TbaEventCode string
TbaSecretId string
TbaSecret string
}
const eventSettingsId = 0

View File

@@ -17,7 +17,8 @@ func TestEventSettingsReadWrite(t *testing.T) {
eventSettings, err := db.GetEventSettings()
assert.Nil(t, err)
assert.Equal(t, EventSettings{0, "Untitled Event", "UE", "#00ff00", 8, "L", ""}, *eventSettings)
assert.Equal(t, EventSettings{Id: 0, Name: "Untitled Event", Code: "UE", DisplayBackgroundColor: "#00ff00",
NumElimAlliances: 8, SelectionRound2Order: "L", SelectionRound3Order: ""}, *eventSettings)
eventSettings.Name = "Chezy Champs"
eventSettings.Code = "cc"

View File

@@ -41,6 +41,10 @@ func SettingsPostHandler(w http.ResponseWriter, r *http.Request) {
eventSettings.NumElimAlliances = numAlliances
eventSettings.SelectionRound2Order = r.PostFormValue("selectionRound2Order")
eventSettings.SelectionRound3Order = r.PostFormValue("selectionRound3Order")
eventSettings.TbaPublishingEnabled = r.PostFormValue("tbaPublishingEnabled") == "on"
eventSettings.TbaEventCode = r.PostFormValue("tbaEventCode")
eventSettings.TbaSecretId = r.PostFormValue("tbaSecretId")
eventSettings.TbaSecret = r.PostFormValue("tbaSecret")
err := db.SaveEventSettings(eventSettings)
if err != nil {
handleWebErr(w, err)

View File

@@ -29,16 +29,21 @@ func TestSetupSettings(t *testing.T) {
assert.Contains(t, recorder.Body.String(), "UE")
assert.Contains(t, recorder.Body.String(), "#00ff00")
assert.Contains(t, recorder.Body.String(), "8")
assert.NotContains(t, recorder.Body.String(), "tbaPublishingEnabled\" checked")
// Change the settings and check the response.
recorder = postHttpResponse("/setup/settings", "name=Chezy Champs&code=CC&displayBackgroundColor=#ff00ff&"+
"numElimAlliances=16")
"numElimAlliances=16&tbaPublishingEnabled=on&tbaEventCode=2014cc&tbaSecretId=secretId&tbaSecret=tbasec")
assert.Equal(t, 302, recorder.Code)
recorder = getHttpResponse("/setup/settings")
assert.Contains(t, recorder.Body.String(), "Chezy Champs")
assert.Contains(t, recorder.Body.String(), "CC")
assert.Contains(t, recorder.Body.String(), "#ff00ff")
assert.Contains(t, recorder.Body.String(), "16")
assert.Contains(t, recorder.Body.String(), "tbaPublishingEnabled\" checked")
assert.Contains(t, recorder.Body.String(), "2014cc")
assert.Contains(t, recorder.Body.String(), "secretId")
assert.Contains(t, recorder.Body.String(), "tbasec")
}
func TestSetupSettingsInvalidValues(t *testing.T) {

View File

@@ -85,12 +85,39 @@
</div>
</div>
</div>
</fieldset>
<fieldset>
<legend>Publishing</legend>
<div class="form-group">
<div class="col-lg-7 col-lg-offset-5">
<button type="submit" class="btn btn-info">Save</button>
<label class="col-lg-7 control-label">Enable The Blue Alliance publishing</label>
<div class="col-lg-1 checkbox">
<input type="checkbox" name="tbaPublishingEnabled"{{if .TbaPublishingEnabled}} checked{{end}}>
</div>
</div>
<div class="form-group">
<label class="col-lg-5 control-label">TBA Event Code</label>
<div class="col-lg-7">
<input type="text" class="form-control" name="tbaEventCode" value="{{.TbaEventCode}}">
</div>
</div>
<div class="form-group">
<label class="col-lg-5 control-label">TBA Secret ID</label>
<div class="col-lg-7">
<input type="text" class="form-control" name="tbaSecretId" value="{{.TbaSecretId}}">
</div>
</div>
<div class="form-group">
<label class="col-lg-5 control-label">TBA Secret</label>
<div class="col-lg-7">
<input type="text" class="form-control" name="tbaSecret" value="{{.TbaSecret}}">
</div>
</div>
</fieldset>
<div class="form-group">
<div class="col-lg-7 col-lg-offset-5">
<button type="submit" class="btn btn-info">Save</button>
</div>
</div>
</form>
</div>
</div>