- Adding error code "require-auth"
- Changing window.SWARM to be like InfoAction instead of an ad-hoc thing
- Fix an E_NOTICE in inc/pages/JobPage.php
Undefined index $data["jobInfo"]
- Since wipejob is no longer a page, now using the API through AJAX instead
of a <form>. And instead of refreshing, just triggering the
refreshTable() earlier (in case of type=reset) or redirecting to
the user page (in case of type=delete).
Also doing proper error handling now (previously the POST would
suppress any errors and just redirect unconditionally).
* Renamed the parameters to be more descriptive.
* Fix various minor bugs (such as inserting empty runs), caused by
submitting the <form> with more "runNames" inputs then filled in.
Filtering out empty-string submissions.
* Removed superfluous <legend> wrappers around each input/label
* Added short description to the runs section, example for QUnit
(every QUnit test suite module mapping to a run)
* Using placeholder="http://" instead of value="http://"
* Adding for="" attributes
* Adding a bit of JS to add more run entries.
- Removed 'status' column of 'runs' table (for the same reason
the 'status' column of the 'jobs' table was previously deleted.
It is not used anywhere and only some code paths keep it up to date.
We could do this type of aggregation, but if we do so we'll have to keep
it really good up to date otherwise it is useless.
Right now I've opted to remove it since it wasn't used. All actions that
request status of runs or jobs query the related tables and summarize the
information on the fly.
(removed query from wiprun.php, WipejobAction.php and *.sql)
* Fixed a bug: Jobs with 0 runs couldn't be deleted because the DELETE
query only ran inside the if-statement for runRows.
- Instead of (abu)using the runresults <a href>, exporting them
via data- attributes.
- Converted wiperun to WiperunAction
Now also requires job_id, useragent_id to avoid deleting
something else in a race condition
- Using the new api.php action=wiperun in job.js
Checking "runStatus !== new" instead of "has(a)"
- Extracted the logic into UserAction (issue #132)
- Dropped support for the ?job= parameter that functioned as a primitive
search filter for certain job names, but was kinda useless since
it stripped out characters commonly found in job names (such as numbers
and full-stops) and even then, job names are sorted by creation,
and then mysql_queryf escapes some parts.
Could be easily (re)implemented "the right way" over in the UserAction.
Anyone interested may create an issue for it.
- Converted BrowserInfo::getBrowscap() into an array with a known set of
properties instead of blindly passing the original object which has many
other properties that should not be used.
- DerivativeWebRequest, Context::createDerivedRequestContext
* New class that takes query parameters and POST boolean
and creates a fake Context object derived from the given
context object. Used to use JobAction inside UserAction.
- Fixed #13 (again). This made it visible that status-new should be grey
and status-notscheduled white (which is how it was before twitter bootstrap)
- Added json_decode/json_encode normalization to Action::setData.
This way all Action responses contain associative arrays and never
- Poke #137, using <div class="alert alert-error"> for error messages.