Well, the issue is that there's no generic function for someone getting admined. There's many different functions, and they all do pretty much the same thing, assign the is(super)admin variable on the client to true and update the player list. I think the primary issue with what you're doing is that if isAdmin is already set on the client, they will not be able to obtain admin again. Using the password will cause the function to prematurely return because they're already admin in the game's eyes, and using RTB won't work either because it also checks to make sure you can't set someone who's already admin to admin.
Also, I'm sure you've made due consideration, but setting someone to Admin, no matter how short the time, can be a very dangerous thing. You may want to switch to a custom variable and simply pick the functions you want them to be able to use, package them, and set admin to true right before and after you call the functions parent, that way there will be no misuses of trust.