       "Invalid URL - must be in https?://format"
 
   render: ->
-    project = @props.project
-    setting = project[@props.field]
     <div>
-      <input type="text" ref="redirectUrl" defaultValue={setting} placeholder="No external redirect." onBlur={this.updateRedirect} />
-      <span>{ @validUrlMessage() }</span>
+      <AutoSave resource={@props.project}>
+        <span className="form-label">Redirect URL:</span>
+        <input type="text" name="redirect" ref="redirectUrl" value={@props.project.redirect} placeholder="External redirect" onBlur={@updateRedirect} onChange={handleInputChange.bind @props.project} />
+        <span>{ @validUrlMessage() }</span>
+      </AutoSave>
     </div>
 
 ProjectStatus = React.createClass

          <li>Beta Approved: <ProjectToggle project={@props.project} field="beta_approved" /></li>
          <li>Launch Requested: <ProjectToggle project={@props.project} field="launch_requested" /></li>
          <li>Launch Approved: <ProjectToggle project={@props.project} field="launch_approved" /></li>
          <li>Redirect URL: <ProjectRedirectToggle project={@props.project} field="redirect" /></li>
        </ul>
        <h4>Workflow Settings</h4>
        <PromiseRenderer promise={@props.project.get('workflows')}>{(workflows) =>

moment = require 'moment'
ChangeListener = require '../../components/change-listener'
ProjectIcon = require '../../components/project-icon'
AutoSave = require '../../components/auto-save'
handleInputChange = require '../../lib/handle-input-change'

ProjectToggle = React.createClass
  displayName: "ProjectToggle"
