Removing projects field from component view and filtering the activities...

... and milestones by project when creating task from component view + bugfix

* When creating task from a project, project field should not show and the activities, milestones should be filtered list for that project.
* bugfix in change_password
If you say so. You could simply check for IS_EMPTY_OR, though - which is still less than instantiating a whole new requires. However, maybe just leave as you have it now (i.e. assuming that it is IS_ONE_OF): this is a link table, and IS_EMPTY_OR is de facto wrong.

However - what's this actually trying to achieve? Isn't it actually about the widget - that it only provides the options that are linked to the same project as the task. Are you aware that the widget can lookup this itself, i.e. that there is an option for the inline link to filter the options for exactly that - so you do not need to manipulate the validator at all?

In S3SQLInlineLink, for example, it's like 

filterby="activity_id:project_activity_project.project_id", 
match="task_id:project_task_project.project_id"

...which can generally be set, not just for this case. It's similar to the issue you have with S3OptionsFilter JS - if you would use the right widget, then you wouldn't have the problem ;)