Several fixes following the code review:
- For styles we use Stylus. (http://stylus-lang.com/)
In Stylus styles curly brackets and terminating semicolons are unnecessary. Indentation is sufficient to denote blocks of styles
You can also use variables to avoid duplication (e.g. mentioning the same color multiple times)
Vendor prefixes are not necessary. We use the Nib mixin for Stylus to handle those (http://tj.github.io/nib/)
=> DONE
- `admin.js` bundle is included on all admin pages, so we need to ensure that migration fires only on the migration page and nowhere else.
You can even create a separate bundle only for migration files, as they won't be necessary on other admin pages.
=> DONE
- MP2MigratorAPI => MP2Migrator endpoint would be just as fine
=> DONE
- For storing migration files, you can use the `Env::$temp_path` path
=> DONE
- `proposeMigration()` the method name disagrees with the comment.
Comment suggests it tests if migration can be or should be performed
Method name suggests that it proposes doing the migration (to the user?) - not very clear
=> DONE: the new name is isMigrationNeeded()
And not only does it test, it may also update the `mailpoet_migration_complete` option, which is confusing and is an unexpected side-effect.
=> DONE
The migration class itself `MP2Migrator` shouldn't even care about _GET, _REQUEST or _POST arguments. It should only work with what is passed to it.
=> DONE
- In views, please make sure all human-friendly texts use WP's gettext functions for translations (e.g. __('text'))
=> DONE
- newsletters listing now uses hash history
- newsletters are sorted by Subject (a->z)
- segments are sorted by Name (a->z)
- re-added WordPress Users list as a segment you can send a newsletter to
- added explicit error messages when an auto newsletter isn't fully configured
- added missing strings for "selectAll" in Segments listing
- fixed filters() in Subscribers listing (wrong count as it was not taking groups/filters/search into account)