| 80 | | * <li> calId alone: id of calendar or...</li>. |
|---|
| 81 | | * <li> calId+guid+recurid: event</li>. |
|---|
| 82 | | * <li> how: r for read, w for write, |
|---|
| 83 | | * f for free/busy, d for default</li>. |
|---|
| | 80 | * <li> calPath alone: path (or url) of calendar or...</li>. |
|---|
| | 81 | * <li> calId+guid+recurid: event</li>. |
|---|
| | 82 | * <li> how: concateated String of desired access rights |
|---|
| | 83 | * @see edu.rpi.cct.uwcal.access.PrivilegeDefs </li>. |
|---|
| 140 | | } |
|---|
| 141 | | |
|---|
| 142 | | String how = getReqPar(request, "how"); |
|---|
| 143 | | |
|---|
| 144 | | if (how == null) { |
|---|
| 145 | | form.getErr().emit("org.bedework.client.error.nohowaccess"); |
|---|
| 146 | | return "error"; |
|---|
| 147 | | } |
|---|
| 148 | | |
|---|
| 149 | | int desiredAccess = -1; |
|---|
| 150 | | //boolean defaultAccess = false; |
|---|
| 151 | | |
|---|
| 152 | | if (how.equals("r")) { |
|---|
| 153 | | desiredAccess = PrivilegeDefs.privRead; |
|---|
| 154 | | } else if (how.equals("w")) { |
|---|
| 155 | | desiredAccess = PrivilegeDefs.privWrite; |
|---|
| 156 | | } else if (how.equals("f")) { |
|---|
| 157 | | desiredAccess = PrivilegeDefs.privReadFreeBusy; |
|---|
| 158 | | } else if (how.equals("d")) { |
|---|
| 159 | | //defaultAccess = true; |
|---|
| 160 | | form.getErr().emit("org.bedework.client.error.unimplemented"); |
|---|
| 161 | | return "error"; |
|---|
| 162 | | } else { |
|---|
| 163 | | form.getErr().emit("org.bedework.client.error.badhow"); |
|---|
| 164 | | return "error"; |
|---|
| 202 | | aces.add(new Ace(who, false, whoType, Privileges.makePriv(desiredAccess))); |
|---|
| | 176 | |
|---|
| | 177 | String how = getReqPar(request, "how"); |
|---|
| | 178 | |
|---|
| | 179 | if (how == null) { |
|---|
| | 180 | form.getErr().emit("org.bedework.client.error.nohowaccess"); |
|---|
| | 181 | return "error"; |
|---|
| | 182 | } |
|---|
| | 183 | |
|---|
| | 184 | char[] howchs = how.toCharArray(); |
|---|
| | 185 | |
|---|
| | 186 | for (int hi = 0; hi <= howchs.length; hi++) { |
|---|
| | 187 | char howch = howchs[hi]; |
|---|
| | 188 | boolean found = false; |
|---|
| | 189 | |
|---|
| | 190 | for (int pi = 0; pi <= PrivilegeDefs.privMaxType; pi++) { |
|---|
| | 191 | if (howch == PrivilegeDefs.privEncoding[pi]) { |
|---|
| | 192 | aces.add(new Ace(who, false, whoType, |
|---|
| | 193 | Privileges.makePriv(pi))); |
|---|
| | 194 | found = true; |
|---|
| | 195 | break; |
|---|
| | 196 | } |
|---|
| | 197 | |
|---|
| | 198 | if (!found) { |
|---|
| | 199 | form.getErr().emit("org.bedework.client.error.badhow"); |
|---|
| | 200 | return "error"; |
|---|
| | 201 | } |
|---|
| | 202 | } |
|---|
| | 203 | } |
|---|
| | 204 | |
|---|