{"action":"created","issue":{"url":"https://api.github.com/repos/hacken-in/website/issues/360","labels_url":"https://api.github.com/repos/hacken-in/website/issues/360/labels{/name}","comments_url":"https://api.github.com/repos/hacken-in/website/issues/360/comments","events_url":"https://api.github.com/repos/hacken-in/website/issues/360/events","html_url":"https://github.com/hacken-in/website/issues/360","id":30934035,"number":360,"title":"Regeln anlegen funktioniert nicht","user":{"login":"moonglum","id":95788,"avatar_url":"https://avatars.githubusercontent.com/u/95788?v=3","gravatar_id":"","url":"https://api.github.com/users/moonglum","html_url":"https://github.com/moonglum","followers_url":"https://api.github.com/users/moonglum/followers","following_url":"https://api.github.com/users/moonglum/following{/other_user}","gists_url":"https://api.github.com/users/moonglum/gists{/gist_id}","starred_url":"https://api.github.com/users/moonglum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/moonglum/subscriptions","organizations_url":"https://api.github.com/users/moonglum/orgs","repos_url":"https://api.github.com/users/moonglum/repos","events_url":"https://api.github.com/users/moonglum/events{/privacy}","received_events_url":"https://api.github.com/users/moonglum/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/hacken-in/website/labels/bug","name":"bug","color":"e10c02"},{"url":"https://api.github.com/repos/hacken-in/website/labels/ready","name":"ready","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":17,"created_at":"2014-04-06T09:43:42Z","updated_at":"2015-02-20T00:30:49Z","closed_at":null,"body":"Man kann aktuell keine Regeln anlegen. Wenn man eine Zeit angibt (zB. 120) dann wird diese als Fehler markiert: \"Muss größer als 0 sein\" und das Feld ist gefüllt mit: -345669"},"comment":{"url":"https://api.github.com/repos/hacken-in/website/issues/comments/75168440","html_url":"https://github.com/hacken-in/website/issues/360#issuecomment-75168440","issue_url":"https://api.github.com/repos/hacken-in/website/issues/360","id":75168440,"user":{"login":"bascht","id":51264,"avatar_url":"https://avatars.githubusercontent.com/u/51264?v=3","gravatar_id":"","url":"https://api.github.com/users/bascht","html_url":"https://github.com/bascht","followers_url":"https://api.github.com/users/bascht/followers","following_url":"https://api.github.com/users/bascht/following{/other_user}","gists_url":"https://api.github.com/users/bascht/gists{/gist_id}","starred_url":"https://api.github.com/users/bascht/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bascht/subscriptions","organizations_url":"https://api.github.com/users/bascht/orgs","repos_url":"https://api.github.com/users/bascht/repos","events_url":"https://api.github.com/users/bascht/events{/privacy}","received_events_url":"https://api.github.com/users/bascht/received_events","type":"User","site_admin":false},"created_at":"2015-02-20T00:30:49Z","updated_at":"2015-02-20T00:30:49Z","body":"Die Neugier war groß und ich habe doch noch mal reingeschaut. Und siehe da: Rails hat ja eigene Vorstellungen der Zeitzone (`config.time_zone`) - die schedule im Event wurde aber ohne Zeitzone hinterlegt.\r\n\r\nWenn ihr oben im Dscccchiiiiifff genau hinschaut, seht ihr dass nicht nur die Länge immer kleiner wird, sondern auch die Uhrzeit immer schön um zwei Stunden pro Speichervorgang driftet.\r\n\r\nDa wir ja schon einen spaßigen Stunt mit `fix_start_time` aus #308 haben, war ich mal so frei und habe an die `start_time` und `start_time=` Methoden ein `.in_time_zone('Europe/Berlin')` angehangen und siehe da: Die Zeit schwimmt nicht mehr davon! :dancers: \r\n\r\nDann fing aber die Rails Rückrunde an: Das Setzen der `duration` (was wir ja eigentlich nur an `IceCube::Schedule` weiter reichen) klappt nicht (mehr?):\r\n\r\nSobald ich das Startdatum verändere, kommt die Differenz in der `duration` wieder. Dieses Mal aber reproduzierbar:\r\n\r\n1. **Start:** 2011-08-11 mit **Duration**: 30\r\n2. geändert auf **Start:** 2015-08-11\r\n3. Speichern\r\n4. :bomb:\r\n5. Duration-Feld auf -126230400\r\n\r\nWeil:\r\n\r\n```ruby\r\nTime.parse('2011-08-11 04:30:00 +0200') - Time.parse('2015-08-11 04:30:00 +0200')\r\n=> -126230400.0\r\n```\r\nEventuell einfach mal die Duration so wie in den IceCube Dokus nicht absolut sondern nach der Art `end_time = start_time + duration` setzen?\r\n\r\nMit diesen Worten zurück ins Studio. Habe mich nicht getraut `fix_start_time` anzufassen. Ich muss jetzt schlafen und alles was ich über `ActiveSupport::TimeZone` gelernt habe wieder vergessen.\r\n\r\nÜbrigens – `config.active_record.default_timezone` ist auch noch ein Schalter.\r\n\r\n:zzz: "}}