package handlers const ( // archiveRotationNone is the archive rotation that keeps a // database target's archive in one file. A stored empty rotation // means the same. archiveRotationNone = "none" // tmplKeyArchiveRotationChoices is the template data key for the // entries of a page's archive rotation select. tmplKeyArchiveRotationChoices = "ArchiveRotationChoices" ) // archiveRotationChoices lists the archive rotations offered by the // new webhook page, the add target form and the target edit form. func archiveRotationChoices() []archiveChoice { return []archiveChoice{ {Value: archiveRotationNone, Label: archiveRotationNone}, {Value: "monthly", Label: "monthly"}, {Value: "daily", Label: "daily"}, {Value: "hourly", Label: "hourly"}, } } // archiveRotationOptions returns the choices with rotation selected; // an empty rotation, or one that is not a choice, selects none. A // stored rotation is always a choice: the forms refuse any other. func archiveRotationOptions(rotation string) []archiveChoice { options := archiveRotationChoices() for i := range options { if options[i].Value == rotation { options[i].Selected = true return options } } options[0].Selected = true return options }