1 package org.paneris.jammyjoes.model;
2
3 import org.melati.poem.AccessToken;
4 import org.melati.poem.Capability;
5 import org.melati.poem.PoemTask;
6 import org.melati.poem.Setting;
7 import org.paneris.jammyjoes.model.generated.JammyjoesDatabaseBase;
8
9 public class JammyjoesDatabase extends JammyjoesDatabaseBase implements JammyjoesDatabaseTables {
10
11 public static final String defaultOrderEmailTo = "orders@jammyjoes.com";
12 public static final String defaultReminderEmailFrom = "reminder@jammyjoes.com";
13 public static final int defaultDefaultAffiliatePercentage = 5;
14 public static final int defaultDefaultCookiedays = 45;
15 private Setting orderEmailTo, reminderEmailFrom, defaultAffiliatePercentage, defaultCookiedays;
16 private Capability _operatorCapability;
17 private Capability _affiliateCapability;
18
19 public boolean logSQL() {
20 return false;
21 }
22
23 public void connect(
24 String name,
25 String dbmsclass,
26 String url,
27 String username,
28 String password,
29 int maxConnections) {
30 super.connect(name, dbmsclass, url, username, password, maxConnections);
31
32 inSession(AccessToken.root, new PoemTask() {
33 public void run() {
34 orderEmailTo =
35 getSettingTable().ensure(
36 "OrderEmailTo",
37 defaultOrderEmailTo,
38 "Order Email `To:'",
39 "The address to send orders to");
40 reminderEmailFrom =
41 getSettingTable().ensure(
42 "ReminderEmailFrom",
43 defaultReminderEmailFrom,
44 "Reminder Email `To:'",
45 "The address from which password reminders are sent from");
46 defaultAffiliatePercentage =
47 getSettingTable().ensure(
48 "DefaultAffiliatePercentage",
49 defaultDefaultAffiliatePercentage,
50 "Default Affiliate Percentage",
51 "The percentage to pay Affiliates");
52 defaultCookiedays =
53 getSettingTable().ensure(
54 "DefaultCookiedays",
55 defaultDefaultCookiedays,
56 "Default Cookie Days",
57 "The number of cookie days for Affiliates");
58 _operatorCapability = getCapabilityTable().ensure("Phone Operator");
59 _affiliateCapability = getCapabilityTable().ensure("Affiliate");
60 }
61 });
62 }
63
64 public String getOrderEmailTo() {
65 return orderEmailTo.getStringCooked();
66 }
67
68 public String getReminderEmailFrom() {
69 return reminderEmailFrom.getStringCooked();
70 }
71
72 public Integer getDefaultAffiliatePercentage() {
73 return (Integer) defaultAffiliatePercentage.getCooked();
74 }
75
76 public Integer getDefaultCookiedays() {
77 return (Integer) defaultCookiedays.getCooked();
78 }
79
80 public Capability getCanAdminister() {
81 return administerCapability();
82 }
83
84 public Capability getOperatorCapability() {
85 return _operatorCapability;
86 }
87
88 public Capability getAffiliateCapability() {
89 return _affiliateCapability;
90 }
91 }