I just did a quick review to your mobile addon and it looks great, I think you did a good job with it!
I noticed some minor things that you might want to change:
- In $mmaModTutorialbookingHandlers, the part about statusObserver isn't needed since your module cannot be downloaded.
- In $mmaModTutorialbookingHandlers you have some injections that aren't needed (mmCoreOutdated, mmCoreNotDownloaded, ...). This isn't a big deal.
- We did a refactor in the content links delegate to make it easier to implement. You can see an example of how it is used now in here.
- In $mmaModTutorialbooking, in all your .write calls, you're returning an object instead of an error message if the call fails. We did this in some modules to make offline synchronziation easier (and because we had a wrapper function to handle these errors), but usually the WS calls will return just the error message (and your controller IS expecting a message string). For example, you call $mmaModTutorialbooking.removeSignup(id) and the .catch is expecting a message, but in the implementation of the function you're returning an object. I think you should remove all the .catch in your service, and let the WS call return the regular message as it does by default.
- In here and similar places you could use $mmUtil.showErrorModalDefault to make the code easier.
- You might want to reuse the refresh language string that we have in the core of the app (mm.core.refresh).
That's it, good work!