Compare commits

..

1292 Commits
0.1 ... 2.0

Author SHA1 Message Date
Graham Campbell
c1ab3a175c Bumped version 2015-12-18 12:51:20 +00:00
Graham Campbell
666da0125e Released 2.0.4 2015-12-18 12:50:27 +00:00
Graham Campbell
7ff5da78b9 Updated laravel 2015-12-18 12:48:05 +00:00
Graham Campbell
4886bb9815 Merge pull request #1238 from cachethq/fix-notifing-subscribers
Fixes #1237
2015-12-18 12:39:33 +00:00
James Brooks
d2beb6263e Remove indentation 2015-12-18 09:07:40 +00:00
James Brooks
dabed137ab Fixes #1237 2015-12-17 14:41:22 +00:00
James Brooks
f75c9f5500 Fixes #1218 2015-12-16 18:15:25 +00:00
James Brooks
b9b282ba7b Fixes #1234 2015-12-16 18:02:04 +00:00
James Brooks
5f2e2d5925 Merge pull request #1233 from phecho/fix-page_title
Fixed issue #1195
2015-12-16 13:49:27 +00:00
phecho
89c708de07 Fixed issue #1195 2015-12-16 21:42:02 +08:00
Graham Campbell
7f02aa2bce Updated dependencies 2015-12-15 15:38:04 +00:00
Graham Campbell
7de9440731 Bumped some minimum versions 2015-12-15 15:12:57 +00:00
Graham Campbell
409d34f251 Updated dependencies 2015-12-11 11:37:12 +00:00
Graham Campbell
68b0d35d1a Locked down some dependency versions 2015-12-11 11:34:21 +00:00
Graham Campbell
8ca809d5a0 Updated dependencies 2015-12-09 14:04:26 +00:00
Graham Campbell
9cde8277ad Bumped min exceptions version 2015-12-09 14:02:57 +00:00
Graham Campbell
c48f54ec28 Removed unused code 2015-12-07 12:05:08 +00:00
James Brooks
cf19fecdbe Fixes #1202 2015-12-07 07:18:06 +00:00
Graham Campbell
cce211159b Updated dependencies 2015-12-06 10:38:15 +00:00
Graham Campbell
cf9627ce99 Updated version 2015-12-02 22:26:21 +00:00
Graham Campbell
d559c47aa0 Released 2.0.3 2015-12-02 22:23:44 +00:00
Graham Campbell
ff91bc4de3 Updated dependencies 2015-12-02 22:21:45 +00:00
Graham Campbell
4be7dc9635 Updated laravel 2015-12-02 22:17:36 +00:00
Graham Campbell
ce279202c8 Fixed phpdoc 2015-11-30 16:03:26 +00:00
phecho
b25db21444 Fixed wrong var
Closes #1191

Signed-off-by: Graham Campbell <graham@alt-three.com>
2015-11-30 16:03:14 +00:00
James Brooks
a35430a4fd Fixes a bug with dashboard_login_link setting. Fixes #1190 2015-11-29 15:37:24 +00:00
James Brooks
1c4d7f4be3 Updated dependencies 2015-11-28 16:32:15 +00:00
Graham Campbell
73d1a989ec Updated dependencies 2015-11-27 10:28:06 +00:00
James Brooks
413abe4446 Merge pull request #1185 from cachethq/elixir-4
Upgrade to elixir 4 and rebuild assets
2015-11-27 09:55:18 +00:00
Joseph Cohen
41238611b6 Upgrade to elixir 4 and rebuild assets 2015-11-27 03:15:44 -06:00
James Brooks
83fd397818 Back to dev version 2015-11-26 13:48:05 +00:00
James Brooks
fc015757a7 Fix version 2015-11-26 13:47:23 +00:00
James Brooks
589f1a9562 Merge pull request #1180 from cachethq/embed-mail-banner
Embed the banner on the mail layout
2015-11-24 22:43:57 +00:00
Joseph Cohen
e78c9261f6 Embed the banner on the mail layout 2015-11-24 16:27:33 -06:00
James Brooks
6bffb66ed2 Remove duplicate banner image. Closes #1179 2015-11-24 21:51:27 +00:00
James Brooks
fb4509c8b8 Update dependencies 2015-11-24 19:55:06 +00:00
James Brooks
b11831d2e0 Fix docblock 2015-11-23 15:35:31 +00:00
Graham Campbell
74ec24120e Merge pull request #1177 from cachethq/analysis-87eWbq
Applied fixes from StyleCI
2015-11-22 20:14:53 +00:00
Graham Campbell
7c5e10f367 Applied fixes from StyleCI 2015-11-22 15:14:40 -05:00
Graham Campbell
ad9c6fd39a Back to dev 2015-11-22 20:13:51 +00:00
James Brooks
1f6e6ff592 Tag version 2.0.0 2015-11-22 20:11:58 +00:00
Graham Campbell
3572451f1e Use class noation 2015-11-22 20:09:08 +00:00
Graham Campbell
6a3ea90b27 Updated exceptions package 2015-11-22 20:06:29 +00:00
Graham Campbell
7bd93e0170 Cleanup 2015-11-22 20:06:04 +00:00
Graham Campbell
4b668a83ef Use the random_int function 2015-11-22 20:05:39 +00:00
James Brooks
dab47820e0 Re-do the UserWasAddedEvent 2015-11-22 19:41:54 +00:00
James Brooks
a04d067005 We're not using Broadcasting, so null the config 2015-11-22 19:37:39 +00:00
James Brooks
81e990b460 Comment out the UserWasAddedEvent 2015-11-22 19:36:36 +00:00
James Brooks
0771273049 Order factories 2015-11-22 19:31:42 +00:00
James Brooks
963c94a3e7 Update trans 2015-11-22 19:29:12 +00:00
James Brooks
bba87f6c46 Lowercase service trans 2015-11-22 19:28:18 +00:00
James Brooks
03f6a786ee We use SCSS not LESS 2015-11-22 19:26:18 +00:00
James Brooks
18281a65ac Updated dependencies, Whoops is now 1.1.9 2015-11-22 19:24:37 +00:00
James Brooks
13695c5b1e Updated Bower dependencies 2015-11-22 19:16:35 +00:00
James Brooks
7f6f74419d Update dependencies 2015-11-22 19:03:22 +00:00
James Brooks
620378b1f2 Merge pull request #1173 from cachethq/fixes
Fix some nulls and the notifications on the handlers
2015-11-22 09:01:19 +00:00
Joseph Cohen
a593dabeb9 Fix some nulls and the notifications on the handlers 2015-11-22 00:18:09 -06:00
Graham Campbell
24d09ccefd Back to dev 2015-11-21 23:20:52 +00:00
Graham Campbell
0817704c25 Released RC5 2015-11-21 23:20:34 +00:00
James Brooks
58e00d9fe2 We need to truncate subscribers 2015-11-21 23:19:00 +00:00
James Brooks
f814d13a64 Fixed bad variable 2015-11-21 23:16:06 +00:00
James Brooks
66c410a7c4 Fix undefined variable 2015-11-21 23:16:06 +00:00
Graham Campbell
9c15134387 Back to dev 2015-11-21 23:14:36 +00:00
Graham Campbell
73735ab4b4 Bumped version to RC4 2015-11-21 23:13:05 +00:00
James Brooks
c64df7eed7 Move display_graphs into AppComposer 2015-11-21 23:09:20 +00:00
James Brooks
51a4a1789e Forgot a file 2015-11-21 23:08:37 +00:00
James Brooks
970d903b48 style_fullwidth_header setting is now in AppComposer 2015-11-21 23:07:42 +00:00
Graham Campbell
a025ffb915 Usr strict equals 2015-11-21 23:06:18 +00:00
James Brooks
b31cab0654 Move more Setting facades into AppComposer 2015-11-21 23:05:20 +00:00
James Brooks
a2d7c49c2a Move $app_locale into AppComposer 2015-11-21 22:58:37 +00:00
James Brooks
49e33d0556 Merge pull request #1172 from cachethq/analysis-XpK4Z8
Applied fixes from StyleCI
2015-11-21 22:56:32 +00:00
James Brooks
ace02a5fa9 Applied fixes from StyleCI 2015-11-21 17:56:25 -05:00
James Brooks
4c9cae3142 Never allow Setting facade to lookup env 2015-11-21 22:53:16 +00:00
James Brooks
61ada5c07d Import missing Config facade 2015-11-21 22:53:05 +00:00
Graham Campbell
f5b6aa42b6 Cleanup 2015-11-21 22:51:05 +00:00
Graham Campbell
6f1d0ceda4 Merge pull request #1171 from cachethq/stylesheet-app-composer
Use $app_stylesheet from AppComposer
2015-11-21 22:49:59 +00:00
Graham Campbell
5eb1d376cf Tweak setup controller 2015-11-21 22:49:07 +00:00
James Brooks
dff9faaa5d Use $app_stylesheet from AppComposer 2015-11-21 22:48:22 +00:00
Graham Campbell
e5a46a71e7 Don't call env from the helpers file 2015-11-21 22:47:09 +00:00
Graham Campbell
7a09667cc0 Removed code duplication 2015-11-21 22:45:04 +00:00
Graham Campbell
236d52714d Stop calling the env function in naughty places 2015-11-21 22:43:06 +00:00
James Brooks
0e6ac90f7b Move app_banner and app_banner_type into AppComposer 2015-11-21 22:41:45 +00:00
James Brooks
2e1e7a383d Better condition to check for $app_domain 2015-11-21 22:37:25 +00:00
James Brooks
44fea779df Remove $app_url in favour of AppComposer usage 2015-11-21 22:36:09 +00:00
James Brooks
d76fa9465e Remove redundant condition for page titles 2015-11-21 22:32:05 +00:00
James Brooks
4c793590b2 Use the right variable name for page titles 2015-11-21 22:30:35 +00:00
James Brooks
1a9dbe2979 Remove unused error view 2015-11-21 22:27:49 +00:00
James Brooks
e806ef0663 Move $app_name into View composer 2015-11-21 22:25:48 +00:00
James Brooks
a8dd60063e Fix up pageTitle variables 2015-11-21 22:20:15 +00:00
James Brooks
bf20a324ac Outdent setup view blade 2015-11-21 22:15:59 +00:00
James Brooks
34d2191140 Don't use is_null 2015-11-21 22:04:23 +00:00
Graham Campbell
edb0f4b5cd Merge pull request #1110 from cachethq/filter
Fixed up array_filter stuff
2015-11-21 22:03:51 +00:00
James Brooks
27f1e6b8a4 Fix issues with is_null 2015-11-21 22:01:13 +00:00
Graham Campbell
bf88dfced0 Fixed up array_filter stuff
Closes #1071
2015-11-21 21:47:00 +00:00
Graham Campbell
fb7a15aaa7 Merge pull request #1168 from cachethq/validation
Improved api validation
2015-11-21 21:46:10 +00:00
James Brooks
beca42b532 Only check $transformed exception 2015-11-21 21:45:36 +00:00
James Brooks
c266a419e0 Fix canDisplay method 2015-11-21 21:45:15 +00:00
James Brooks
75deb97059 Correct the JsonValidationDisplayer class config 2015-11-21 21:42:35 +00:00
Graham Campbell
7a322d6032 Added missing import 2015-11-21 21:37:54 +00:00
Graham Campbell
025b92c51c Force status code 400 2015-11-21 21:20:15 +00:00
Graham Campbell
60108fb7cc Improved api validation 2015-11-21 21:18:40 +00:00
James Brooks
8ecefc65fb Hide the notify checkbox if subscribers isn't enabled 2015-11-21 14:35:35 +00:00
James Brooks
1bd54696c9 Add link on components page too 2015-11-21 13:54:20 +00:00
James Brooks
13391165bc Add link to add component suggestion 2015-11-21 13:52:32 +00:00
James Brooks
cc393df964 Update the welcome modal title 2015-11-21 13:50:53 +00:00
James Brooks
857d91c9ef Removed unused welcome email view 2015-11-21 13:50:15 +00:00
James Brooks
d08283f8a5 Pre-select the users language on setup 2015-11-21 13:49:14 +00:00
James Brooks
bcd7763f84 Fix up bad Input name and condition on setup 2015-11-21 13:45:47 +00:00
James Brooks
043b02c8b2 Merge pull request #1165 from phecho/fix-incident-edit
Fixes #1164
2015-11-21 10:38:03 +00:00
phecho
4015f4f150 Fixes issue #1164 2015-11-21 10:10:52 +08:00
James Brooks
e89c75d8bc Merge pull request #1162 from cachethq/js-drop-hq
Drop the HQ on js
2015-11-20 18:25:31 +00:00
Joseph Cohen
fcc21ce337 Drop the HQ on js 2015-11-20 12:02:19 -06:00
James Brooks
5a499cdc76 Merge pull request #1160 from phecho/improve-localization-zh
Improved zh-CN language resources for issue #1158
2015-11-20 11:03:14 +00:00
phecho
499584a110 Improved zh-CN language resources for issue #1158 2015-11-20 18:54:10 +08:00
Graham Campbell
5307e1014c Updated composer.lock 2015-11-20 10:23:19 +00:00
Graham Campbell
b60c1a9b05 Fixed up composer.json 2015-11-20 10:22:12 +00:00
James Brooks
46fc1dbc63 Merge pull request #1159 from phecho/enhance-redirect
Fixes issue #1158
2015-11-20 09:32:39 +00:00
phecho
32b66df5f0 Fixes issue #1158 2015-11-20 17:02:11 +08:00
James Brooks
031d89ea4a Merge pull request #1157 from phecho/fix-schedule-delete
Give a right tip when a schedule be deleted successfully.
2015-11-20 08:21:47 +00:00
phecho
e14ebe80e9 Give a right tip when a schedule be deleted successfully. 2015-11-20 09:43:46 +08:00
James Brooks
72233ff4ac Merge pull request #1154 from phecho/improve-dashboard
Add links for both of incidents & subscribers in dashboard default page
2015-11-19 17:59:40 +00:00
James Brooks
1db5dcbfe6 Fixes #1155 2015-11-19 17:58:01 +00:00
phecho
638f5d0862 Add links for both of incidents & subscribers in dashboard default page 2015-11-19 21:59:25 +08:00
James Brooks
1bf6f8e8c9 Merge pull request #1153 from phecho/add-cancel-btn-template
Add cancel button for incident templates
2015-11-19 12:54:22 +00:00
phecho
a9d9f7ba03 Add cancel button for incident templates 2015-11-19 20:24:22 +08:00
James Brooks
ee7d6fc9eb Merge pull request #1152 from phecho/fixed-remove-banner-bug
Fixed app banner can not be removed in the theme setting page
2015-11-19 11:43:52 +00:00
James Brooks
a8d60edb6a Merge pull request #1149 from phecho/fix-profile-dropdown
Fixes #1148
2015-11-19 11:10:48 +00:00
phecho
da30282843 Fixed app banner can not be removed in the theme setting page 2015-11-19 17:35:48 +08:00
phecho
899065b8e8 Fixes #1148 2015-11-18 22:06:51 +08:00
James Brooks
03eace0b00 Merge pull request #1144 from phecho/setup-not-responding
Fixes #1143
2015-11-17 18:30:33 +00:00
phecho
c765e22164 Fixes #1143 2015-11-18 02:08:46 +08:00
James Brooks
14e1c3d11d Merge pull request #1141 from phecho/fixes-language-detection
Fixes issue #1140
2015-11-16 18:18:01 +00:00
Graham Campbell
28893f4702 Merge pull request #1139 from phecho/adjust-travis-compile-orders-of-php
Adjust the orders of php compiler for travis
2015-11-16 16:15:31 +00:00
phpGitAdmin
7ddf4277f7 Adjust the orders of php compiler for travis as desc 2015-11-17 00:07:21 +08:00
phpGitAdmin
94c46d15cf Fixes #1140 2015-11-16 23:56:07 +08:00
James Brooks
147a6add23 Merge pull request #1138 from phecho/added-tips
Add tips in the situation of no items
2015-11-16 10:11:52 +00:00
guanshiliang
2a1bd732bd Adjust the orders of php compiler for travis 2015-11-16 11:33:05 +08:00
guanshiliang
4149ee86bf Add tips in the situation of no items 2015-11-16 11:14:56 +08:00
James Brooks
9cf600f36c Fixes #1137 2015-11-15 18:05:23 +00:00
James Brooks
d4020aed29 Merge pull request #1136 from phecho/master
Improved language package of zh-CN
2015-11-15 16:13:45 +00:00
James Brooks
cc3f08260e Metrics should include the current hour. Fixes #1113 2015-11-15 16:13:20 +00:00
guanshiliang
696eb48472 Improved language package of zh-CN 2015-11-15 23:56:16 +08:00
James Brooks
73820735f5 Merge pull request #1132 from cachethq/api-template-incidents
Incident API can now use incident templates with Twig templating
2015-11-15 11:57:09 +00:00
James Brooks
2a12b0ca85 Merge pull request #1131 from cachethq/update-langs
Updated Crowdin lang strings
2015-11-15 11:56:32 +00:00
James Brooks
af176d7c7a Incident API can now use incident templates with Twig templating 2015-11-15 11:32:51 +00:00
Graham Campbell
1483863dae Updated lock file 2015-11-14 15:16:15 +00:00
Graham Campbell
3064663350 Updated dependencies 2015-11-14 15:11:02 +00:00
James Brooks
ce71d7f3ac Merge pull request #1133 from cachethq/analysis-86Yb9z
Applied fixes from StyleCI
2015-11-12 22:52:14 +00:00
Graham Campbell
54d1aca33e Updated psysh 2015-11-12 21:28:02 +00:00
James Brooks
5ef28fba01 Applied fixes from StyleCI 2015-11-12 13:21:45 -05:00
Graham Campbell
1a5ef0750a Updated dependencies 2015-11-12 15:27:50 +00:00
James Brooks
fe45d2411c Updated Crowdin lang strings 2015-11-12 10:59:28 +00:00
James Brooks
819fc9563f Merge pull request #1129 from phecho/master
Fixed dashboard icons
2015-11-11 16:42:46 +00:00
Phecho
4c10cb2df9 Merge branch 'master' into master 2015-11-12 00:27:39 +08:00
phecho
d93ecc85e3 Adjusted the subMenu order of Settings 2015-11-12 00:22:40 +08:00
phecho
cf89f5fcec Fixed dashboard icons 2015-11-12 00:10:08 +08:00
James Brooks
326183311e Merge pull request #1128 from phecho/master
Updated Chinese(zh-CN & zh-TW) forms translations
2015-11-11 16:04:56 +00:00
Phecho
30a4d6e85b Merge branch 'master' into master 2015-11-11 23:01:19 +08:00
phecho
4c67bf70ff Adjusted the order of sidebar item 2015-11-11 23:00:40 +08:00
phecho
ccbc114f62 Updated Chinese(zh-CN & zh-TW) forms translations 2015-11-11 22:38:01 +08:00
James Brooks
a35ccfdc8b Merge pull request #1127 from phecho/master
Added lang package of traditional chinese(zh-TW)
2015-11-11 13:43:34 +00:00
phecho
4a5c810341 Added lang package of traditional chinese(zh-TW) 2015-11-11 21:17:20 +08:00
James Brooks
de1be2eefe Merge pull request #1125 from phecho/master
Improved zh-CN localization
2015-11-11 09:24:59 +00:00
phecho
76a6500c26 Fixed translations of dashboard page title 2015-11-11 15:31:11 +08:00
phecho
3b2359db1d Fixed translations of dashboard page title 2015-11-11 15:10:57 +08:00
phecho
be1fccd682 Fixed translations of dashboard page title 2015-11-11 14:57:02 +08:00
phecho
37011ad1ff Improved zh-CN localization 2015-11-11 10:53:36 +08:00
phecho
62918ee526 Improved zh-CN localization 2015-11-11 10:50:26 +08:00
Phecho
3ddbc792f4 Merge pull request #1 from cachethq/master
sync
2015-11-11 09:48:10 +08:00
James Brooks
73ddafc935 Merge pull request #1123 from phecho/master
added sub_title localization for SettingController,updated translatio…
2015-11-10 15:39:25 +00:00
phecho
67304c9eb3 added sub_title localization for SettingController,updated translations of zh-CN for human friendly 2015-11-10 20:19:42 +08:00
James Brooks
1c1674d5b4 Default enabled for PUTing component. Closes #1119 2015-11-10 10:48:50 +00:00
James Brooks
110a6394d9 Merge pull request #1118 from phecho/master
translate lang/zh-CN resources completely
2015-11-10 09:56:45 +00:00
phecho
9b0901e161 translate lang/zh-CN resources completely 2015-11-10 14:24:33 +08:00
James Brooks
30194967e5 Merge pull request #1092 from cachethq/invitation-system
Invite system for users
2015-11-09 18:38:40 +00:00
James Brooks
77cec21dc5 Update invitation system language text 2015-11-09 18:38:26 +00:00
Joseph Cohen
29c3bcf183 Add email strings 2015-11-08 20:21:23 -06:00
Joseph Cohen
0b12d4e0c3 Add validation to signup and trans strings 2015-11-08 20:13:26 -06:00
Joseph Cohen
a88140ed53 Update event listeners order 2015-11-08 20:13:26 -06:00
Joe Cohen
d82bc57796 Applied fixes from StyleCI 2015-11-08 20:13:26 -06:00
Joseph Cohen
448f13e671 Handle the signup invite 2015-11-08 20:13:25 -06:00
Joseph Cohen
f6318409a7 Start working on the invite system for users 2015-11-08 20:13:25 -06:00
James Brooks
6d52f49461 Updated dependencies 2015-11-08 21:18:19 +00:00
Graham Campbell
15d00d24ea Updated dev deps 2015-11-08 20:09:37 +00:00
James Brooks
e1581d5388 Update barryvdh/laravel-cors 2015-11-08 19:25:02 +00:00
James Brooks
ce1b9e7fe9 Drop the HQ 2015-11-08 19:15:58 +00:00
James Brooks
07c37f13c5 Update Google2FA. Closes #1115 2015-11-08 19:15:54 +00:00
James Brooks
a38a29bc2d component_status is required if we send component_id. Closes #1112 2015-11-08 19:06:26 +00:00
Graham Campbell
5f1f6d3c04 Cleanup 2015-11-07 17:09:09 +00:00
Graham Campbell
66061d9a8c Fixed typo 2015-11-07 16:35:04 +00:00
Graham Campbell
434a7b7b5b Merge pull request #1108 from cachethq/timezone
Timezone Fixes
2015-11-07 16:33:19 +00:00
Graham Campbell
ba6f9fee43 Merge pull request #1107 from cachethq/handlers
Tweaked three command handlers
2015-11-07 16:31:58 +00:00
Graham Campbell
8cd8c35125 Fixes 2015-11-07 15:37:06 +00:00
Graham Campbell
dd6a1fa956 Tweaked three command handlers 2015-11-07 13:21:28 +00:00
Joseph Cohen
bb691ec427 Test setting timezone on the api for metric points
Signed-off-by: Graham Campbell <graham@alt-three.com>
2015-11-07 13:20:06 +00:00
Graham Campbell
2d648e44ae Make sure metrics use the correct timezone
Closes #1032
2015-11-07 13:18:38 +00:00
Graham Campbell
d379e41edf Use the date factory in the schedule controller 2015-11-07 13:16:54 +00:00
Graham Campbell
6a73d6268d Use the date factory in the commands 2015-11-07 13:16:39 +00:00
Graham Campbell
592b62b399 Added date factory 2015-11-07 13:15:28 +00:00
Graham Campbell
1a23d84488 Rebuilt css 2015-11-07 11:55:16 +00:00
Graham Campbell
82e9a94ac7 Updated dependencies 2015-11-07 11:52:10 +00:00
James Brooks
c89691cb2c Fixes #1104 - Re-adds enabled field to dashboard 2015-11-07 11:29:44 +00:00
James Brooks
a70d9ce530 Added status value validation to commands 2015-11-07 11:20:45 +00:00
Graham Campbell
c75579779f Updated dependencies 2015-11-05 16:06:48 +00:00
Graham Campbell
ca2b6a7ba4 Updated markdown config and enabled safe mode 2015-11-05 16:01:21 +00:00
Graham Campbell
46845f1a8f Bumped minimum markdown vesion 2015-11-05 16:01:16 +00:00
James Brooks
addbe53e2b Fix control name. Closes #1102 2015-11-05 07:17:04 +00:00
James Brooks
b4d33f2bcb Default metric places to 2. Fixes #1090 2015-11-04 18:47:17 +00:00
Graham Campbell
210568ff1a Merge pull request #1101 from cachethq/define-version
Display the current version in the settings sidebar. Closes #1061
2015-11-04 17:41:33 +00:00
Graham Campbell
4775ef43b7 Fixed the version constant 2015-11-04 17:39:55 +00:00
Graham Campbell
b8fa1f0111 Moved the defining to the autoload.php file 2015-11-04 17:39:16 +00:00
James Brooks
3b7308dccd Display the current version in the settings sidebar. Closes #1061 2015-11-04 15:10:15 +00:00
James Brooks
f5964bef8e Removed unused import 2015-11-04 15:09:52 +00:00
James Brooks
e6c24ce9f8 Remove pointless check for logged in users 2015-11-04 15:05:38 +00:00
James Brooks
b8e3dcff55 Docblock fixes 2015-11-04 15:02:56 +00:00
James Brooks
0fed178c34 Removed old todo comment. Closes #1073 2015-11-04 15:00:28 +00:00
James Brooks
fbc4041bf7 Hide disabled components from public API. Closes #1095 2015-11-04 14:59:11 +00:00
James Brooks
32d4aae76e Removed unused Guard usage 2015-11-04 14:48:02 +00:00
James Brooks
b7eac45968 Call enabled scope on the builder, not the collection 2015-11-04 14:39:27 +00:00
Graham Campbell
39157a74a1 Merge pull request #1100 from AntoineAugusti/components-scopes
Add scopes for components
2015-11-04 13:53:03 +00:00
Antoine Augusti
b414a4e391 Add scopes for components 2015-11-04 14:54:43 +01:00
James Brooks
87bcd0c87b Remove todo 2015-11-03 23:23:14 +00:00
James Brooks
fcac32a67d Refactors out notify conditions. Closes #1083 2015-11-03 23:17:45 +00:00
James Brooks
ccc23fa70d Merge pull request #1099 from cachethq/disable-components
Enabling/Disabling of components
2015-11-03 22:52:38 +00:00
James Brooks
468f156ceb Update command tests 2015-11-03 22:37:29 +00:00
James Brooks
013f873500 Default the add component to true 2015-11-03 22:11:44 +00:00
James Brooks
edd111451e Started work on enabling/disabling components 2015-11-03 21:32:45 +00:00
James Brooks
e8a3e18d55 Updated dependencies 2015-11-03 21:08:29 +00:00
Graham Campbell
2e26f6641d Fixed redirect
Closes #1098
2015-11-01 23:36:49 +00:00
James Brooks
809c17e7e6 We don't need to eager load metric points. Closes #1089 2015-11-01 18:48:25 +00:00
James Brooks
b4977e7ada Merge pull request #1096 from phelipealves/master
Brazilian Portuguese updated
2015-11-01 14:46:50 +00:00
Phelipe Alves de Souza
7f00501d10 Brazilian Portuguese updated 2015-11-01 12:14:48 -02:00
Graham Campbell
3862a8a2f0 Updated composer.lock 2015-10-31 20:41:24 +00:00
Graham Campbell
6cfe07c4fa Merge pull request #1084 from cachethq/analysis-qyKZL8
Applied fixes from StyleCI
2015-10-30 18:25:56 +00:00
Graham Campbell
f2fb5b66c1 Applied fixes from StyleCI 2015-10-30 14:25:45 -04:00
Graham Campbell
f454172dc8 Pull in change to .htaccess made on laravel/laravel 2015-10-30 18:24:43 +00:00
Graham Campbell
4ab6cd5b1b Synced config with laravel/laravel 2015-10-30 18:24:42 +00:00
James Brooks
c354c7cc3d Merge pull request #1076 from TheoBearman/master
Some Minor Grammatical & Styling Changes
2015-10-29 21:46:50 +00:00
Theo Bearman
36c8f086e9 James' Changes 2015-10-29 12:07:37 +00:00
Theo Bearman
4c32a394fe Fix 2015-10-29 11:43:14 +00:00
Theo Bearman
4ed8d9b7d5 Some Minor Grammatical & Styling Changes 2015-10-29 11:10:45 +00:00
Theo Bearman
148268d294 Merge remote-tracking branch 'refs/remotes/cachethq/master' 2015-10-29 10:55:43 +00:00
James Brooks
7076b92003 Updated description and keywords 2015-10-29 08:25:31 +00:00
Graham Campbell
8af729e426 Updated dependencies 2015-10-28 22:35:41 +00:00
Graham Campbell
6a1048d6a5 Removed dependency accidently added 2015-10-28 22:31:59 +00:00
Graham Campbell
555dda4bac Bumped minimum laravel version 2015-10-28 22:31:48 +00:00
James Brooks
a23bdad59c Merge pull request #1074 from Forst/master
[ru] Update localization
2015-10-28 14:50:00 +00:00
Graham Campbell
b67419e073 Updated dependencies 2015-10-28 14:40:43 +00:00
Foster Forst Snowhill
8569101551 [ru] Update localization 2015-10-28 17:28:10 +03:00
Graham Campbell
a8e1713fab Merge pull request #1070 from cachethq/incidents
Improved and fixed the report incident command handler
2015-10-28 14:05:53 +00:00
Graham Campbell
bb106d35fe Improved and fixed the report incident command handler 2015-10-28 13:58:20 +00:00
James Brooks
4a07bb4a7f Merge pull request #1069 from ApfelUser/master
Enhance German translations
2015-10-28 10:39:15 +00:00
ApfelUser
d7e10f087b The file name seems to have changed in the original EN folder 2015-10-28 10:27:13 +01:00
ApfelUser
09ed3b3e7a Add correct German translation for auth.php 2015-10-28 10:17:17 +01:00
James Brooks
b1d013e997 Merge pull request #1068 from TheoBearman/master
Some Minor Grammatical Changes
2015-10-28 08:04:40 +00:00
Theo Bearman
3649b58fbe Graham's Corrections 2015-10-27 21:34:54 +00:00
Theo Bearman
6cd37a5ab6 'Powered' is now 'powered' again 2015-10-27 20:31:31 +00:00
Theo Bearman
390a2d289e Some Minor Grammatical Changes 2015-10-27 20:17:22 +00:00
James Brooks
bb77dafea9 Merge pull request #1065 from TheoBearman/master
Removed Bold Text On Footer 'Subscriber' Button #1056
2015-10-27 20:02:22 +00:00
James Brooks
854679e55e Merge pull request #1066 from cachethq/issue-1064
Closes #1064
2015-10-27 18:11:42 +00:00
Graham Campbell
d40ffed287 Closes #1064 2015-10-27 17:44:28 +00:00
Theo Bearman
ef8f90bc4d Removed Bold Text On Footer 'Subscriber' Button 2015-10-27 16:35:27 +00:00
James Brooks
8d02a5a3a2 Fix issue with components not reporting on incidents. Closes #1063 2015-10-27 12:43:01 +00:00
James Brooks
964a5fc514 Move the banner form into Theme. Closes #1051 2015-10-27 08:19:53 +00:00
James Brooks
ce633c6b29 Closes #1050, link to Gravatar.com in the profile page 2015-10-27 08:18:09 +00:00
James Brooks
8131e21a67 Merge pull request #1058 from cachethq/finish-footer
Remove footer icons, make button outline, fix responsive
2015-10-26 21:41:08 +00:00
Joseph Cohen
36f0f9f2cb Remove footer icons, make button outline, fix responsive 2015-10-26 12:09:41 -06:00
Graham Campbell
69bab99855 Rebuilt css 2015-10-25 12:06:49 +00:00
Graham Campbell
85a49e6386 Updated dependencies 2015-10-25 12:06:44 +00:00
Graham Campbell
5e9b52d534 Updated dependencies 2015-10-24 22:35:57 +01:00
Graham Campbell
edfd0156a9 Merge branch 'master' of https://github.com/cachethq/Cachet 2015-10-24 22:33:56 +01:00
Graham Campbell
6d3294415b Merge pull request #1055 from cachethq/footer
Make footer simpler
2015-10-24 22:32:48 +01:00
Graham Campbell
61d5554c7c Bumped minimum laravel version 2015-10-24 22:31:15 +01:00
Graham Campbell
cd2829ba5b Meh 2015-10-24 22:24:39 +01:00
Graham Campbell
5e97ae4398 Support php 7 2015-10-24 22:24:17 +01:00
Joseph Cohen
df8e9ea101 Make footer simpler 2015-10-24 12:48:40 -05:00
James Brooks
a8b279c2e6 Merge pull request #1053 from mmollick/subscriber_confirmations
Fixing issue #1052
2015-10-23 07:25:59 +01:00
James Brooks
3a76953ed8 Merge pull request #1054 from mmollick/typo
Fixed typo for unsubscribe
2015-10-23 07:25:26 +01:00
Michael Mollick
48e0a775e0 Fixed typo for unsubscribed language reference 2015-10-22 21:36:49 -04:00
Michael Mollick
728ad547b5 Subscribers can now confirm and unsubscribe when 'Allow people to signup...' is disabled 2015-10-22 21:24:31 -04:00
James Brooks
ffa6a8f3d6 Merge pull request #1049 from mmollick/fullwidth_header
Fullwidth header
2015-10-22 17:12:26 +01:00
Michael Mollick
1271470da3 Changed the default padding options, was '40px 0 0 0', is now '40px 0' 2015-10-22 09:14:59 -04:00
Michael Mollick
152c46e430 Reworking the header, logo is always contained in the center column per the original header 2015-10-21 22:18:34 -04:00
James Brooks
974fd5015d Merge pull request #1048 from mmollick/master
Cleaning up dashboard forms
2015-10-21 07:08:19 +01:00
Michael Mollick
bd6b9fcabf Applied StyleCI patch 2015-10-21 00:16:46 -04:00
Michael Mollick
77245c3b71 Fixing checkbox to toggle fullwidth banner 2015-10-21 00:14:18 -04:00
Michael Mollick
efee85685b Updated language files with new theme fields 2015-10-21 00:02:27 -04:00
Michael Mollick
f1c613249a Support for full width header added 2015-10-20 23:52:48 -04:00
Michael Mollick
e8a5926dfe Applied StyleCI changes 2015-10-20 22:13:52 -04:00
Michael Mollick
5860678eb5 Notify subscribers is now one line, optional indicator appears after label 2015-10-20 21:19:57 -04:00
Michael Mollick
1480385c04 Display chart on status page is now on a single line 2015-10-20 21:13:09 -04:00
Michael Mollick
4771a134c4 Notify subscribers checkbox is now a single line, removed optional indicator 2015-10-20 21:09:52 -04:00
Michael Mollick
6d231fb68a Checkbox in theme is now inline 2015-10-20 21:07:19 -04:00
Michael Mollick
be6fdf6890 Updated remaining language files 2015-10-20 20:52:38 -04:00
Michael Mollick
c832aba80a Segmented the language files 2015-10-20 20:38:33 -04:00
James Brooks
24e125857c Organise the footer buttons better. Closes #1047 2015-10-20 22:06:35 +01:00
Graham Campbell
95d9c2424d Updated lock file 2015-10-20 20:36:36 +01:00
Graham Campbell
7507a362bd Switched boolean for bool 2015-10-20 20:34:59 +01:00
Graham Campbell
d46007c536 Switched from integer to int 2015-10-20 20:33:23 +01:00
Graham Campbell
59967bca9a Bumped min versions 2015-10-20 20:32:53 +01:00
James Brooks
1c9021884a Fixes favicon.png sizing. Closes #1045 2015-10-20 19:59:29 +01:00
Michael Mollick
1ce7f3d569 Seperated application settings into three pages 2015-10-19 00:41:19 -04:00
Graham Campbell
decc16a72c Merge pull request #1043 from BenjaminPaap/patch-1
Fixed some minor typos
2015-10-18 19:57:24 +01:00
Benjamin Paap
5af115daac Fixed some minor typos
While reading the README.md I noticed some minor typos
2015-10-18 20:54:23 +02:00
James Brooks
c3646fd64a Let's not duplicate view code 2015-10-17 14:27:15 +01:00
James Brooks
4e7d4c4581 Move the subscribers button into footer, re-arrange top half page 2015-10-17 14:18:45 +01:00
James Brooks
49e4113159 Filter component elements that aren't set 2015-10-17 09:59:58 +01:00
James Brooks
654c0265aa Merge pull request #1042 from cachethq/demo-metric-point-seeder
Added DemoMetricPointSeederCommand. Closes #1041
2015-10-16 17:54:07 +01:00
James Brooks
0eda950dc7 Added DemoMetricPointSeederCommand. Closes #1041 2015-10-16 17:48:58 +01:00
James Brooks
2d55697cf4 Merge pull request #1039 from MaxGfeller/add-composer-test-script
Add `composer test` script
2015-10-15 14:34:48 +01:00
Max Gfeller
1248c4042f Add composer test script 2015-10-15 15:32:46 +02:00
James Brooks
9bf6d31131 Merge pull request #1037 from cachethq/fix-date-trans
Set date lang on the localized middleware
2015-10-15 00:05:43 +01:00
Joseph Cohen
134dfa0b0e Set date lang on the localized middleware 2015-10-14 16:03:58 -05:00
James Brooks
02d59e3424 Finish the PgSqlRepository for metrics. Closes #1035 2015-10-14 20:59:11 +01:00
James Brooks
4897453f5f Editing a component should call UpdateComponentCommand. Closes #1036 2015-10-14 17:19:24 +01:00
James Brooks
ee1c23b2c9 Update dependencies 2015-10-13 22:33:23 +01:00
Graham Campbell
e1ae1a1316 Rebuilt css 2015-10-11 16:04:15 +01:00
Graham Campbell
66779c3f0b Updated npm deps 2015-10-11 16:04:09 +01:00
Graham Campbell
7a998f2b69 Updated dependencies 2015-10-11 15:17:56 +01:00
James Brooks
6ba1b1188a Merge pull request #1029 from cachethq/use-warning-status
Use warning rather than error
2015-10-11 12:10:36 +01:00
James Brooks
39b6bfc6d0 Use info instead of warning 2015-10-11 12:10:19 +01:00
James Brooks
9ad3b7e606 Merge pull request #997 from mrbase/dk-lang
added danish translation
2015-10-11 12:03:15 +01:00
James Brooks
3988cfb6c0 Use warning rather than error 2015-10-11 11:35:00 +01:00
Graham Campbell
9d20e7b3a4 Merge pull request #1028 from cachethq/analysis-Xk6bP8
Applied fixes from StyleCI
2015-10-09 14:42:16 +01:00
Graham Campbell
d62598dd45 Applied fixes from StyleCI 2015-10-09 09:42:10 -04:00
Graham Campbell
746b7aeb2a Merge pull request #1025 from cachethq/cachet-timezone
[WIP] Cachet timezone
2015-10-09 14:41:30 +01:00
Joseph Cohen
41b8b9660b Fix missing default 2015-10-08 16:17:35 -05:00
Graham Campbell
019bb6b7ea Merge pull request #1027 from cachethq/analysis-qB05O8
Applied fixes from StyleCI
2015-10-08 22:16:43 +01:00
Graham Campbell
bda07ea0dd Applied fixes from StyleCI 2015-10-08 17:16:37 -04:00
Joseph Cohen
9d91e19863 CS Fix 2015-10-08 16:15:44 -05:00
Joseph Cohen
9887df6987 Revert change on statuspage 2015-10-08 16:15:04 -05:00
Graham Campbell
63d5161010 Merge pull request #1026 from cachethq/analysis-qyLK5X
Applied fixes from StyleCI
2015-10-08 22:13:11 +01:00
Graham Campbell
1a783d71f8 Applied fixes from StyleCI 2015-10-08 17:13:03 -04:00
Joseph Cohen
a288f84fc5 Settable timezones with cachet config 2015-10-08 16:11:30 -05:00
James Brooks
1e2b80d8d3 Standalone text classes should be importnat 2015-10-08 21:43:23 +01:00
James Brooks
d3fcffce72 Text color for buttons and alerts is now dynamic. Closes #1020, #1021 2015-10-08 17:02:27 +01:00
James Brooks
22c39df73f Merge pull request #1024 from billmn/status-page-localization
Restored Status Page localization
2015-10-08 10:34:05 +01:00
Davide Bellini
8bd46105e6 Restored Status Page localization 2015-10-08 11:30:33 +02:00
Graham Campbell
35679a23d0 Merge pull request #1015 from cachethq/autopresenter
Autopresenter Updates
2015-10-07 22:55:53 +01:00
Graham Campbell
6c048d45d6 Updated lock file 2015-10-07 22:55:26 +01:00
Graham Campbell
995fdd4049 Updated autopresenter 2015-10-07 22:55:25 +01:00
Davide Bellini
b6fbe53b28 Use Collection on API Paginator presenter
This allows to decorate all model's attributes inside the Collection
2015-10-07 22:55:24 +01:00
Graham Campbell
22204811c2 Merge pull request #1019 from mrbase/form-and-js-fix
Fix problems with the incident add/edit form
2015-10-07 22:52:58 +01:00
ulrik nielsen
a374ae9abd removed the incident array 2015-10-07 21:48:23 +02:00
ulrik nielsen
b68efe0631 new asset build 2015-10-07 21:47:42 +02:00
James Brooks
ce8e710173 Set the app_timezone setting 2015-10-07 17:49:22 +01:00
Graham Campbell
8bd510a653 Merge pull request #1010 from cachethq/new
Updated dependencies
2015-10-07 14:37:55 +01:00
Graham Campbell
efdddfb847 Rebuilt css 2015-10-07 14:30:17 +01:00
Graham Campbell
22b6af8f0f Updated lock file 2015-10-07 14:30:16 +01:00
Graham Campbell
04321db166 Updated throttle package 2015-10-07 14:30:14 +01:00
Graham Campbell
9bef541057 Updated exceptions package 2015-10-07 14:30:13 +01:00
Graham Campbell
af62c5683f Updated markdown packages 2015-10-07 14:30:13 +01:00
Graham Campbell
238dcbcaeb Bumped min guzzle version 2015-10-07 14:30:12 +01:00
Graham Campbell
4e9f8772e8 Bumped min phpunit version 2015-10-07 14:30:11 +01:00
Graham Campbell
710348c0b6 Merge pull request #1013 from cachethq/travis
Synced travis file with alt three packages
2015-10-07 14:05:11 +01:00
Graham Campbell
7909465e98 Added back no scripts 2015-10-07 14:03:16 +01:00
Graham Campbell
9fac22b863 Synced travis file with alt three packages 2015-10-07 14:01:54 +01:00
James Brooks
55429283c0 Started working on API timezone support 2015-10-07 13:48:14 +01:00
James Brooks
32063510fb Update dependencies 2015-10-07 13:37:42 +01:00
Graham Campbell
814fcd844c Tweaked command kernel 2015-10-06 16:24:51 +01:00
James Brooks
715adda424 Merge pull request #1007 from janyksteenbeek/patch-1
Fixed Grammar + added translation for metrics
2015-10-06 11:23:16 +01:00
Janyk Steenbeek
9ea4698f21 Fixed Grammar + added translation for metrics
Fixed grammar in Dutch translation file, things like capital letters and double words. Also added translation for metrict
2015-10-06 12:04:52 +02:00
James Brooks
a91d0be1a8 Fix CS 2015-10-05 20:18:44 +01:00
James Brooks
2091f0ddf0 Merge pull request #1003 from billmn/login-autofocus
Autofocus on login email field
2015-10-05 20:18:14 +01:00
Davide Bellini
674be657c7 Autofocus on login email field 2015-10-05 21:10:24 +02:00
ulrik nielsen
2dd393a569 Merge branch 'dk-lang' of github.com:mrbase/Cachet into dk-lang 2015-10-05 20:54:42 +02:00
ulrik nielsen
9d4ec9c711 added danish translation 2015-10-05 20:53:48 +02:00
James Brooks
bc16eda3ec Closes #1002 2015-10-05 19:04:04 +01:00
Graham Campbell
1cf63e025b Merge pull request #1001 from cachethq/php7
Test on php 7
2015-10-05 18:13:10 +01:00
Graham Campbell
92c08b63d7 Only run coverage on 5.6 2015-10-05 18:12:32 +01:00
Davide Bellini
4793617f9b Some improvements on settings controller
Closes 989

Signed-off-by: Graham Campbell <graham@alt-three.com>
2015-10-05 18:10:04 +01:00
Graham Campbell
d4745ebb7b Test on php 7 2015-10-05 18:07:03 +01:00
James Brooks
1ba807c724 Merge pull request #1000 from revi/typofix
Fix typo in CONTRIBUTING.md
2015-10-05 17:52:49 +01:00
Yongmin Hong
5bbbb4ec58 Fix typo
Into to doesn't seem natural, is it?
2015-10-06 01:47:43 +09:00
ulrik nielsen
5c3e935b13 StyleCI fix 2015-10-05 18:11:10 +02:00
ulrik nielsen
6afea3674c added danish translation 2015-10-05 17:57:17 +02:00
James Brooks
ef159b38e7 Merge pull request #996 from cachethq/analysis-8bo3lX
Applied fixes from StyleCI
2015-10-05 14:18:46 +01:00
James Brooks
752d353900 Applied fixes from StyleCI 2015-10-05 09:18:41 -04:00
James Brooks
5b897f18b9 Added tests for Service Providers 2015-10-05 14:07:06 +01:00
James Brooks
532a7139a3 Merge pull request #995 from billmn/sortable-background
Added background color to sortable list
2015-10-05 13:55:52 +01:00
Davide Bellini
54d3419d5e Add border to the dragged item 2015-10-05 14:52:50 +02:00
Davide Bellini
021a842520 Added background to sortable list 2015-10-05 12:36:47 +02:00
James Brooks
a08f39f351 Merge pull request #994 from billmn/patch-1
Updated Italian metrics translations
2015-10-05 08:56:50 +01:00
Davide Bellini
753fa00d92 Updated Italian metrics translations 2015-10-05 09:51:23 +02:00
James Brooks
677caf86c5 Merge pull request #993 from cachethq/update-elixir
Update to elixir 3.3.1, removed unused elixir.json format bower.json
2015-10-05 08:24:49 +01:00
Joseph Cohen
01ed08dcb1 Update to elixir 3.3.1, removed unused elixir.json format bower.json 2015-10-04 21:23:12 -05:00
James Brooks
af7258d54f Merge pull request #990 from cachethq/command-tests
Command Tests
2015-10-03 20:53:49 +01:00
James Brooks
127d0d0d55 Added command tests 2015-10-03 16:58:34 +01:00
James Brooks
939bdf0c4e Merge pull request #973 from billmn/alert-improvements
Alert improvements
2015-10-03 16:02:45 +01:00
Davide Bellini
e9702e4292 Merged branch master and fixed conflict
After Password Strength merge this branch have 2 conflict:
- gulpfile.js
- public/build/rev-manifest.json

All conflicts solved now
2015-10-03 12:53:43 +02:00
James Brooks
b4f7adfdfd Updated dependencies 2015-10-03 11:34:52 +01:00
James Brooks
4d7d5b5734 Merge pull request #983 from AntoineAugusti/guard-demo-seeder-command
Ask for confirmation when trying to run the DemoSeederCommand in prod
2015-10-03 10:02:54 +01:00
James Brooks
43fa49bdd8 Merge pull request #988 from ApfelUser/master
e-Mail -> E-Mail
2015-10-03 10:00:16 +01:00
ApfelUser
f16c17c824 Fix E-Mail in forms.php 2015-10-03 10:58:02 +02:00
ApfelUser
0f353a3db3 Fix E-Mail in cachet.php 2015-10-03 10:57:08 +02:00
Joseph Cohen
4baaf69907 Small update to the password strength indicator 2015-10-03 03:19:47 -05:00
Joe Cohen
1914e54def Merge pull request #980 from AntoineAugusti/password-strength-indicator
Add a password strength indicator on relevant forms
2015-10-03 03:01:10 -05:00
Antoine Augusti
130dc11740 Add a password strength indicator on relevant forms 2015-10-03 09:50:18 +02:00
Graham Campbell
ac429b1e2a Merge pull request #986 from manuelgu/patch-2
changed german translation to a more sensible one
2015-10-02 22:08:18 +01:00
manuelgu
9426c7a9de changed german translation to a more sensible one 2015-10-02 23:05:24 +02:00
James Brooks
be3a8c4c85 Merge pull request #985 from manuelgu/patch-1
tweaked the german language file
2015-10-02 21:49:52 +01:00
manuelgu
bc730a5d95 tweaked the german language file 2015-10-02 22:47:18 +02:00
James Brooks
26c0ff9af7 Merge pull request #984 from AntoineAugusti/api-per-page-type
per_page attribute in API responses should be an integer
2015-10-02 20:13:45 +01:00
James Brooks
dedfda2dc2 Merge pull request #982 from AntoineAugusti/translation-fix
Fix translation logged_in_only
2015-10-02 20:01:13 +01:00
James Brooks
dbcf567505 Merge pull request #981 from billmn/settings-locale-fix
Fixed wrong Locale on Settings form submit
2015-10-02 20:00:54 +01:00
James Brooks
52119f97cf Merge pull request #979 from billmn/updated-italian-lang
Updated Italian translations
2015-10-02 19:59:45 +01:00
Antoine Augusti
e9e5768406 per_page attribute in API responses should be an integer 2015-10-02 20:10:09 +02:00
Antoine Augusti
14aea5a1f0 Ask for confirmation when trying to run the DemoSeederCommand in production 2015-10-02 19:11:27 +02:00
Antoine Augusti
ea8531ddc1 Fix translation logged_in_only 2015-10-02 18:58:44 +02:00
Davide Bellini
254c81af1b Fixed wrong Locale on Settings form submit
Except Setup section, when you submit a form, the Success message doesn't use your current locale but always English (that is the default language).
2015-10-02 18:50:10 +02:00
Davide Bellini
1fc1cd7cba Reduced indentation 2015-10-02 17:35:02 +02:00
Davide Bellini
b6056faa72 Removed space before the question mark 2015-10-02 16:31:08 +02:00
Davide Bellini
4c0fb53ba7 Fixed style, again ;) 2015-10-02 15:48:13 +02:00
Davide Bellini
bd6b3f09d0 Updated Italian translations
Aligned to the latest version of Laravel
2015-10-02 15:43:38 +02:00
Graham Campbell
b511a91a7f Merge pull request #978 from cachethq/composer
Force lock file to work on php 5.5.9
2015-10-02 11:49:49 +01:00
Graham Campbell
093bd8c55c Force lock file to work on php 5.5.9 2015-10-02 11:45:39 +01:00
David Fernández
a21fae88d4 Updated Spanish translations
Closes #975

Signed-off-by: Graham Campbell <graham@alt-three.com>
2015-10-02 10:29:46 +01:00
James Brooks
e6a8e25eed Merge pull request #976 from billmn/patch1
Used lang files of latest version of Laravel
2015-10-02 07:09:36 +01:00
Davide Bellini
3c2388e83b Fix Style 2015-10-02 01:04:02 +02:00
Davide Bellini
4fc31445ff Merge branch 'master' of https://github.com/cachethq/Cachet into patch1 2015-10-02 00:55:17 +02:00
Davide Bellini
97cbbc2830 Used lang files of latest version of Laravel 2015-10-02 00:47:29 +02:00
Graham Campbell
2f332a193e Merge pull request #972 from floler/master
tweaked the german language translations
2015-10-01 23:21:27 +01:00
Davide Bellini
3fca767624 Use SweetAlert for confirmation dialog 2015-10-01 23:28:01 +02:00
Davide Bellini
e59a490878 Added SweetAlert to Bower components 2015-10-01 23:25:08 +02:00
Florian Chrometz
c2ad8e14f3 tweaked the german language translations 2015-10-01 22:18:23 +02:00
Graham Campbell
1ceaed3911 Merge pull request #971 from cachethq/analysis-z906mq
Applied fixes from StyleCI
2015-10-01 21:16:55 +01:00
Graham Campbell
a688b495d7 Applied fixes from StyleCI 2015-10-01 16:16:50 -04:00
JLamim Projetos Web & Mobile
59937229b2 Translation to Brazillian Portuguese completed
Closes #970

Signed-off-by: Graham Campbell <graham@alt-three.com>
2015-10-01 21:15:57 +01:00
Graham Campbell
1c892f64f0 Fixed typo 2015-10-01 21:15:07 +01:00
James Brooks
66bd80d080 Merge pull request #969 from cachethq/dates
Moved dates to casts
2015-10-01 21:07:58 +01:00
Graham Campbell
db6faa70d3 Moved dates to casts 2015-10-01 21:05:14 +01:00
Graham Campbell
65023ec7da Merge branch 'master' of https://github.com/cachethq/Cachet 2015-10-01 21:04:45 +01:00
Graham Campbell
6b4b71552d Updated dependencies 2015-10-01 21:04:40 +01:00
Graham Campbell
7bd158bb6c Bumped min laravel vesion 2015-10-01 21:04:30 +01:00
James Brooks
b408036c76 Merge pull request #968 from cachethq/security-notice
Security notice
2015-10-01 20:55:45 +01:00
James Brooks
75020a6576 Security notice 2015-10-01 20:55:24 +01:00
James Brooks
c75bdad4fa Merge pull request #967 from cachethq/branch-notice
Added branch notice
2015-10-01 20:47:15 +01:00
James Brooks
2a15991e16 Addedbranch notice 2015-10-01 20:46:48 +01:00
James Brooks
6aedf27300 Merge pull request #966 from cachethq/update-deps
Update dependencies
2015-10-01 20:39:48 +01:00
James Brooks
102457b491 Update dependencies 2015-10-01 20:38:42 +01:00
Graham Campbell
afa2b3ca7e Merge pull request #965 from cachethq/emoji
Add way to disable emoji support
2015-10-01 20:32:08 +01:00
Graham Campbell
282e61d202 Move 2015-10-01 20:31:19 +01:00
Graham Campbell
e8427cb06b Add way to disable emoji support 2015-10-01 20:29:47 +01:00
Davide Bellini
3e0d38aa4c Italian translation
Closes #964

Signed-off-by: Graham Campbell <graham@alt-three.com>
2015-10-01 20:23:19 +01:00
James Brooks
df0acb40de Merge pull request #950 from cachethq/update-commands
Update commands
2015-10-01 20:14:02 +01:00
James Brooks
3e9336c598 Use the array of login data that we already have 2015-09-29 19:36:56 +01:00
James Brooks
e8bc3fb818 Use integer and between for metric rules 2015-09-26 14:46:25 +01:00
James Brooks
08e9705088 $incident_date is now handled by the command handler 2015-09-26 14:42:42 +01:00
James Brooks
3ca1ae5d70 calc_type can only be 0 or 1 2015-09-26 14:22:02 +01:00
Joseph Cohen
f7f01c5059 Typo 2015-09-24 23:12:35 -05:00
Joe Cohen
c13aece3a4 Merge pull request #958 from cachethq/analysis-qJxWb8
Applied fixes from StyleCI
2015-09-24 23:10:14 -05:00
Joe Cohen
051e26e653 Applied fixes from StyleCI 2015-09-25 00:08:16 -04:00
Joseph Cohen
3f8471d8da Fixes and validation rules 2015-09-24 23:07:39 -05:00
James Brooks
eadedeecbf Autosize now works again 2015-09-23 21:25:10 +01:00
James Brooks
8c03c80582 Update bower components. Fix autosize not working 2015-09-23 21:25:06 +01:00
James Brooks
4ae9d96f25 Updated dependencies 2015-09-23 20:21:50 +01:00
James Brooks
354bfffc97 Merge pull request #955 from cachethq/analysis-qryRxX
Applied fixes from StyleCI
2015-09-23 18:39:17 +01:00
James Brooks
4384438d46 Applied fixes from StyleCI 2015-09-23 13:39:04 -04:00
James Brooks
18f98d19f0 Added UpdateMetric and UpdateMetricPoint commands 2015-09-23 18:38:42 +01:00
James Brooks
b8b81f7e1c Added UpdateIncidentCommand 2015-09-23 18:19:01 +01:00
James Brooks
30b05f360d Applied fixes from StyleCI 2015-09-23 18:19:01 +01:00
James Brooks
d4c1b23b3f Added UpdateComponentGroupCommand 2015-09-23 18:19:01 +01:00
James Brooks
d3cd8201a6 UpdateComponentCommand is now done 2015-09-23 18:19:01 +01:00
James Brooks
80caeea86a Check that $incidentDate is set before using it 2015-09-21 11:21:03 +01:00
James Brooks
a9a5eef275 Actually, we need to use hasSetting 2015-09-21 11:11:02 +01:00
James Brooks
92ab7c8451 Don't mind the Registrar contract as it no longer exists 2015-09-21 11:02:45 +01:00
James Brooks
935fb9c7c1 Updated composer 2015-09-20 19:00:02 +01:00
James Brooks
ba57d51142 Updated dependencies 2015-09-20 18:51:14 +01:00
James Brooks
e735dd5dc4 Removed unused Exception import 2015-09-19 14:30:08 +01:00
James Brooks
49a7b55a12 Remove unused variable within component presenter 2015-09-19 14:28:31 +01:00
James Brooks
a6d3b69f75 Remove unused import 2015-09-19 14:28:31 +01:00
James Brooks
91fe0ed72f Clean up the HasSetting middleware 2015-09-19 14:28:31 +01:00
James Brooks
45784c3720 Use the app.isSetup middleware 2015-09-19 14:28:31 +01:00
James Brooks
c2f8f23159 Added missing return void docs 2015-09-19 14:28:31 +01:00
James Brooks
3af02f725b Fixed docblock comments 2015-09-19 14:28:31 +01:00
James Brooks
d2d605e884 Improved the AppIsSetup middleware 2015-09-19 14:28:30 +01:00
James Brooks
7e5ec12c05 Merge pull request #952 from cachethq/code-tidy
Removed ConsoleServiceProvider and Registrar services
2015-09-19 08:33:21 +01:00
James Brooks
0973930710 Completely remove ConsoleServiceProvider 2015-09-19 08:32:40 +01:00
James Brooks
a02afa2d28 Update dependencies 2015-09-18 15:56:28 +01:00
James Brooks
6a18554768 Remove unused import 2015-09-18 15:51:43 +01:00
James Brooks
00d7c715ff Remove service binding console service provider 2015-09-18 15:49:59 +01:00
James Brooks
8fad9f567b Removed unused Registrar service 2015-09-18 15:47:37 +01:00
Graham Campbell
6d983a1b21 Merge pull request #945 from cachethq/analysis-q5b3yz
Applied fixes from StyleCI
2015-09-14 09:15:47 +01:00
Graham Campbell
9a964a9aee Applied fixes from StyleCI 2015-09-14 04:15:41 -04:00
Graham Campbell
f4b569f2fd Updated tests 2015-09-14 09:13:42 +01:00
Graham Campbell
d40b6cef57 Updated events 2015-09-14 09:13:14 +01:00
Graham Campbell
cf14483577 Updated dependencies 2015-09-14 09:07:58 +01:00
James Brooks
687b46389d Started work on Events tests 2015-09-14 08:47:51 +01:00
James Brooks
b0ec13fa13 Fixes adding of subscribers. Closes #944 2015-09-14 08:37:24 +01:00
James Brooks
536ae3502d Fixes an issue with parsing JSON on Firefox. Closes #941 2015-09-10 21:25:10 +01:00
James Brooks
2fbc044057 Merge pull request #938 from tobru/feature_mailencryption
new MAIL_ENCRYPTION parameter
2015-09-10 08:31:59 +01:00
James Brooks
45181bfe5c Merge pull request #939 from andrewgoktepe/utc-timezone
add UTC time zone as an option on Application Setup page
2015-09-10 08:31:19 +01:00
Andrew Goktepe
68a0839e13 add UTC time zone to list of options 2015-09-09 16:58:49 -07:00
Tobias Brunner
4dd839719f add example for MAIL_ENCRYPTION to example env file 2015-09-09 22:30:53 +02:00
Tobias Brunner
600493f1cb new MAIL_ENCRYPTION parameter
Make the encryption parameter of the mail transport configuration
configurable with an environment variable. Default is still the
same: tls
2015-09-09 16:59:07 +02:00
Joe Cohen
c4e4035fea Merge pull request #929 from cachethq/improved-theming
Theming of Cachet is much simpler with more color settings
2015-09-04 17:49:31 -05:00
Joseph Cohen
7ab139f82e Add backgroud fills 2015-09-04 17:39:27 -05:00
James Brooks
6b362fd88d Theming of Cachet is much simpler with more color settings 2015-09-04 22:39:52 +01:00
Graham Campbell
4f05f910e9 Merge branch '1.2'
Conflicts:
	composer.lock
2015-09-04 15:09:01 +01:00
Graham Campbell
2311d67624 Updated dependencies 2015-09-04 15:01:16 +01:00
Graham Campbell
715d65f464 Laravel fixes 2015-09-04 14:44:48 +01:00
Graham Campbell
fa1a5fff0e Merge pull request #866 from cachethq/commands
[WIP] First steps to Commands
2015-09-04 12:17:57 +01:00
Graham Campbell
d20ee2987b Merge branch '1.2'
Conflicts:
	composer.lock
	resources/views/partials/incidents.blade.php
2015-09-04 11:53:25 +01:00
Graham Campbell
1ac4b7a64a Updated dependencies 2015-09-04 11:45:44 +01:00
Graham Campbell
941809037a Lock on laravel 5.1.12 2015-09-04 11:33:14 +01:00
Graham Campbell
0b8ce37e84 Merge pull request #935 from cachethq/fix-scheduled-items-timeline
Fixes #934 - Scheduled items now drop into the right days
2015-09-04 11:11:51 +01:00
James Brooks
0851427f2d Fixes #934 - Scheduled items now drop into the right days 2015-09-04 08:18:10 +01:00
James Brooks
99cd275a9d Updated dependencies 2015-09-02 07:58:12 +01:00
James Brooks
1478a25008 ReportMaintenanceCommand is added 2015-08-31 20:16:39 +01:00
James Brooks
60e9a64a3e Less use of Binput::all() 2015-08-31 20:16:39 +01:00
James Brooks
75588db98e Fix imports 2015-08-31 20:16:39 +01:00
James Brooks
082062fa1b Added ReportIncidentCommand 2015-08-31 20:16:38 +01:00
James Brooks
37d7908606 Added AddTeamMemberCommand 2015-08-31 20:16:38 +01:00
James Brooks
25a3626de5 Fix rebase issue 2015-08-31 20:16:38 +01:00
James Brooks
6ee697cf7f Added AddComponentGroupCommand 2015-08-31 20:16:38 +01:00
James Brooks
698b05980d Fix description 2015-08-31 20:16:38 +01:00
James Brooks
32b2a56573 Remove unused imports 2015-08-31 20:16:38 +01:00
James Brooks
be080a10ef Added commands to delete component group (also fixes bug in API) 2015-08-31 20:16:38 +01:00
James Brooks
c466620435 Added RemoveUserCommand 2015-08-31 20:16:37 +01:00
James Brooks
7be3aa2552 Incidents will now be removed via the command 2015-08-31 20:16:37 +01:00
James Brooks
b80b53191b Commands and events for removing incidents 2015-08-31 20:16:37 +01:00
Joseph Cohen
a239c34892 CS Fixes 2015-08-31 20:16:37 +01:00
Joseph Cohen
4a5110ae53 Finish add and remove components via commands 2015-08-31 20:16:37 +01:00
James Brooks
30eec9da24 Added Component events and handlers 2015-08-31 20:16:36 +01:00
James Brooks
5bc7a3e6f7 Fix CS 2015-08-31 20:16:36 +01:00
Joseph Cohen
7c1f27c4a1 CS Fixes 2015-08-31 20:16:36 +01:00
Joseph Cohen
9581c5a394 Add and remove metrics and metric points commands 2015-08-31 20:16:36 +01:00
Joseph Cohen
64ff4d73c2 Rename incident events and fixes 2015-08-31 20:16:36 +01:00
Joseph Cohen
a93472f544 Namespace events 2015-08-31 20:16:35 +01:00
Joseph Cohen
924eee9752 Fix tests 2015-08-31 20:16:35 +01:00
Joseph Cohen
8250e4ebca Subscribe and unsubscribe subscribers via commands 2015-08-31 20:16:35 +01:00
Joseph Cohen
11b4ab5c6c Start working on the commands 2015-08-31 20:16:35 +01:00
James Brooks
77ce0e21f4 Rename Admin directory to Dashboard within routes. Closes #933 2015-08-31 18:59:17 +01:00
James Brooks
cd9828275d Merge pull request #926 from cachethq/incident-widgets
Incident widgets
2015-08-31 18:17:21 +01:00
James Brooks
ae7ab7ddc0 Applied fixes from StyleCI 2015-08-31 18:17:01 +01:00
James Brooks
69e9d75037 Show subscribers and incidents over last 30 days 2015-08-31 18:17:01 +01:00
James Brooks
70a5022740 Working on a widget design for the dashboard index 2015-08-31 18:17:00 +01:00
James Brooks
f13b8debe4 Merge pull request #932 from cachethq/metric-repository
Improved metric repository for per-db methods. Closes #921
2015-08-31 18:14:48 +01:00
James Brooks
57f0bebbc5 Fixed docblock 2015-08-31 08:45:13 +01:00
James Brooks
9414456fd1 More docblocks that should return void 2015-08-30 22:45:27 +01:00
James Brooks
77f19da9b0 Fix docblocks 2015-08-30 22:42:38 +01:00
James Brooks
7136457b49 Improved metric repository for per-db methods. Closes #921 2015-08-30 22:36:19 +01:00
James Brooks
062a16ca5b Merge pull request #930 from mbabker/route-not-found
Route 'dashboard.components' not found
2015-08-28 08:01:03 +01:00
Michael Babker
3de15fc5e8 Route 'dashboard.components' not found
Updated to reference `dashboard.components.index` route instead.
2015-08-27 21:21:56 -04:00
James Brooks
f1b54bfe57 Re-compiled assets 2015-08-25 21:26:26 +01:00
James Brooks
ba558e69a3 Removed erroneous :after pseudo-element 2015-08-25 21:26:22 +01:00
James Brooks
bf4ebcde45 Merge pull request #924 from cachethq/model-casts
Added casts properties to all models, re-ordered model properties
2015-08-24 21:22:04 +01:00
James Brooks
a77efc12e0 Added casts properties to all models, re-ordered model properties. Fixes #916 2015-08-24 21:08:59 +01:00
James Brooks
92192232ed Merge pull request #925 from cachethq/fix-required-incident-fields
Fixes #913
2015-08-23 20:32:59 +01:00
James Brooks
da3e561217 Fixes #913 2015-08-23 09:08:51 +01:00
James Brooks
885c17054f Allow setting of 0 incident days. Closes #920 2015-08-18 21:27:09 +01:00
Graham Campbell
d47121b93d Merge branch '1.2'
Conflicts:
	public/build/rev-manifest.json
2015-08-18 16:40:06 +01:00
Graham Campbell
860457bfae Rebuilt css 2015-08-18 16:37:47 +01:00
Graham Campbell
9112e2a58f Updated dependencies 2015-08-18 16:17:24 +01:00
Graham Campbell
a72033ffa2 Merge pull request #918 from cachethq/fix-email-snakecase
Fix email templates snakecase
2015-08-17 22:06:40 +01:00
Joseph Cohen
1a7cec53ac Make email templates snake case 2015-08-17 15:50:34 -05:00
James Brooks
bab843b4b1 Move incident templates directory up on 2015-08-16 15:15:54 +01:00
Joseph Cohen
889dd47a14 Fix dashboard route not found on setup 2015-08-15 22:18:09 -05:00
James Brooks
9a0d823c9a Link directly to incidents. Closes #547 2015-08-15 20:54:43 +01:00
James Brooks
b037965c35 Merge pull request #910 from cachethq/incident-view
Incident view
2015-08-15 20:51:16 +01:00
James Brooks
b4f1a8af61 Re-use the timeline view 2015-08-15 20:51:04 +01:00
James Brooks
5e69f23783 Fixes metrics displaying incorrect name and suffix 2015-08-15 20:18:02 +01:00
James Brooks
46cd61e3fe Merge pull request #909 from cachethq/metric-views
Fix some bad design choices in metric views
2015-08-15 19:39:16 +01:00
James Brooks
63ccab3eff Fix some bad design choices in metric views 2015-08-15 17:31:34 +01:00
James Brooks
82d0e88f68 Re-compile assets 2015-08-15 15:10:24 +01:00
James Brooks
8a3f9196d3 Linking directly to an individual incident 2015-08-15 15:10:20 +01:00
James Brooks
c2c815ab14 Started working on ability to view an incident directly 2015-08-15 13:10:08 +01:00
James Brooks
c928c99c8f Merge pull request #908 from cachethq/update-seeder
Updated seeder command to include groups and new incident content
2015-08-15 13:09:06 +01:00
James Brooks
9515d874bf Merge pull request #907 from cachethq/show-affected-component
Show label with component name next to incident. Closes #671
2015-08-15 13:08:08 +01:00
James Brooks
532852f943 Merge pull request #906 from cachethq/code-cleanup
Code cleanup
2015-08-15 13:07:16 +01:00
James Brooks
8fb5a3f992 Rename HomeController, use composers and redo subscribe page 2015-08-15 13:06:24 +01:00
James Brooks
59e1b22e18 Merge pull request #905 from cachethq/client-localize
Localize the status page to the visitors lang. Closes #835
2015-08-15 13:04:39 +01:00
James Brooks
a294b34d64 Updated seeder command to include groups and new incident content. 2015-08-15 11:56:19 +01:00
James Brooks
3d0aec3899 Show label with component name next to incident. Closes #671 2015-08-15 11:26:15 +01:00
James Brooks
ed09ca46b8 Localize the status page to the visitors lang. Closes #835 2015-08-15 10:00:50 +01:00
James Brooks
905445d0ca Merge pull request #902 from cachethq/incident-email-component
Add the component name to incident emails, if applicable. Closes #794
2015-08-15 09:03:49 +01:00
Joseph Cohen
1b953038be Decorate component 2015-08-14 21:32:19 -05:00
Graham Campbell
87563640ff Merge branch '1.2'
Conflicts:
	composer.json
	composer.lock
2015-08-14 23:37:25 +01:00
James Brooks
b1600bdbee Update dependencies 2015-08-14 23:25:25 +01:00
Graham Campbell
2ef8b8411f Bumped min versions 2015-08-14 23:20:54 +01:00
James Brooks
61d8fb8759 Merge pull request #895 from cachethq/metric-select-ajax
Metrics Filter Dropdown
2015-08-14 22:42:38 +01:00
James Brooks
d99f95b2d6 Added metrics filter dropdown. Closes #518 2015-08-14 22:41:37 +01:00
Graham Campbell
4a22b1b053 Merge branch '1.2' 2015-08-14 22:38:38 +01:00
James Brooks
a55bcb8c48 Update dependencies 2015-08-14 22:37:54 +01:00
James Brooks
912c9e7c04 Fix the subscribe.subscribe route 2015-08-14 08:53:04 +01:00
James Brooks
0bff2f9215 Don't pass through the whole incident name, just the components 2015-08-14 08:47:28 +01:00
James Brooks
808bc5201d Add the component name to incident emails, if applicable. Closes #794 2015-08-14 08:46:05 +01:00
James Brooks
0194dbb634 Show the timezone of the status page in the footer. Closes #763 2015-08-14 08:45:03 +01:00
James Brooks
ee0899f5c3 Merge pull request #903 from cachethq/schedule-incident-times
Show the scheduled time if applicable. Closes #799
2015-08-14 08:29:50 +01:00
Joseph Cohen
8b0f1033e5 Fix typo assign 2015-08-13 23:38:54 -05:00
James Brooks
b68647df8e Show the scheduled time if applicable. Closes #799 2015-08-13 23:23:18 +01:00
James Brooks
1965dbb3e7 Merge pull request #889 from cachethq/update-langs
Updated some language files
2015-08-13 23:19:05 +01:00
James Brooks
8c69123ce2 Updated translations, removed zh-TW and minor tweaks 2015-08-13 23:16:24 +01:00
James Brooks
5c8369344d Always use HTTPS for Google Fonts 2015-08-13 23:06:57 +01:00
James Brooks
565e686f8c Merge pull request #900 from cachethq/metric-places
Allow setting of decimal places for metric points. Closes #823
2015-08-13 22:58:46 +01:00
James Brooks
68a41ae49f Allow setting of decimal places for metric points. Closes #823 2015-08-13 22:58:15 +01:00
James Brooks
bef736e865 Merge pull request #898 from cachethq/avoid-redirect-back
Completely remove the use of Redirect::back - closes #867
2015-08-13 22:38:30 +01:00
James Brooks
308ee1bd81 Merge pull request #899 from cachethq/organize-views
Move dashboard partials into the dashboard directory
2015-08-13 22:37:57 +01:00
James Brooks
3b487ea2ec Move dashboard partials into the dashboard directory 2015-08-13 22:34:26 +01:00
James Brooks
b393557c8a Completely remove the use of Redirect::back - closes #867 2015-08-13 22:28:30 +01:00
Graham Campbell
bee4055228 Merge pull request #888 from cachethq/route-cleanup
Cleaned up routes
2015-08-11 11:29:13 +01:00
Graham Campbell
7cd513a6bd Merge branch '1.2' 2015-08-09 19:20:39 +01:00
Graham Campbell
8589089a04 Updated dependencies 2015-08-09 19:20:19 +01:00
James Brooks
cefabcef2d Clean up all route files, alias routes etc. 2015-08-08 18:23:20 +01:00
Graham Campbell
5858d8063b Merge pull request #891 from cachethq/remove-permissions-command
Removed the FixPermissionsCommand
2015-08-08 17:44:57 +01:00
Graham Campbell
ade85e24bd Merge branch '1.2' 2015-08-08 17:38:28 +01:00
Graham Campbell
324f8703ce Removed old docker files 2015-08-08 17:38:09 +01:00
Graham Campbell
9df14837b9 Updated phpunit 2015-08-08 17:37:25 +01:00
James Brooks
e3a3f97957 Condensed the readme further 2015-08-08 17:31:44 +01:00
James Brooks
fbfa62d087 Show y axis labels in metrics. Closes #824 2015-08-08 17:31:18 +01:00
James Brooks
88efff58cc Remove unused assignment 2015-08-08 17:17:05 +01:00
James Brooks
82a9dc9a4e Fix typo 2015-08-08 17:16:31 +01:00
James Brooks
4f0383b62b Condensed the readme further 2015-08-08 17:12:31 +01:00
James Brooks
73c80992ae Merge pull request #892 from cachethq/component-group-api
Component Group API
2015-08-08 15:37:49 +01:00
James Brooks
4b3ec45b03 Added component groups API. Closes #801 2015-08-08 15:36:48 +01:00
James Brooks
065b1fd168 Removed the FixPermissionsCommand 2015-08-08 15:10:28 +01:00
James Brooks
0a682a00f7 Show y axis labels in metrics. Closes #824 2015-08-08 14:56:05 +01:00
James Brooks
1c7fb1a434 Merge pull request #887 from cachethq/api-request-sort
Added the ability to sort and order API results
2015-08-08 12:58:11 +01:00
Graham Campbell
fcf0cd675a Merge branch '1.2' 2015-08-07 12:15:31 +01:00
Graham Campbell
02f069cdc1 Backport all readme changes 2015-08-07 12:14:38 +01:00
James Brooks
1779ac40c9 Added the ability to sort and order API results. Closes #756 2015-08-07 12:08:25 +01:00
Graham Campbell
32de1d512b Merge branch '1.2'
Conflicts:
	Dockerfile
	composer.lock
2015-08-07 12:07:46 +01:00
Graham Campbell
e8d3c013a1 Merge pull request #883 from cachethq/removals
Remove docker/homestead/vagrant stuff
2015-08-07 12:04:48 +01:00
Graham Campbell
85efb7d114 Updated lock file 2015-08-07 11:59:42 +01:00
Graham Campbell
11d77328dc Remove docker/homestead/vagrant stuff 2015-08-07 11:59:37 +01:00
Graham Campbell
c05e9d9867 Updated phpunit 2015-08-07 11:56:15 +01:00
Graham Campbell
b1eb57e573 Merge pull request #877 from cachethq/core-package
Added GrahamCampbell/Core for easier installs
2015-08-07 11:48:41 +01:00
Graham Campbell
3c4ccf00f1 Merge pull request #885 from cachethq/seeder-command
Created DemoSeederCommand to replace seeders
2015-08-07 11:48:23 +01:00
James Brooks
79f66fc090 Fix up the seeder command 2015-08-07 11:44:51 +01:00
James Brooks
a05496f7d0 Created DemoSeederCommand to replace seeders. Closes #884 2015-08-07 08:31:22 +01:00
Graham Campbell
55ffbd74d4 Merge branch '1.2'
Conflicts:
	composer.json
	composer.lock
2015-08-06 22:02:23 +01:00
Graham Campbell
f9f2e5c18a Bumped version 2015-08-06 21:51:31 +01:00
Graham Campbell
91ba722405 Merge branch '1.1'
Conflicts:
	composer.json
	composer.lock
	config/emoji.php
2015-08-06 20:11:20 +01:00
Graham Campbell
2ac9d3b23e Updated dependencies 2015-08-06 20:00:53 +01:00
Graham Campbell
848fb3b607 Rebuilt css 2015-08-06 20:00:38 +01:00
Graham Campbell
7d21a7682c Updated elixir 2015-08-06 20:00:31 +01:00
Graham Campbell
e3c38c7461 Updated emoji package 2015-08-06 20:00:22 +01:00
James Brooks
c5a0ded808 Added GrahamCampbell/Core for easier installs 2015-08-06 19:12:13 +01:00
James Brooks
3f2f5cd25b Dockerfile maintainer details. Closes #872 2015-08-06 19:09:35 +01:00
James Brooks
bbaa1fbfa6 Updated AltThree/Emoji for GITHUB_TOKEN usage 2015-08-06 18:56:00 +01:00
James Brooks
0e83999f7d Order the $routeMiddleware values 2015-08-06 14:29:13 +01:00
James Brooks
3c07529693 Pulled out the routes for RSS and Atom feeds into their own file 2015-08-06 14:27:44 +01:00
James Brooks
669fb4857a Addons are now listed in the documentation 2015-08-06 14:23:58 +01:00
James Brooks
4693faa64f Removed installation docs to links to docs.cachethq.io 2015-08-06 14:19:12 +01:00
James Brooks
0802da8e01 Update comment so it makes more sense 2015-08-06 14:06:27 +01:00
James Brooks
f839bc06f5 Renamed AdminRoutes to DashboardRoutes 2015-08-06 14:05:40 +01:00
James Brooks
bba4cf8cce Put a space after the suffix 2015-08-06 13:59:15 +01:00
James Brooks
701f947c33 Better example of metrics. 2015-08-06 13:57:07 +01:00
James Brooks
36b36925c9 Merge pull request #875 from cachethq/admin-delete-users
Added the ability for admins to delete users. Closes #791
2015-08-06 13:48:43 +01:00
James Brooks
76d3692d9e Added the ability for admins to delete users. Closes #791 2015-08-06 13:48:23 +01:00
James Brooks
3f7f4e7624 Fix docblocks 2015-08-06 11:44:01 +01:00
James Brooks
e76ecd493e Merge pull request #873 from cachethq/controllers
Remove AbstractController from remaining and rename BaseController to Controller
2015-08-06 07:07:16 +01:00
Joseph Cohen
d68b248fd7 Remove AbstractController from remaining and rename BaseController to Controller 2015-08-05 17:21:03 -05:00
James Brooks
5813364ccb Update dependencies 2015-08-05 15:18:26 +01:00
James Brooks
8d0a716c2d Remove AbstractController as it does nothing 2015-08-05 15:18:20 +01:00
James Brooks
e471796742 Update CONTRIBUTING.md 2015-08-05 08:47:32 +01:00
James Brooks
8dd762184e Update CONTRIBUTING.md 2015-08-05 08:47:09 +01:00
Graham Campbell
593dd04a4f Merge pull request #850 from cachethq/validator
Refactor validator stuff and fix variable names in views
2015-08-03 22:36:34 +01:00
Graham Campbell
fcbbfdd84e Refactor validator stuff and fix variable names in views 2015-08-03 22:32:51 +01:00
Graham Campbell
5d958bac81 Merge branch '1.1' 2015-08-03 22:26:02 +01:00
Graham Campbell
578d4befef Fixed typo 2015-08-03 22:00:49 +01:00
Graham Campbell
549c4e1594 Fixed seeder 2015-08-03 21:49:45 +01:00
Graham Campbell
5ce767dccc Merge branch '1.1' 2015-08-03 21:07:31 +01:00
Graham Campbell
60536d5334 Fixed typos 2015-08-03 21:06:56 +01:00
Graham Campbell
e5ddb65298 Merge branch '1.1' 2015-08-03 18:44:14 +01:00
Graham Campbell
ef3c32c5e9 Updated the readme 2015-08-03 18:43:55 +01:00
Graham Campbell
11cf7ef2c8 Merge pull request #865 from n0mer/patch-1
doc update - how to install Predis dependency
2015-08-03 18:42:10 +01:00
Graham Campbell
0c99204016 Merge branch '1.1' 2015-08-03 18:41:26 +01:00
Graham Campbell
ca367ff151 Removed duplicate service provider entry 2015-08-03 18:40:46 +01:00
Nikolay Gorylenko
06ecb4b9fb Update README.md 2015-08-03 17:32:51 +02:00
Nikolay Gorylenko
122138402b doc update - how to install Predis dependency 2015-08-03 16:52:38 +02:00
Graham Campbell
11d68ee3e5 Merge branch '1.1'
Conflicts:
	composer.lock
2015-08-03 14:53:08 +01:00
Graham Campbell
14ec134ac1 Updated dependencies 2015-08-03 14:46:03 +01:00
Graham Campbell
ea0a8dfcff Updated dependencies 2015-08-03 14:28:25 +01:00
Graham Campbell
6cd10581e4 Removed incorrect php-cs-fixer config 2015-08-03 14:26:15 +01:00
Graham Campbell
90baf18724 Backport all fixes from the master to 1.1 2015-08-03 14:23:46 +01:00
Graham Campbell
2284bc5d3b Merge branch '1.1' 2015-08-03 14:21:08 +01:00
Graham Campbell
5bdbc87bf2 Merge pull request #863 from cachethq/1.1-throttling
Fixed login throttling
2015-08-03 14:16:21 +01:00
Graham Campbell
60c7235d94 Merge pull request #864 from n0mer/patch-1
make 'cron' available in docker container
2015-08-03 13:53:26 +01:00
Nikolay Gorylenko
2c8cd19137 make 'cron' available in docker container 2015-08-03 14:47:06 +02:00
Graham Campbell
c1d53a7b42 Fixed login throttling 2015-08-03 13:37:16 +01:00
Graham Campbell
a847cdc97e Merge branch '1.1' 2015-08-03 12:38:14 +01:00
James Brooks
22b0e105ee Fix showing of verified subscribers when they're not. Fixes #855 2015-08-03 12:37:49 +01:00
James Brooks
c7b55401d4 Casts the subscriber 2015-08-03 12:37:49 +01:00
James Brooks
167b90265f Remove deleted_at as a date field 2015-08-03 12:37:48 +01:00
Graham Campbell
bb71d0175f Merge pull request #861 from n0mer/1.1
do not evaluate LOGGING_MODE and APP_LOCALE during build phase
2015-08-03 12:37:32 +01:00
Nikolay Gorylenko
f964c03072 ≈do not evaluate LOGGING_MODE and APP_LOCALE during build phase; fix path for contab 2015-08-03 11:32:30 +02:00
James Brooks
01c690608f Fix showing of verified subscribers when they're not. Fixes #855 2015-08-03 08:58:07 +01:00
James Brooks
5aee46d6b7 Casts the subscriber 2015-08-03 08:54:40 +01:00
James Brooks
2615efc052 Remove deleted_at as a date field 2015-08-03 08:53:50 +01:00
Graham Campbell
e5c6d6af70 Merge branch '1.1' 2015-08-02 22:25:08 +01:00
Graham Campbell
46c43a8b82 Merge pull request #854 from n0mer/1.1
cron tweaks
2015-08-02 22:02:20 +01:00
James Brooks
29e045c458 Updated docs 2015-08-02 15:09:49 +01:00
James Brooks
d2c8f414f6 Admin users may make more admin users. Closes #795 2015-08-02 14:16:00 +01:00
James Brooks
fb55beb47b Remove duplicate readable name 2015-08-02 13:54:50 +01:00
James Brooks
84e1770e51 Added status_name to incident and components. Closes #834 2015-08-02 13:46:28 +01:00
James Brooks
7f222677cc Merge pull request #856 from cachethq/analysis-8n2gg8
Applied fixes from StyleCI
2015-08-02 13:07:54 +01:00
James Brooks
ec12ab07af Applied fixes from StyleCI 2015-08-02 08:07:34 -04:00
James Brooks
0094246ee8 Subscribers no longer soft delete. Closes #810 2015-08-02 13:05:52 +01:00
James Brooks
58a371b10b Move subscribe routes to their own routes file 2015-08-02 13:01:14 +01:00
Nikolay Gorylenko
ee7a0ec5f2 proper command to add file 2015-08-02 12:58:28 +02:00
Nikolay Gorylenko
427c8d24a5 add user to crontab 2015-08-02 12:57:12 +02:00
Nikolay Gorylenko
60e6d99b95 do not daemonize cron 2015-08-02 12:49:15 +02:00
James Brooks
18db70b9cd Merge pull request #853 from n0mer/1.1
add cron config
2015-08-02 11:06:46 +01:00
Nikolay Gorylenko
3a73a9be5c add cron config 2015-08-02 12:04:10 +02:00
James Brooks
fb933720fc Merge pull request #852 from n0mer/1.1
externalize logging mode and app locale
2015-08-02 11:04:07 +01:00
Nikolay Gorylenko
a4ce37f29a add cron to supervisor 2015-08-02 11:55:44 +02:00
Nikolay Gorylenko
4f3664b3e0 externalize logging mode and app locale 2015-08-02 11:15:49 +02:00
Graham Campbell
b626b5ee27 Updated branch alias 2015-08-01 21:06:31 +01:00
Graham Campbell
c46c255722 Merge pull request #847 from cachethq/eager-load-metric-points
Eager load the metric points.
2015-08-01 21:01:10 +01:00
James Brooks
971a422258 Fix docblock 2015-08-01 20:41:57 +01:00
James Brooks
b6de8bf258 Eager load the metric points. 2015-08-01 20:16:58 +01:00
James Brooks
573a301957 Merge pull request #846 from cachethq/unsubscribe-fix
Fix the token sent to unsubscribe
2015-08-01 20:11:51 +01:00
Joseph Cohen
d8323f126c Fix the token sent to unsubscribe 2015-08-01 14:08:14 -05:00
James Brooks
e6db90a798 Merge pull request #844 from cachethq/tracking
Removed tracking
2015-08-01 19:16:18 +01:00
Graham Campbell
9d9bec812d Updated lock file 2015-08-01 17:14:20 +01:00
Graham Campbell
c9b3760a4d CS fix 2015-08-01 17:09:51 +01:00
Graham Campbell
fb127fb861 Removed tracking 2015-08-01 17:07:06 +01:00
Graham Campbell
2425682381 Removed other areas where the word status is appended 2015-08-01 16:45:58 +01:00
Graham Campbell
da1c999ca6 Merge pull request #840 from 5apps/do_not_append_status_to_app_name
Do not append "Status" to the site name
2015-08-01 16:44:35 +01:00
Graham Campbell
79aa78cff5 Fixed segment references 2015-08-01 16:37:27 +01:00
Graham Campbell
4438142348 Updated dependencies 2015-08-01 12:29:09 +01:00
Graham Campbell
e917e338cd Rebuilt css 2015-08-01 12:27:16 +01:00
James Brooks
da22fa208a Merge pull request #842 from n0mer/patch-1
get rid of hard-coded 'file' cache driver
2015-07-31 20:51:45 +01:00
Nikolay Gorylenko
2cb1d9e07d get rid of hard-coded 'file' cache driver 2015-07-31 12:14:25 +02:00
Greg Karékinian
68c458227f Do not append "Status" to the site name
Currently the title of the index is the site name set in the settings is
appended with "Status". This is confusing because the RSS feeds show
the site name without it (and you probably want to write "Status" in the site
name yourself anyway).
2015-07-31 10:08:37 +02:00
James Brooks
043690764d Merge pull request #831 from n0mer/master
#805 for setup UI
2015-07-29 11:05:28 +01:00
James Brooks
845d9e1e14 Remove Cachet logo from the sidebar for now. Closes #830 2015-07-28 22:19:01 +01:00
Nikolay Gorylenko
68572db6d2 do not ignore IntelliJ files 2015-07-28 22:55:08 +02:00
Nikolay Gorylenko
5d7b05d857 ignore IntelliJ files 2015-07-28 22:29:43 +02:00
Nikolay Gorylenko
9eb65eba3b add 'redis' and 'memcached' to setup step #1 2015-07-28 22:25:59 +02:00
James Brooks
17492b0dcf Merge pull request #829 from n0mer/master
cfg for #826 - typo fix
2015-07-28 19:19:52 +01:00
Nikolay Gorylenko
0f8773a547 cfg for #826 - typo fix 2015-07-28 20:01:16 +02:00
James Brooks
45f376e564 Added a way to hide the dashboard button from the footer (default) 2015-07-28 16:19:47 +01:00
James Brooks
3a44e4a809 Fixes #828 - Don't call format on a formatted string 2015-07-28 16:09:35 +01:00
James Brooks
fea555f2b0 Merge pull request #827 from n0mer/master
cfg for #826
2015-07-28 12:00:28 +01:00
Nikolay Gorylenko
9094f37156 cfg for #826 2015-07-28 12:58:22 +02:00
James Brooks
0e502ed53b Default to production 2015-07-27 22:28:52 +01:00
Graham Campbell
7f0c2a772d Don't encode the metric name either 2015-07-27 19:37:59 +01:00
James Brooks
e06688aee5 Fixes #822 - Don't encode entities in metric tooltips 2015-07-27 19:31:37 +01:00
Graham Campbell
bfe2b6ca48 Elixir fixes 2015-07-26 22:56:45 +01:00
Graham Campbell
7e663d7a76 Updated dependencies 2015-07-26 22:56:29 +01:00
Graham Campbell
65fe410a93 Fixed the default debug setting 2015-07-26 10:26:13 +01:00
James Brooks
c747f11f3c Merge pull request #818 from cachethq/elixir-three
Elixir 3
2015-07-25 19:20:03 +01:00
James Brooks
9065b7dccc Re-compile assets with Elixir 3 2015-07-25 19:17:37 +01:00
James Brooks
7727dbf33b Upgrade to Elixir 3 - closes #817 2015-07-25 19:17:30 +01:00
Graham Campbell
2868f9e052 Rebuilt css 2015-07-25 16:06:35 +01:00
Graham Campbell
aab2b1fe6e Updated dependencies 2015-07-25 16:06:30 +01:00
Graham Campbell
1e4a8c8143 Added emoji parsing support 2015-07-25 16:02:35 +01:00
Graham Campbell
e002d596b1 Updated markdown package 2015-07-25 15:56:03 +01:00
Graham Campbell
1e3e1df616 Removed overkill test 2015-07-25 15:48:10 +01:00
Graham Campbell
6e3d1af85a Updated lock file 2015-07-25 13:31:03 +01:00
Graham Campbell
e91cf591ea Updated exceptions package 2015-07-25 13:30:58 +01:00
Graham Campbell
14bbe69509 Tweaked dev dependencies 2015-07-25 13:24:05 +01:00
James Brooks
c328575417 Merge pull request #802 from cachethq/subscriber-api
Subscriber API
2015-07-24 20:44:59 +01:00
James Brooks
ecb3a4e1d9 Remove unused import 2015-07-24 14:37:06 +01:00
James Brooks
71f5de8726 Introduce the Subscriber API. Closes #787 2015-07-24 14:35:31 +01:00
James Brooks
38257c6ae6 Merge pull request #814 from andygrunwald/composer-vagrant-note
Add small note to README that a composer install needs to be executed before a vagrant up
2015-07-24 14:27:10 +01:00
Graham Campbell
6802609ce6 Removed old package 2015-07-24 14:15:35 +01:00
Graham Campbell
476adef1b0 Fixed cipher 2015-07-24 14:13:48 +01:00
Andy Grunwald
3a83110f50 Add small note to README that a composer install needs to be executed before a vagrant up 2015-07-24 14:53:36 +02:00
Graham Campbell
8c4832343d Added missing config in the tests 2015-07-24 13:53:31 +01:00
James Brooks
a0d354c3e9 Configure Redis through environment variables. Closes #805 2015-07-23 21:47:49 +01:00
James Brooks
02cb04d36f Catch generic exception to prevent Segment from breaking everything 2015-07-23 21:37:32 +01:00
Graham Campbell
07861dd245 Updated dependencies 2015-07-23 17:08:56 +01:00
Graham Campbell
14ac707d76 Rebuilt assets 2015-07-23 17:07:50 +01:00
James Brooks
0fba574f5b Update dependencies 2015-07-14 13:59:19 +01:00
James Brooks
71c30fb0bd Update email template design. 2015-07-14 13:59:15 +01:00
James Brooks
bf77fbdd33 Merge pull request #800 from cachethq/email-link
Make subscriber verify link clickable
2015-07-11 16:17:20 +01:00
James Brooks
6336bd8905 Update dependencies 2015-07-11 16:17:08 +01:00
James Brooks
dbbf4a093e Fix formatting of Blade 2015-07-11 16:15:48 +01:00
Joseph Cohen
5190578da9 Make subscriber link clickable 2015-07-10 13:08:35 -05:00
James Brooks
c5f3655d49 Merge pull request #782 from chaseconey/dashboard-sidebar-css-fix-v2
Dashboard - Active Menu Item CSS Fix v2
2015-07-09 14:59:40 +01:00
Chase Coney
721df30642 Fix sidebar formatting 2015-07-09 08:53:02 -05:00
Chase Coney
b79c8902fc Fix sidebar styling. Escape classes input 2015-07-09 08:49:52 -05:00
Chase Coney
bcc72d224f Fixes the set_active menu helper to no longer double quote class name 2015-07-09 08:07:30 -05:00
James Brooks
679005fe3f Merge pull request #776 from chaseconey/subscriber-list-759
Subscriber Administration
2015-07-09 09:18:39 +01:00
James Brooks
4990868d9a Merge pull request #779 from chaseconey/add-vagrant-homestead-support
Add support for Vagrant/Homestead
2015-07-09 07:01:29 +01:00
James Brooks
a7a4fe03e4 Merge pull request #792 from rtrauntvein/patch-1
fixing codestyle docker entrypoint.sh
2015-07-09 06:58:29 +01:00
Ryan Trauntvein
c2678ea89c fixing codestyle docker entrypoint.sh 2015-07-08 20:15:30 -07:00
Chase Coney
f1bbf0200c Use specific version for laravel/homestead 2015-07-08 17:04:49 -05:00
Chase Coney
1a5155dbc5 Add support for Vagrant/Homestead 2015-07-08 17:02:52 -05:00
Chase Coney
7e14d6d25f Fixes #759. First pass at subscriber administration 2015-07-08 16:43:41 -05:00
Graham Campbell
b003a7aa1c Updated flysystem 2015-07-08 21:59:04 +01:00
James Brooks
2c5549120b Merge pull request #788 from rtrauntvein/new-docker-env
Use the Cachet .env file inside of docker image
2015-07-07 22:11:59 +01:00
Graham Campbell
6a29b306e2 Tweak scripts 2015-07-07 11:26:21 +01:00
Graham Campbell
f01849f758 Updated lock file 2015-07-07 10:58:45 +01:00
Graham Campbell
f592aa08c9 Bumped branch alias 2015-07-07 10:57:36 +01:00
Graham Campbell
691e6fffe7 Updated scripts 2015-07-07 10:57:29 +01:00
Ryan Trauntvein
dbda00cef8 Use .env file with docker image 2015-07-06 23:59:08 -07:00
Graham Campbell
408141dd8b Fixed typos 2015-07-06 19:22:49 +01:00
Graham Campbell
9b43b42e27 Removed extra HQ 2015-07-06 18:46:27 +01:00
Graham Campbell
83955fcff5 CS fix 2015-07-06 18:26:21 +01:00
Graham Campbell
bf05197c4f Cleanup exception handling
You're going to love this @joecohens and @jbrooksuk :)
2015-07-06 18:21:23 +01:00
Graham Campbell
a72543daa2 Updated dependencies 2015-07-06 18:19:27 +01:00
Graham Campbell
cbf888d7b7 We definitely don't want the symfony level here 2015-07-06 17:47:46 +01:00
Graham Campbell
0a321bffd8 Updated copyright information 2015-07-06 17:37:01 +01:00
Graham Campbell
f74f44048d Fixes 2015-07-05 15:40:48 +01:00
Graham Campbell
78567f865a Updated trusted proxies 2015-07-05 12:54:45 +01:00
Graham Campbell
de9240d295 Updated dependencies 2015-07-05 11:52:03 +01:00
Graham Campbell
a3235f78d0 Updated scripts 2015-07-05 11:52:03 +01:00
James Brooks
3da8f3065c Added array to cache drivers 2015-07-04 22:19:24 +01:00
Graham Campbell
39091b51b5 Fix 2015-07-04 21:49:09 +01:00
James Brooks
e250d5e3fe Don't optimize any files 2015-07-04 21:46:12 +01:00
James Brooks
8ed0f17761 Remove commented out sidebar item 2015-07-03 10:33:32 +01:00
James Brooks
92caf08d1d Merge pull request #781 from chaseconey/sidebar-css-active-fix
Dashboard - Active Menu Item CSS Fix
2015-07-02 19:27:09 +01:00
James Brooks
1e6db61066 Re-compile without duplicate ionicons css? 2015-07-02 19:20:55 +01:00
Chase Coney
13e5ee548d Fixes the set_active menu helper to no longer double quote class name 2015-07-02 13:20:51 -05:00
Graham Campbell
3d328663d5 Updated dependencies 2015-07-02 17:23:32 +01:00
James Brooks
fafcc8880b Fix CS 2015-07-02 16:46:14 +01:00
James Brooks
7a283dceb7 $pageTitle needs to be snake_case too 2015-07-02 16:40:38 +01:00
James Brooks
c1a0fc10ae Use snake_case in views. Closes #778 2015-07-02 16:37:38 +01:00
James Brooks
13180cf77d Remove Piwik from settings seeder 2015-07-01 21:44:58 +01:00
James Brooks
903da245ef Fix Blade standards 2015-07-01 21:22:00 +01:00
James Brooks
939766bf7d Merge pull request #775 from chaseconey/fix-storage-engine-768
Set default database engine in migrations
2015-06-30 18:48:40 +01:00
Chase Coney
977cac091c Fix spacing issue. 2015-06-30 11:35:34 -05:00
Chase Coney
04161678b6 Fixes 768. php artisan migrate will work regardless of mysql version or default_database_engine. 2015-06-30 09:53:29 -05:00
Graham Campbell
793564e0c0 Updated dependencies 2015-06-27 15:07:31 +01:00
James Brooks
ea89254bf6 Fix transparency and algorithm for calculating severity icon 2015-06-27 14:03:24 +01:00
James Brooks
54011d7635 Update alert icons to match logo, with colours 2015-06-27 13:40:24 +01:00
James Brooks
62a71554c6 Merge pull request #752 from DivineOmega/dynamic_favicon
Dynamic favicon
2015-06-27 13:37:46 +01:00
James Brooks
e92dd0151a Update to Bootstrap 3.3.5 2015-06-27 09:58:55 +01:00
Graham Campbell
0a2f7659aa Updated dependencies 2015-06-26 00:41:16 +01:00
Graham Campbell
c0f19093e4 Updated dependencies 2015-06-25 14:51:14 +01:00
James Brooks
e858a288a6 Replace Gitter badge with CrowdIn % 2015-06-25 14:33:57 +01:00
James Brooks
d20f2cbbc8 Don't use teal for break element 2015-06-25 14:25:03 +01:00
James Brooks
902d7bd01b Fix #765 2015-06-25 08:45:01 +01:00
Graham Campbell
19d780325e Removed old config 2015-06-24 21:36:55 +01:00
Graham Campbell
b6a6acec4d Updated dependencies 2015-06-24 21:16:45 +01:00
Graham Campbell
e28a08f6bb Updated assets 2015-06-24 20:37:22 +01:00
Graham Campbell
0d8a3b4efc Updated dependencies 2015-06-24 20:37:13 +01:00
Graham Campbell
7db305edcc Cleanup tests 2015-06-24 20:16:46 +01:00
James Brooks
74ceb9885b Merge pull request #764 from cachethq/update-logo
Update logo to drop the HQ
2015-06-24 20:04:19 +01:00
James Brooks
d6617b6971 Fix logo proportions 2015-06-24 20:03:22 +01:00
James Brooks
c28ba2dfb8 Update dependencies 2015-06-24 19:58:57 +01:00
James Brooks
e794aedb3a Update logo to drop the HQ 2015-06-24 19:58:47 +01:00
James Brooks
2fa2ff9070 Fix CS on language files and add copyright header 2015-06-23 15:46:37 +01:00
Graham Campbell
0f187b323b Fixed travis file 2015-06-23 15:38:44 +01:00
James Brooks
00a480b98b Remove PHP7 tests as it's disabled in composer 2015-06-23 15:38:03 +01:00
James Brooks
69f213a4dc Merge pull request #760 from wfjsw/master
Update Chinese lang. Closes #758
2015-06-23 15:37:13 +01:00
jsw
cef5c9b1e2 Update Chinese lang. Closes #758 2015-06-23 22:00:05 +08:00
DivineOmega
0ca1668518 Initial dynamic favicon code
Syntax and logic fixes

New favicons

Contribution Guidelines

Removed trailing spaces

Style tweaks

Comma

Suggested code changes

Changed high and medium alert icons to be exclamation marks protruding through a circle

Moved favicon logic to IndexComposer

Style fixes

Removed whitespace
2015-06-23 14:41:41 +01:00
James Brooks
814a6cf30b Added PHP 7 back to test suite
Allow it to fail, instead of HHVM
2015-06-23 08:52:32 +01:00
James Brooks
b0d1eaafc2 Allow HHVM to fail, also fast finish 2015-06-23 08:50:36 +01:00
James Brooks
e68467a308 Clean the value on saving of the setting 2015-06-23 08:11:39 +01:00
James Brooks
0c940adc56 Merge pull request #751 from ldidry/fix-piwik
Fix piwik missing slash problem
2015-06-23 08:09:37 +01:00
James Brooks
96dfd5d057 Merge pull request #757 from alexxwiz/master
Russian translation
2015-06-23 07:18:20 +01:00
Alexey Vasilyev
91dfa822bc Russian translation fixes 2015-06-22 23:29:27 +03:00
Alexey Vasilyev
3c5a5b49f1 Style guide fixes. 2015-06-22 18:06:07 +03:00
Alexey Vasilyev
c12d901147 Style guide fixes 2015-06-22 18:02:56 +03:00
Alexey Vasilyev
60dac4664b Russian translation 2015-06-22 17:56:41 +03:00
James Brooks
b7dc6ab503 Merge pull request #753 from fabianlaule/login-screen-fix
Fix floating of buttons on login screen & made border radius equal
2015-06-21 20:20:45 +01:00
Fabian Laule
d207a2eeeb Fix floating of buttons on login screen & made border radius equal 2015-06-21 16:39:04 +02:00
James Brooks
986fb4c588 Fix CS 2015-06-20 11:58:47 +01:00
James Brooks
5b1c7a69dd Doh. Factories are dev only. 2015-06-20 11:57:14 +01:00
James Brooks
f7b53c06f6 Improve the MetricPointSeeder show actual metrics! 2015-06-20 11:54:42 +01:00
Luc Didry
f9d831bf8a Fix piwik missing slash problem 2015-06-19 23:34:49 +02:00
James Brooks
dc85aa79c8 Merge pull request #749 from ldidry/dont-html-escape-stylesheet
Don't HTML escape custom stylesheet
2015-06-19 22:26:26 +01:00
Luc Didry
261b38b308 Don't HTML escape custom stylesheet
If you HTML escape the custom stylesheet, you can't have quotes in it.
You need quotes if you want to add something with url('foo') (in a
background-image by exemple).
2015-06-19 23:07:37 +02:00
James Brooks
05a103c47d Merge pull request #748 from cachethq/version-one
Version one.
2015-06-19 21:17:11 +01:00
James Brooks
f51fc34f6d Update readme and dependencies. 2015-06-19 21:16:04 +01:00
James Brooks
1b8e474223 Tidy up code 2015-06-19 11:59:28 +01:00
Graham Campbell
83c671c977 Ignore the dist folder 2015-06-19 11:51:47 +01:00
Graham Campbell
e13a47aecb Update .gitignore 2015-06-19 11:51:05 +01:00
James Brooks
2579b8a48e Move bower_components into vendor. Closes #747 2015-06-19 11:47:38 +01:00
Graham Campbell
9f528584f0 Updated dependencies 2015-06-19 11:16:00 +01:00
Graham Campbell
a27fe6f8ad Merge pull request #744 from cachethq/auth
Deal with 401 exceptions in a better way
2015-06-18 22:48:10 +01:00
Graham Campbell
7578b640bd Derp fix 2015-06-18 22:45:27 +01:00
Graham Campbell
e1681a7021 Deal with 401 exceptions in a better way 2015-06-18 22:37:31 +01:00
Graham Campbell
a99aa6be1f Typo fix 2015-06-18 22:36:44 +01:00
James Brooks
60f6bec8bc Don't show components div if we have no components 2015-06-18 20:50:43 +01:00
Graham Campbell
26857597f0 Merge pull request #738 from cachethq/errors
Respond with the correct responses on error
2015-06-18 20:08:18 +01:00
James Brooks
60409c14fe Merge pull request #743 from rtrauntvein/dockercompose
Add support for docker-compose
2015-06-18 20:07:30 +01:00
Ryan Trauntvein
da2eab97aa Add support for docker-compose 2015-06-18 11:18:00 -07:00
James Brooks
8ab422143d Merge pull request #731 from amondnet/master
add Korean translation
2015-06-18 18:42:10 +01:00
Graham Campbell
14494cc74b CS fix 2015-06-18 18:18:59 +01:00
Graham Campbell
77834fb493 Added more api tests 2015-06-18 18:15:16 +01:00
Graham Campbell
62ac2780cf Removed unneeded checks 2015-06-18 18:13:37 +01:00
Graham Campbell
2b43b83455 Added middleware to the kernel 2015-06-18 18:13:15 +01:00
Graham Campbell
ddf64cc653 Make sure we only return a response from the api if the user understands it 2015-06-18 18:13:01 +01:00
Graham Campbell
c52f0ada07 Added an acceptable middleware 2015-06-18 18:12:40 +01:00
Graham Campbell
a7effcce7a Fixed unauthorized exceptions 2015-06-18 18:12:10 +01:00
James Brooks
1df2d71285 Remove resolution 2015-06-18 17:20:51 +01:00
James Brooks
9a1e6d4549 Use bootstrap-sass 3.3.5 2015-06-18 17:19:27 +01:00
Graham Campbell
fad3ed9a51 Typo fixes 2015-06-18 17:13:49 +01:00
Graham Campbell
8c4653c18c Respond with the correct responses on error 2015-06-18 17:13:48 +01:00
Graham Campbell
0acc419bab Rebuilt css and js 2015-06-18 17:12:38 +01:00
Graham Campbell
70003c6b9c Updated npm packages 2015-06-18 17:12:25 +01:00
Graham Campbell
5a9e18a592 Removed extra resolution 2015-06-18 17:12:14 +01:00
Graham Campbell
19f21f9096 Updated dependencies 2015-06-18 17:04:32 +01:00
James Brooks
2f2c4c2557 Merge pull request #742 from blaskovicz/feat/dashboard/quick-edit
feat(views/index): add quick-update buttons for incidents
2015-06-18 16:42:54 +01:00
Zach Auclair
027b0b6363 feat(views/index): add quick-update buttons for incidents
These buttons only appear if the current user is logged in
and are similar to `resources/views/dashboard/incidents/index.blade.php`.
2015-06-18 11:40:16 -04:00
James Brooks
5d7964ea53 Fixes #739 2015-06-18 16:25:34 +01:00
James Brooks
f52f5a1c80 Check for notify setting. Also close #741 (send notification via API) 2015-06-18 16:24:10 +01:00
James Brooks
44109dd9fb Cast visible to integer 2015-06-18 16:13:02 +01:00
Graham Campbell
b91e128c72 Merge pull request #735 from cachethq/api-exceptions
Make sure only "application/*" error pages are returned from the api
2015-06-17 10:00:57 +01:00
Graham Campbell
f13e0cce2c Make sure only "application/*" error pages are returned from the api 2015-06-17 09:11:17 +01:00
James Brooks
bbb7616f93 Merge pull request #727 from Jasperswaagman/master
Remove container after initializing
2015-06-17 08:42:38 +01:00
James Brooks
4284fdbb27 Merge pull request #726 from cachethq/class-syntax
Use the ::class syntax
2015-06-16 19:42:15 +01:00
amond
c4628d4f5a fix the cs. 2015-06-17 01:43:39 +09:00
amond
a4cd730665 add Korean translation 2015-06-17 01:35:19 +09:00
James Brooks
7cd7e595f2 Downgrade bootstrap-datetimepicker 2015-06-16 15:09:49 +01:00
James Brooks
ea56ca4cec Update bootstrap-datetimepicker and fix #675 2015-06-16 14:28:26 +01:00
Jasper Swaagman
915f84fc07 Remove container after initializing 2015-06-16 11:11:04 +02:00
James Brooks
fd2401a302 Re-compile assets 2015-06-16 09:47:22 +01:00
James Brooks
259ec3d3bb Use the ::class syntax 2015-06-16 09:46:29 +01:00
Graham Campbell
abd801b69e Fixed php requirement 2015-06-16 09:41:56 +01:00
James Brooks
44481c4648 Mcrypt is no longer required 2015-06-16 09:36:11 +01:00
James Brooks
99b453bbd9 Changes to the incidents 2015-06-16 09:14:24 +01:00
James Brooks
9d879b162e Fix code standards, update language files. 2015-06-16 09:07:49 +01:00
James Brooks
49411d8568 Try not to use absolute urls 2015-06-16 08:34:53 +01:00
James Brooks
9c35554a5d Clean up the seeders 2015-06-16 08:31:00 +01:00
James Brooks
26ff4dc85a Remove class annotations 2015-06-16 08:27:31 +01:00
James Brooks
2eb4bd1e69 Remove the Service model and table. 2015-06-16 08:27:23 +01:00
James Brooks
5a8f0b3145 Fix IncidentTableSeeder 2015-06-16 08:25:48 +01:00
James Brooks
90b2fe51f8 Merge pull request #724 from cachethq/design-stuff
Update elixir and some design changes
2015-06-16 07:02:07 +01:00
Joseph Cohen
28110f5c8e Update elixir and some design changes 2015-06-15 17:17:49 -05:00
James Brooks
8573b78210 Split up sections a bit more 2015-06-15 21:47:35 +01:00
James Brooks
4f25318271 Component list changes 2015-06-15 21:42:55 +01:00
James Brooks
2669d4330e Fix bad message output 2015-06-15 20:30:35 +01:00
James Brooks
f867d22b96 Pass through app_name to the preheader locale 2015-06-15 20:22:01 +01:00
James Brooks
3bc499a093 Fix timeline stem height 2015-06-15 20:10:40 +01:00
James Brooks
538e22deff Button colour should be green too 2015-06-15 20:04:27 +01:00
James Brooks
b591cf188c Cachet is primarily green based, make login green 2015-06-15 20:01:58 +01:00
James Brooks
e71c573043 Closes #723 2015-06-15 17:39:18 +01:00
James Brooks
3f53d76d07 Added home button to subscribe page 2015-06-15 16:57:04 +01:00
James Brooks
16cb1bd545 Improve scheduled maintenance design 2015-06-15 16:55:02 +01:00
James Brooks
939ec3be23 Make scheduling use panel-info 2015-06-15 16:51:11 +01:00
James Brooks
8ab3209afb Fix sticky footer? 2015-06-15 16:50:12 +01:00
James Brooks
fa3b80e3af Easily update component status when editing incident. Closes #721 2015-06-15 16:27:42 +01:00
James Brooks
d5c4561fd1 Tidy up metric code 2015-06-15 13:37:21 +01:00
James Brooks
56802476a6 Merge pull request #722 from cachethq/metric-timestamps
Closes #519 - Allow supplying of timestamps to metric points
2015-06-15 13:16:24 +01:00
James Brooks
5c6bcae02d Closes #519 - Allow supplying of timestamps to metric points. 2015-06-15 12:59:33 +01:00
James Brooks
0076c2d561 Merge pull request #720 from ldidry/add-piwik-stats
Add piwik stats
2015-06-15 12:57:53 +01:00
Luc Didry
ca1b5f0658 Add piwik stats 2015-06-15 11:28:38 +02:00
James Brooks
1650093861 Fixes #709 2015-06-15 09:30:56 +01:00
James Brooks
0862c707d9 Merge pull request #719 from ldidry/fix-atom-description
Use HTML version of incident message in atom feed
2015-06-13 16:10:57 +01:00
Luc Didry
6d851bf9f3 Correct from StyleCI recommendations 2015-06-13 17:05:04 +02:00
Luc Didry
c0980dc7a1 Use HTML version of incident message in atom feed
Atom (not RSS) feeds are able to handle html in entry content, so it
makes sense to put HTML version of incident in it.
2015-06-13 16:57:53 +02:00
James Brooks
c471105fdd Merge pull request #718 from cachethq/new-login
Added "Login" to login page title
2015-06-13 15:37:20 +01:00
James Brooks
112a104a6b Added "Login" to login page title 2015-06-13 14:39:32 +01:00
James Brooks
5fe3520137 Merge pull request #717 from cachethq/new-login
New login screen
2015-06-13 14:37:05 +01:00
James Brooks
a36ec06b2d Merge pull request #716 from ldidry/fix-rss-language
Add lang to RSS feed for W3C validity compliance
2015-06-13 14:36:50 +01:00
James Brooks
3c5c8b0096 New login screen. 2015-06-13 14:36:02 +01:00
Luc Didry
c1fadbf0d7 Add lang to RSS feed for W3C validity compliance 2015-06-13 15:21:31 +02:00
James Brooks
37b89700a6 Merge pull request #714 from ldidry/fix-712
Fix #712 Hide .bottom-menu-sidebar on small devices
2015-06-13 10:16:10 +01:00
Luc Didry
43e75ceca1 Fix #712 Hide .bottom-menu-sidebar on small devices 2015-06-13 11:12:38 +02:00
James Brooks
4f78d7c513 Fixes #708 - Upgrade roumen/feed 2015-06-13 10:09:20 +01:00
James Brooks
397679bc57 Fix usage of wrong alert type. 2015-06-13 10:05:36 +01:00
James Brooks
7bd3a57883 Closes #710 - Fix adding of scheduled maintenance. 2015-06-13 10:04:24 +01:00
Graham Campbell
2d9dcd9747 Merge pull request #713 from cachethq/exceptions
Improvements to the exception handler
2015-06-13 09:59:49 +01:00
Graham Campbell
5ceb700b4c Improvements to the exception handler 2015-06-12 23:27:30 +01:00
Graham Campbell
0cc0cdc9e3 Updated dependencies 2015-06-12 22:56:59 +01:00
Graham Campbell
f9744b04bb Fixes 2015-06-12 22:49:28 +01:00
Graham Campbell
615f9e0d75 Fixes 2015-06-12 22:49:08 +01:00
Graham Campbell
0aacc038c2 Fixes 2015-06-12 22:48:09 +01:00
Graham Campbell
8f7b538fac CS fix 2015-06-12 22:46:41 +01:00
Graham Campbell
bf53768530 Added canonicalize macro 2015-06-12 22:44:57 +01:00
Graham Campbell
33a282ca4e Removed old service provider from the config 2015-06-12 22:42:04 +01:00
Graham Campbell
2e3fa35aca Fixed the composer service provider 2015-06-12 22:41:17 +01:00
Graham Campbell
b8efd4829e Added missing import 2015-06-12 22:38:49 +01:00
Graham Campbell
78b7e4b8f0 Removed old service provider 2015-06-12 22:38:11 +01:00
Graham Campbell
50096f6a6f Deal with the command bus in the app service provider 2015-06-12 22:37:46 +01:00
Graham Campbell
c56be4c6e0 Deleted old service provider 2015-06-12 22:36:07 +01:00
Graham Campbell
22332e7969 Merge pull request #711 from ldidry/correct-feeds
Correct feeds
2015-06-12 22:34:37 +01:00
Luc Didry
0833f41189 Items' id must be different for feeds to be valid 2015-06-12 23:06:50 +02:00
Luc Didry
3cde840e2b Canonicalize URLs to be W3C compliant
The W3C feed validator (https://validator.w3.org/feed/) says that
http://cachet.example.org is not a valid value for a link, but that
http://cachet.example.org/ is.

The canonicalizeUrl method add a trailing slash if needed.
2015-06-12 23:03:42 +02:00
James Brooks
7888f5953b Don't show hidden items in RSS/Atom 2015-06-12 08:56:17 +01:00
James Brooks
884c43f160 Merge pull request #707 from ldidry/fix-706
Fix #706 Correct null ComponentGroup check for Atom and RSS feeds
2015-06-12 08:52:31 +01:00
Luc Didry
866d73e8f8 Fix #706 Correct null ComponentGroup check for Atom and RSS feeds 2015-06-12 09:41:18 +02:00
James Brooks
832db53ef2 Fixes #705 and only send emails for public incidents. 2015-06-12 08:05:07 +01:00
Joe Cohen
f1080680bf Merge pull request #651 from cachethq/incident-visibility
Incident visibility
2015-06-11 16:59:14 -05:00
James Brooks
df2ae7726d Adds incident visibility. Closes #602 2015-06-11 22:43:16 +01:00
James Brooks
e308ba3aea Don't use url helper 2015-06-11 08:25:30 +01:00
James Brooks
9257135641 Added missing localization 2015-06-10 22:15:26 +01:00
James Brooks
732ec5c827 Merge pull request #702 from cachethq/subscriber-config
Closes #700 - Subscribers can now be turned on and off
2015-06-10 22:13:04 +01:00
James Brooks
eb191a52d7 Fix alignment 2015-06-10 22:11:14 +01:00
James Brooks
9a200684c1 Improve footer layout and styling (fixed position is not fixed) 2015-06-10 22:09:28 +01:00
James Brooks
036928e53e Closes #700 - Subscribers can now be turned on and off 2015-06-10 21:29:35 +01:00
James Brooks
9877023bb4 Fix missing token from unsub link 2015-06-10 14:56:06 +01:00
James Brooks
de9745c7cf Fixes #696 2015-06-10 14:51:38 +01:00
James Brooks
8cdfd90df5 Fix unsubscribe link. Closes #697 2015-06-10 14:49:55 +01:00
James Brooks
afa8c98fbd Set environment values for MAIL_ADDRESS and MAIL_FROM 2015-06-10 14:36:31 +01:00
James Brooks
472e2316ae Don't use the absolute url 2015-06-10 14:17:59 +01:00
James Brooks
92173b65bc Merge pull request #662 from cachethq/subscribers
Subscribers
2015-06-10 14:06:15 +01:00
Graham Campbell
ff2c255d9e Updated the lock file 2015-06-10 14:03:43 +01:00
Graham Campbell
9315de8a4c Fixed up the middleware 2015-06-10 14:03:31 +01:00
Graham Campbell
7b61ad0445 Merge pull request #691 from cachethq/block-php7
Don't allow php 7 installs
2015-06-10 13:58:23 +01:00
James Brooks
980d34abbc Merge pull request #693 from cachethq/no-user-id
Closes #688 - Drop user_id column
2015-06-10 13:39:24 +01:00
James Brooks
620e7fed56 Closes #688 - Drop user_id column 2015-06-10 13:36:26 +01:00
James Brooks
d9e515c62d Make the seeded data all be operational 2015-06-10 13:34:43 +01:00
James Brooks
48c40952f2 Laravel 5.1 is released 2015-06-09 20:51:18 +01:00
Joseph Cohen
55dcf3a277 Handle subscribers 2015-06-09 14:13:27 -05:00
James Brooks
254c578ca2 Merge pull request #660 from cachethq/no-repositories
Remove repositories
2015-06-09 11:04:32 +01:00
James Brooks
106c1a034a Remove repositories from the API and switch cipher to rijndael-256 2015-06-09 10:57:45 +01:00
James Brooks
d788691006 Update dependencies 2015-06-07 09:51:35 +01:00
Joseph Cohen
fc31ce13bc Update deps 2015-06-06 20:54:50 -05:00
James Brooks
6b98832f3b Use the right cipher 2015-06-06 21:48:52 +01:00
James Brooks
cac63fe1fc Update dependencies 2015-06-05 20:45:03 +01:00
Graham Campbell
5a705f9b62 Don't allow php 7 installs 2015-06-05 09:13:06 +01:00
Graham Campbell
987f045c55 Merge pull request #690 from cachethq/security
Enable session security
2015-06-04 23:16:51 +01:00
Joseph Cohen
d85d035ab1 Revert session ecryption 2015-06-04 17:09:32 -05:00
Joseph Cohen
32e97a7fde Enable session security 2015-06-04 16:43:46 -05:00
Graham Campbell
13468239a3 Revert 2015-06-04 09:15:25 +01:00
James Brooks
ba79d2c8a3 Set session.encrypt to true 2015-06-04 09:10:58 +01:00
James Brooks
e70e228e38 Remove call to all from $usedComponentGroups 2015-06-03 22:43:05 +01:00
Graham Campbell
3a781c5e66 Removed old config 2015-06-03 22:41:45 +01:00
James Brooks
8ec29e9921 Update dependencies again 2015-06-03 22:39:11 +01:00
James Brooks
1e27882b90 Update dependencies. 2015-06-03 08:42:03 +01:00
James Brooks
fad393be1d Add testing of status code to API 2015-06-03 08:28:48 +01:00
James Brooks
dd8fc60209 Added API /ping endpoint. Closes #687 2015-06-03 08:22:08 +01:00
James Brooks
c06019a554 Remove PHP 7 nightly because Carbon is incompatible 2015-06-02 20:20:46 +01:00
James Brooks
f15f492bf3 Run tests aginst PHP 7 (nightly) 2015-06-02 20:12:56 +01:00
James Brooks
743ed28fd8 Added Metric and MetricPoint API testing 2015-06-02 20:02:43 +01:00
James Brooks
90110944ff Finish incident API tests 2015-06-02 19:48:09 +01:00
James Brooks
f94a5ec57b Rename vars 2015-06-02 19:47:20 +01:00
James Brooks
4245b95406 Finish Component API testing 2015-06-02 19:44:17 +01:00
James Brooks
9de5847004 Make license badge match the actual license 2015-06-02 14:29:17 +01:00
James Brooks
6637e49c6c Start working on metric tests 2015-06-02 14:23:55 +01:00
James Brooks
b6b5146f16 Formatting 2015-06-02 14:22:48 +01:00
James Brooks
149f043be3 Remove failing test till it can be fixed. More incident testing. 2015-06-02 14:19:24 +01:00
James Brooks
f06e9cc88f Move beUser into Abstract class 2015-06-02 13:42:39 +01:00
James Brooks
4d8b340397 Be more verbose in our testing 2015-06-02 13:41:54 +01:00
James Brooks
ee66f4c451 Now tests if a component can be created via the API 2015-06-02 09:00:33 +01:00
James Brooks
f550a7369e Auto authenticate the user if logged in 2015-06-02 08:35:30 +01:00
James Brooks
2baf17b9d5 Update dependencies 2015-06-02 08:08:53 +01:00
James Brooks
fff91417c7 Added letUserBeLoggedIn for CompoentTest (doesn't fully work) 2015-06-01 22:53:38 +01:00
James Brooks
2af917ace4 Added a User factory 2015-06-01 22:42:49 +01:00
Graham Campbell
049b9ac308 Fixed tests 2015-06-01 22:25:34 +01:00
Graham Campbell
0c065ae690 Use annotation 2015-06-01 22:03:29 +01:00
James Brooks
d3d744780d Revert change to file permission 2015-06-01 22:00:40 +01:00
Graham Campbell
a1fb287a1b Updated dependencies 2015-06-01 21:53:57 +01:00
Graham Campbell
4347a5cc0c Fixed dependencies 2015-06-01 21:48:23 +01:00
James Brooks
f970ae7100 Start working on API tests 2015-06-01 21:32:02 +01:00
James Brooks
224618b0a4 Use the View contract 2015-06-01 11:45:48 +01:00
Graham Campbell
d9414fc25c Update Repository.php 2015-05-30 09:42:29 +01:00
James Brooks
e81b29053a Merge branch 'master' of github.com:cachethq/cachet 2015-05-29 21:56:26 +01:00
James Brooks
672f475a0d Fix handling of settings not existing 2015-05-29 21:56:06 +01:00
Graham Campbell
142473c693 Deleted unused file 2015-05-29 21:14:49 +01:00
James Brooks
cb83f5c0c6 Fix bug with sorting of incident dates 2015-05-29 20:43:12 +01:00
James Brooks
3197b5d18d Fixes #682 2015-05-29 20:32:14 +01:00
Graham Campbell
4c28335ffe Merge pull request #681 from cachethq/new
Upgraded to laravel 5.1
2015-05-29 18:19:56 +01:00
Graham Campbell
e7852e06f8 Updated dependencies 2015-05-29 12:47:41 +01:00
Graham Campbell
62c2c1c7ea Typo fix 2015-05-28 21:42:05 +01:00
Graham Campbell
b85752b101 Upgraded to laravel 5.1 2015-05-28 21:37:44 +01:00
Graham Campbell
9355854289 Fixed segment cache repository 2015-05-28 20:02:15 +01:00
Graham Campbell
99e6f5a234 Merge pull request #680 from cachethq/service-providers
Cleanup service providers
2015-05-28 19:59:53 +01:00
Graham Campbell
49305a2553 Re-added needed initialisation 2015-05-28 19:54:47 +01:00
Graham Campbell
97c99d0afc Minor fixes 2015-05-28 19:49:00 +01:00
Graham Campbell
3f9ebb8abf Cleanup service providers 2015-05-28 19:46:54 +01:00
Graham Campbell
5540a50fae Deleted unused request class 2015-05-28 19:30:25 +01:00
Graham Campbell
e93fda4d53 Cleanup the segment repositories
This code should now work on guzzle 4, guzzle 5 and guzzle 6.
2015-05-28 19:17:31 +01:00
Graham Campbell
65b1038b84 Fixed spelling error 2015-05-28 19:17:31 +01:00
Graham Campbell
77e4532319 Added missing return annotation 2015-05-28 19:17:30 +01:00
Graham Campbell
4c67e04786 Removed old file 2015-05-28 19:17:29 +01:00
Graham Campbell
128fdbed19 Merge pull request #678 from cachethq/tests
Started working on a test suite.
2015-05-28 18:23:09 +01:00
James Brooks
7b3f6fee26 Started working on a test suite
Signed-off-by: Graham Campbell <graham@cachethq.io>
2015-05-28 18:21:39 +01:00
Graham Campbell
c2b69ff547 Updated composer.lock hash 2015-05-28 15:21:36 +01:00
Graham Campbell
12e940e59c Updated pre-update composer hook 2015-05-28 15:18:22 +01:00
Graham Campbell
eb9d22975d Updated .gitignore files 2015-05-28 15:16:26 +01:00
Graham Campbell
c460cd9efe Added missing entry to the language files 2015-05-28 15:13:28 +01:00
Graham Campbell
a314d8b838 Updated config 2015-05-28 15:05:35 +01:00
James Brooks
8299afaa8a Update bootstrap-datetimepicker and styles. Closes #675 2015-05-28 14:26:51 +01:00
James Brooks
40a65fe7e2 Update dependencies 2015-05-28 14:16:10 +01:00
Graham Campbell
d8811c974b Removed unused import 2015-05-28 10:41:56 +01:00
James Brooks
ea94f6dd9e Fixes issue with $pageTitle 2015-05-28 08:59:56 +01:00
James Brooks
fb8990dff2 Move pageTitle into IndexComposer 2015-05-28 08:44:04 +01:00
James Brooks
32029c0bf1 Closes #670 2015-05-28 08:42:39 +01:00
James Brooks
6b70ca7eac Somewhat improve mobile 2015-05-28 08:35:09 +01:00
James Brooks
7aba6e31ea Show components in the dashboard index, in order 2015-05-28 08:33:43 +01:00
James Brooks
c0db4d883a Remove Carbon from HomeController as it doesn't provide any use 2015-05-28 08:30:59 +01:00
James Brooks
bc01c0bb63 Remove duplicate Segment call 2015-05-28 08:25:21 +01:00
Graham Campbell
d29b872fee Fixed issues with the api controller 2015-05-27 17:02:17 +01:00
James Brooks
502ae9d2a0 Closes #669 2015-05-26 19:13:46 +01:00
Graham Campbell
e6f6946497 As cachet is a "project", we shouldn't exclude these 2015-05-26 11:56:39 +01:00
James Brooks
430f580b47 Fix metric chart heights on mobile 2015-05-26 08:16:21 +01:00
Graham Campbell
f7d9f8237c Updated composer.lock 2015-05-26 00:03:28 +01:00
Graham Campbell
1efe164d7b Merge pull request #665 from cachethq/exceptions
Upgraded to laravel exceptions 2
2015-05-25 20:29:11 +01:00
James Brooks
6c6caa7f6c Don't call Artisan facade 2015-05-25 20:28:47 +01:00
James Brooks
c85eba8f04 Compile assets 2015-05-25 20:18:42 +01:00
James Brooks
e399fe4637 Default jQuery AJAX accept headers to JSON 2015-05-25 20:18:01 +01:00
Graham Campbell
a844a711e1 Upgraded to laravel exceptions 2 2015-05-25 20:06:09 +01:00
Graham Campbell
80580eadeb Segment updates 2015-05-25 20:02:11 +01:00
Graham Campbell
2b3b6fb8d8 Merge pull request #664 from cachethq/no-html
Removed the html component
2015-05-25 19:33:37 +01:00
Graham Campbell
9bc598d234 Removed the html component 2015-05-25 19:29:29 +01:00
Graham Campbell
bc11ae6ed6 Merge branch 'master' of https://github.com/cachethq/Cachet 2015-05-25 19:19:09 +01:00
Graham Campbell
ebc842f19e Updated config 2015-05-25 19:19:03 +01:00
James Brooks
084f685387 Fix compilation of nav 2015-05-25 19:05:55 +01:00
Graham Campbell
f235780dda Revert "Updated package.json"
This reverts commit 5a9cb34332.
2015-05-25 19:03:26 +01:00
Graham Campbell
09c33a698d Fixed license years 2015-05-25 19:03:23 +01:00
Graham Campbell
fbf55eeb48 Composer updates 2015-05-25 18:53:00 +01:00
Graham Campbell
946b442ae0 Merge pull request #659 from cachethq/env-config-setup
Env config setup
2015-05-25 18:41:33 +01:00
Graham Campbell
51a4799a29 Merge pull request #663 from cachethq/package
Updated package.json
2015-05-25 18:41:01 +01:00
James Brooks
6dbd15d272 Allow changing of some env variable during setup. 2015-05-25 18:40:09 +01:00
Graham Campbell
5a9cb34332 Updated package.json 2015-05-25 18:32:30 +01:00
Graham Campbell
5709995b13 Fixed server.php 2015-05-25 18:31:51 +01:00
Graham Campbell
aa5e24e96d Updated phpunit config 2015-05-25 18:31:45 +01:00
Graham Campbell
26fbbf9f35 Updated travis config 2015-05-25 18:28:56 +01:00
Graham Campbell
634c318f3f Updated composer.lock 2015-05-25 18:02:12 +01:00
Graham Campbell
45abeea90f Fixed composer.json 2015-05-25 18:02:04 +01:00
Graham Campbell
3988753b99 Updated copyright headers 2015-05-25 17:59:08 +01:00
Graham Campbell
b06167f5e9 Updated joe's email address 2015-05-25 17:53:06 +01:00
James Brooks
a1470a01cf Delete nginx.conf 2015-05-23 17:16:38 +01:00
James Brooks
c554b40c7d Remove unused import (Input) 2015-05-23 15:54:21 +01:00
James Brooks
0e40fe4d3f Prevent Binput from trimming values when dealing with metric suffixes 2015-05-23 15:53:03 +01:00
James Brooks
1402242766 Wrap metric name value in quotes to prevent truncation 2015-05-23 15:47:59 +01:00
James Brooks
bf5941f66e Improve metric tooltips, now show name, value and suffix 2015-05-23 15:46:57 +01:00
James Brooks
6044f7d87c Don't escape the two factor auth help block 2015-05-23 15:29:27 +01:00
Graham Campbell
82cdd171c5 Updated composer.lock file 2015-05-23 14:58:56 +01:00
Graham Campbell
768f4979be Force newer jenssegers/date 2015-05-23 14:57:37 +01:00
Graham Campbell
dc1f1c4737 Updated version constraints 2015-05-23 14:51:07 +01:00
Graham Campbell
0b8ec411ae Added missing into to composer.json 2015-05-23 14:50:17 +01:00
Graham Campbell
91e4dafca9 Updated my email address 2015-05-23 14:48:33 +01:00
James Brooks
65aaa6402a Default all segment contexts to include driver info. 2015-05-23 13:30:18 +01:00
James Brooks
1af50d991e segment_track defaults parameters to an empty array 2015-05-23 13:29:01 +01:00
James Brooks
01b6bb1c2b Track Logged In and Logged Out events 2015-05-23 13:27:56 +01:00
James Brooks
83be116075 Make changes to what we send to Segment, still anonymous! 2015-05-23 13:20:05 +01:00
James Brooks
92604f2ecd Fix the segment_page function 2015-05-23 13:13:38 +01:00
James Brooks
d01ef397b3 Update laravel/framework to 5.0.32 2015-05-23 10:48:10 +01:00
James Brooks
0fb43b2ada Don't use url helper for logo in setup 2015-05-23 08:19:10 +01:00
James Brooks
e577451833 Update dependencies 2015-05-23 07:35:41 +01:00
James Brooks
6803f8e4a8 Improve handling of BasicAuth errors. 2015-05-22 18:29:09 +01:00
James Brooks
fd18b0ae07 Merge pull request #657 from cachethq/update-enUD-lang
Updates en-UD for incontext localization.
2015-05-22 17:08:39 +01:00
James Brooks
b743d56901 Fix lang src 2015-05-22 17:08:29 +01:00
James Brooks
2a94965bb6 Updates en-UD for incontext localization. 2015-05-22 17:06:18 +01:00
James Brooks
03bcf20001 Fix generation of metric point array 2015-05-22 15:35:39 +01:00
James Brooks
e4ef64d014 Fix generation of metrics, no longer sub an extra hour in calculation 2015-05-22 15:32:55 +01:00
James Brooks
d24e83e0ae Account for BasicAuth within ApiAuthenticate 2015-05-22 15:11:44 +01:00
James Brooks
2ae5fb9f22 Added GoSquared demo tracking to the seeder. 2015-05-22 14:07:09 +01:00
James Brooks
aeea02efa2 Fix conditional check for segment_write_key 2015-05-22 14:04:23 +01:00
James Brooks
b15ce2c2c7 Prefix asset urls with / for relative path 2015-05-22 08:28:03 +01:00
James Brooks
7a3a7588b1 Don't wrap the formatted message in p tags, Markdown does it 2015-05-22 08:23:40 +01:00
James Brooks
1e6cb06387 Fix displaying of scheduled time 2015-05-22 07:52:44 +01:00
James Brooks
8e2ab97dfa Fix fetching settings from env never falling to default 2015-05-22 07:34:17 +01:00
James Brooks
0be55c75c0 Merge pull request #654 from cachethq/api-auth
Authenticate api requests
2015-05-20 23:07:01 +01:00
Joseph Cohen
78b7dc92d6 Authenticate api requests 2015-05-20 17:05:37 -05:00
James Brooks
d70ca8d4e5 Fixes #653 2015-05-20 22:38:09 +01:00
James Brooks
af69c99896 Alias the Setting model 2015-05-20 20:24:54 +01:00
James Brooks
707248e436 Merge pull request #638 from cachethq/api-presenters
Make presenters work with the api
2015-05-20 20:23:33 +01:00
Joseph Cohen
088b54a5ce Abstract presenter, timestampstrait, update api responses 2015-05-20 14:19:01 -05:00
Joseph Cohen
10bcbc6169 Get default value on config repository 2015-05-20 14:19:01 -05:00
Joseph Cohen
33f6bf167c Make presenters work with the api 2015-05-20 14:19:01 -05:00
James Brooks
b6aa4b1d8b Fix bad indentation 2015-05-20 19:55:34 +01:00
James Brooks
f7bf3607ce Rebuild assets. 2015-05-20 17:50:27 +01:00
James Brooks
3e9d62f3f7 Change default formatting of date_format 2015-05-20 17:45:08 +01:00
James Brooks
cc755f5184 Improve the username regex 2015-05-20 16:16:25 +01:00
James Brooks
8840bca990 Use the env function rather than getenv 2015-05-20 10:39:31 +01:00
James Brooks
bf8b722e7b Allow all origins by default 2015-05-20 09:18:27 +01:00
James Brooks
79889edd29 Fix editing of incident.created_at under Postgres 2015-05-20 08:18:48 +01:00
James Brooks
053ed46b97 Fix docblock 2015-05-20 08:09:10 +01:00
James Brooks
a1ab59a15a Remove old Cors middleware 2015-05-20 08:08:53 +01:00
James Brooks
a119ed14b2 Default the component_groups.order value to 0 2015-05-20 08:07:08 +01:00
James Brooks
8e06f6241b Merge pull request #650 from cachethq/order-component-groups
Allows ordering of component groups
2015-05-19 22:55:44 +01:00
James Brooks
9337c1a75b Allows ordering of component groups. Closes #573. 2015-05-19 22:54:28 +01:00
James Brooks
879a8a5c69 Merge pull request #643 from cachethq/fix-api-cors
Handle CORS properly
2015-05-19 20:56:42 +01:00
James Brooks
bc376748c8 Fixes #628 - Handle Cors properly. 2015-05-19 20:54:23 +01:00
James Brooks
8984aecd85 Remove HTMLMin 2015-05-19 20:29:50 +01:00
James Brooks
1aedce0219 Merge pull request #646 from cachethq/incident-format-presenter
Fixes #644 - Incident presenter respects the date format.
2015-05-19 20:17:41 +01:00
James Brooks
d9b5c31a06 Merge pull request #647 from cachethq/change-incident-timestamps
Allow changing of incident dates. Closes #615
2015-05-19 20:17:24 +01:00
James Brooks
f2e869f610 Fixes #644 - Incident presenter respects the date format. 2015-05-19 20:04:11 +01:00
James Brooks
c097585ca0 Add missing translation strings for analytics_google, analytics_gosquared 2015-05-19 19:59:21 +01:00
James Brooks
c04ac4a5e3 Fix RedirectIfAuthenticate middleware redirecting to wrong location 2015-05-19 19:30:16 +01:00
James Brooks
166e6f8d59 Fixes #648 2015-05-19 19:14:21 +01:00
James Brooks
77d0c20015 Allow changing of incident dates. Closes #615 2015-05-19 17:40:04 +01:00
Joe Cohen
babef3f7fb Merge pull request #645 from cachethq/theme-composer
Better handling of the custom theme settings.
2015-05-19 11:12:23 -05:00
James Brooks
4d28b28bdf Better handling of the custom theme settings. 2015-05-19 17:06:39 +01:00
James Brooks
0b58160f6d Change the design and colours of the metric graphs 2015-05-19 15:27:44 +01:00
James Brooks
f714176f39 Set Chart.Line.scaleShowLabel to false 2015-05-19 15:24:04 +01:00
James Brooks
0928251673 Add Joseph Cohem and Graham Campbell to the copyright headers. 2015-05-19 10:45:38 +01:00
James Brooks
30248b00aa Add link to upgrade from L4 docs 2015-05-19 08:39:00 +01:00
James Brooks
05dfb3038b Reduce line lengths, format queries 2015-05-19 08:12:50 +01:00
James Brooks
d2048e44b3 Merge pull request #642 from cachethq/component-group-collapsing
Toggle component groups
2015-05-19 06:35:51 +01:00
James Brooks
f277d8b2bc Toggle component group visibility. Closes #572 2015-05-18 21:45:14 +01:00
James Brooks
31336478fe Fixes #606 - Bad component.group_id when adding/editing components. 2015-05-18 16:26:34 +01:00
James Brooks
159e4fc0c9 Make panels use our colour palette. Add .alert default styles 2015-05-18 09:59:07 +01:00
James Brooks
c370ed47ef Reduce letter spacing within the dashboard. 2015-05-18 09:53:30 +01:00
James Brooks
241947d069 Fixes #641 2015-05-18 09:46:19 +01:00
James Brooks
afa66814fa Make alert styles consistent 2015-05-18 09:23:09 +01:00
James Brooks
3fa0912818 Fix formatting 2015-05-16 14:52:01 +01:00
James Brooks
fe12b83c5a Merge pull request #635 from gm-ah/master
ID lang
2015-05-16 14:50:52 +01:00
gm-ah
accc828836 Update forms.php 2015-05-16 20:42:42 +07:00
gm-ah
7b00dbdf9b Update dashboard.php 2015-05-16 20:41:17 +07:00
James Brooks
05968b21e0 Merge pull request #636 from LeoColomb/patch-1
Add id in langs
2015-05-16 07:28:43 +01:00
Léo Colombaro
dcf7d62ca5 Add id in langs
Fixes crash on install
2015-05-15 13:33:53 +02:00
gm-ah
6de4a2fb59 Create validation.php 2015-05-14 19:22:53 +07:00
James Brooks
f993cfcbc3 Merge pull request #634 from gm-ah/gm-ah-port1
id/cachet.php
2015-05-14 12:54:16 +01:00
gm-ah
87baa067a6 Create setup.php 2015-05-14 16:51:46 +07:00
gm-ah
46441ca0e3 Create reminders.php 2015-05-14 16:51:14 +07:00
gm-ah
9045c52774 Create pagination.php 2015-05-14 16:50:44 +07:00
gm-ah
4a481f5736 Create forms.php 2015-05-14 16:50:15 +07:00
gm-ah
863a2f4ed3 Create errors.php 2015-05-14 16:49:44 +07:00
gm-ah
a475a857c2 Create dashboard.php 2015-05-14 16:48:54 +07:00
gm-ah
0a92d8be31 Create cachet.php 2015-05-14 16:48:11 +07:00
gm-ah
85967a9991 id/cachet.php
id lang
2015-05-14 16:43:57 +07:00
James Brooks
9b4e626447 Shorten code 2015-05-13 08:08:45 +01:00
James Brooks
fe1425a6c0 Closes #605 2015-05-10 19:51:06 +01:00
James Brooks
0569142f84 Update the Incident model attributes 2015-05-10 19:41:33 +01:00
James Brooks
43eaf2aa2d Add cookies warning to login. Closes #525. 2015-05-10 19:16:34 +01:00
James Brooks
853cd9bfbf Update dependencies 2015-05-08 11:07:17 +01:00
James Brooks
06b9bc2757 Prevent bots from indexing date ranges with no incidents. Closes #624. 2015-05-08 11:06:02 +01:00
Joe Cohen
2c0e806ad6 Merge pull request #598 from experty/L5
Use APC cache for Docker and fix bug with changing component sort order
2015-05-07 10:44:21 -05:00
Joseph Cohen
a5526c7ca7 Remove tz form formatted date helper 2015-05-07 10:37:32 -05:00
James Brooks
4eb1bee983 Merge pull request #627 from cachethq/fix-config-and-tests
Update loading config to fix failing builds
2015-05-07 16:28:06 +01:00
James Brooks
6973943e3a Merge pull request #626 from cachethq/incidents-dates
Fix incidents timezones and order
2015-05-07 16:26:46 +01:00
Joseph Cohen
bb5fd311fe Update loading config to fix failing builds 2015-05-07 09:38:58 -05:00
Joseph Cohen
5280fc8df4 Fix incidents timezones and order 2015-05-07 09:15:00 -05:00
James Brooks
2712e61ea5 Fix up the 2FA login form 2015-05-02 16:30:14 +01:00
James Brooks
65debb5014 Fixes #621 - Use zero-prefixed day formatting. 2015-05-02 14:57:48 +01:00
James Brooks
8a9456ab42 Fixes #618 - Only fetch Segment key if we want to help usage stats. 2015-05-02 09:29:00 +01:00
James Brooks
444b236f9f Fixes #619 2015-05-02 09:19:01 +01:00
James Brooks
8f9d2614e9 Fix sorting of days 2015-05-02 09:09:02 +01:00
James Brooks
b0c808f449 Remove the small HTML from the "Show Support for Cachet" string 2015-05-02 09:04:07 +01:00
James Brooks
cb049f6458 Merge pull request #613 from vinkla/patch-1
Fix typo in AbstractApiController
2015-04-28 17:23:08 +01:00
Vincent Klaiber
b26bef7251 Fix typo in AbstractApiController 2015-04-28 18:22:23 +02:00
James Brooks
61afb54121 Remove component list from editing incidents. 2015-04-28 11:21:57 +01:00
EdeMeijer
c4c55a73cb Use APC cache for Docker and fix bug with changing component sort order
By default, the file cache is used, but this breaks the throttling detection when authenticating.
The APC cache is tagged and will allow you to log in again after installation.
---
When changing the sort order, a form with hidden inputs for every component was serialized. The hidden inputs
had names in the form of `component[id]`. When you removed components, there would be holes in this ID sequence,
yielding a serialized array with empty values (since JS arrays always have every index until the highest one, even
if you don't specify a value).

This is fixed by just passing an array of component IDs in the desired sort order to the API endpoint. The API
will then update the components based on the implicit given sort order. Much simpler.
2015-04-25 12:00:53 +02:00
James Brooks
dda8917db0 Update dependencies 2015-04-23 08:12:50 +01:00
James Brooks
26642eb573 Fix missing $date variable 2015-04-23 08:12:42 +01:00
James Brooks
cbf59b9b78 Merge pull request #597 from Lavoaster/fix/homepage_excessive_queriesv2
Refactored the way incidents are pulled out of the database + Sort fix
2015-04-23 08:08:32 +01:00
James Brooks
01ea120747 Merge pull request #599 from naabster/L5
controller class names made case sensitive for router
2015-04-23 08:08:06 +01:00
naabster
968abd0dc0 controller class names made case sensitive for router 2015-04-22 23:24:37 +02:00
Adam Lavin
8b200ef35e Refactored the way incidents are pulled out of the database + Sort fix
Incidents are now pulled out via the database, grouped together via php, then missing days are added to the data.
2015-04-21 12:45:36 +01:00
James Brooks
497cc24545 Merge pull request #596 from cachethq/revert-595-fix/homepage_excessive_queries
Revert "Refactored the way incidents are pulled out of the database on t...
2015-04-21 10:13:13 +01:00
James Brooks
1543643f4c Revert "Refactored the way incidents are pulled out of the database on the homepage" 2015-04-21 10:13:08 +01:00
James Brooks
6917870c23 Merge pull request #595 from Lavoaster/fix/homepage_excessive_queries
Refactored the way incidents are pulled out of the database on the homepage
2015-04-21 07:41:43 +01:00
Adam Lavin
04438e31ed CS Fixes 2015-04-20 23:44:29 +01:00
Adam Lavin
4c4a32da3d Refactored the way incidents are pulled out of the database
Incidents are now pulled out via the database, grouped together via php, then missing days are added to the data
2015-04-20 23:28:53 +01:00
James Brooks
09dd120805 Added sensu-cachet 2015-04-20 09:45:12 +01:00
James Brooks
60af02969f Merge pull request #593 from experty/L5
Update Dockerfile for moved app config file
2015-04-20 09:18:18 +01:00
EdeMeijer
e8750e9726 Update Dockerfile for moved app config file
It seems like the app config was moved, but the Dockefile wasn't updated. This makes building work again.
2015-04-20 10:15:16 +02:00
James Brooks
70a07e6d19 Fix links to dashboard and auth/logout 2015-04-19 12:30:48 +01:00
James Brooks
d451fc4c7d Remove unused Heroku config 2015-04-19 09:19:46 +01:00
James Brooks
51ae02992e Fix copyright info 2015-04-19 09:18:16 +01:00
James Brooks
2d7be16229 Added GrahamCampbell/htmlmin 2015-04-19 09:17:31 +01:00
James Brooks
ed88aa841a Added APP_URL config 2015-04-19 09:16:59 +01:00
James Brooks
8714f4643d Import Request in trustedproxy.php 2015-04-19 09:13:20 +01:00
James Brooks
861041ff31 Fixed index.php 2015-04-19 09:11:53 +01:00
James Brooks
c3c62a6b4e Add TrustProxies to Http middleware 2015-04-19 09:04:50 +01:00
James Brooks
7cf61b9699 Update dependencies. 2015-04-19 08:59:00 +01:00
James Brooks
80e3d9167d Closes #568, adds copyright information. 2015-04-19 08:52:39 +01:00
James Brooks
dc139ef09f Remove cachet:one-click-deploy command in Travis 2015-04-18 17:11:14 +01:00
James Brooks
f9917e525c Merge pull request #591 from wfjsw/L5
Fix L10n *again*
2015-04-18 17:08:27 +01:00
jsw
af084ceec8 Fix L10n *again* 2015-04-19 00:00:29 +08:00
James Brooks
ba7f9881d6 Fix L10n style and content @wfjsw 2015-04-18 16:55:51 +01:00
James Brooks
17c31f4f2f Merge pull request #589 from EdeMeijer/L5
Add PHP pgsql driver to Dockerfile
2015-04-18 16:54:46 +01:00
EdeMeijer
31003e1d7f Add PHP pgsql driver to Dockerfile
This fixes not being able to use Cachet with Docker and Postgres (with the -e DB_DRIVER=pgsql option)
2015-04-18 17:50:54 +02:00
James Brooks
fa12463ac2 Fix styles 2015-04-18 16:39:01 +01:00
James Brooks
9c221b7b2a Fix metic point calculations. 2015-04-18 14:06:14 +01:00
James Brooks
35dc0f6f77 Remove Lato. 2015-04-18 14:06:07 +01:00
James Brooks
7c9fff983e Update L5 branch. 2015-04-18 13:59:37 +01:00
James Brooks
191e17b1a6 Closes #552 - Autosize some textareas. 2015-04-06 09:31:19 +01:00
James Brooks
d2043f41c4 Added demo account info 2015-04-05 22:55:16 +01:00
James Brooks
f462cc99c7 Update dependencies. 2015-04-03 18:06:15 +01:00
James Brooks
4f09ce1f1b Fix Atom and RSSController docblocks. 2015-04-03 18:06:08 +01:00
James Brooks
d3554ec4f4 Fixes #550 in the Laravel 5 branch. 2015-04-03 17:53:57 +01:00
James Brooks
04f957cf39 Fixed HTML encoding. 2015-04-03 17:46:33 +01:00
James Brooks
0e8899e90e Fixes #567. 2015-04-03 17:44:48 +01:00
James Brooks
f73afb87d8 Merge pull request #566 from cachethq/gosquared-tracking
GoSquared Tracking
2015-04-03 17:38:32 +01:00
James Brooks
92c1d69b16 Support GoSquared tracking codes as well. Closes #556. 2015-04-03 17:29:14 +01:00
James Brooks
cee25ba530 Fix markup. 2015-04-03 17:17:39 +01:00
James Brooks
39bf9f789c Remove small text from language string. 2015-04-03 17:17:29 +01:00
James Brooks
f7aa87c503 Remove OneClickDeployCommand from Kernel $commands 2015-04-03 17:15:31 +01:00
James Brooks
3a9bc47f09 Merge pull request #565 from cachethq/drop-heroku-support
Drop Heroku support
2015-04-03 17:11:23 +01:00
James Brooks
31f5d76bcf Removed native Heroku deployment. Closes #557. 2015-04-03 17:10:20 +01:00
James Brooks
1117f421b1 Update dependencies. 2015-04-03 17:07:06 +01:00
James Brooks
3b4fcd793f Closes #560 2015-03-31 21:38:20 +01:00
James Brooks
e61cae2ddd Fix output of HTML from support Cachet link 2015-03-31 21:29:27 +01:00
James Brooks
caeaf4c1a9 Merge pull request #559 from Duffleman/patch-1
Update .env.example
2015-03-31 21:23:16 +01:00
George Miller
6d6e8bcaf9 Update .env.example
DB_DRIVER is default set to sqlite. Anyone starting the project intending to use MySQL will have to look around to see to add that declaration here. Best add it to the example file to save them the hassle.
2015-03-31 21:21:52 +01:00
Graham Campbell
0f44fab68c More specific docblock 2015-03-30 21:48:57 +01:00
Graham Campbell
3f0b2d1375 Cleanup exception handler 2015-03-30 21:47:25 +01:00
James Brooks
64f5c23546 Use Laravel-Exceptions 2015-03-30 21:44:32 +01:00
James Brooks
f6c4f3df27 Update dependencies. 2015-03-30 21:14:15 +01:00
James Brooks
cdd91ce673 Merge pull request #555 from cachethq/issue-551
Closes #551
2015-03-30 21:12:20 +01:00
James Brooks
5251369317 Closes #551 2015-03-30 21:11:52 +01:00
James Brooks
64d1d73d70 Use env to determine the DB_DRIVER 2015-03-28 09:17:29 +00:00
Joseph Cohen
082f57569f Fix CS 2015-03-26 15:09:49 -06:00
Joseph Cohen
37e20bf2bf Update code to match master 2015-03-26 15:07:16 -06:00
Graham Campbell
eb22ac6d8a Cleaned up dependencies
Using the sexy ^ notation. :)
2015-03-23 19:44:30 +00:00
Graham Campbell
85bab1d238 Merge pull request #538 from cachethq/l5-stuffs
Loosen some version constraints
2015-03-23 19:41:32 +00:00
Graham Campbell
21355e3dd7 Update composer.json 2015-03-23 19:40:37 +00:00
Graham Campbell
ce92de2f7e Loosen some version constraints 2015-03-23 19:38:08 +00:00
Joseph Cohen
da9c32d38a Update dependencies 2015-03-21 03:05:11 -06:00
Joseph Cohen
41186b7271 CS fixes 2015-03-21 02:56:01 -06:00
Joseph Cohen
44ac45fc6b Fix loadconfix exceptions 2015-03-21 02:52:59 -06:00
Joseph Cohen
09e83ab689 Fix tests 2015-03-21 02:33:38 -06:00
Joseph Cohen
c5a93d99a7 Remove unused clases and use abstract controller 2015-03-21 02:21:20 -06:00
Joseph Cohen
d4fa4e59a0 Fix segment implementation 2015-03-21 02:16:45 -06:00
James Brooks
c1c3eb65d9 Fix unknown AbstractController import 2015-03-21 07:36:34 +00:00
Joseph Cohen
bdbd1cbd1e Added Laravel-Segment 2.0 2015-03-20 18:34:05 -06:00
Joseph Cohen
1ca9b85389 CS Fixes 2015-03-20 18:32:24 -06:00
Joseph Cohen
b4ac66d727 Cachet is now a Laravel 5 app 2015-03-20 18:30:45 -06:00
706 changed files with 31481 additions and 15310 deletions

View File

@@ -1,4 +1,4 @@
{
"directory": "app/assets/bower_components",
"directory": "vendor/bower_components",
"interactive": false
}

View File

@@ -1 +0,0 @@
.git

30
.env.example Normal file
View File

@@ -0,0 +1,30 @@
APP_ENV=production
APP_DEBUG=false
APP_URL=http://localhost
APP_KEY=SomeRandomString
DB_DRIVER=mysql
DB_HOST=localhost
DB_DATABASE=cachet
DB_USERNAME=homestead
DB_PASSWORD=secret
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=database
CACHET_EMOJI=false
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ADDRESS=null
MAIL_NAME=null
MAIL_ENCRYPTION=tls
REDIS_HOST=null
REDIS_DATABASE=null
REDIS_PORT=null
GITHUB_TOKEN=null

View File

@@ -1,11 +0,0 @@
<?php
return [
'APP_DEBUG' => getenv('APP_DEBUG') ?: false,
'DB_DRIVER' => 'mysql',
'DB_HOST' => 'localhost',
'DB_DATABASE' => 'cachet',
'DB_USERNAME' => 'homestead',
'DB_PASSWORD' => 'secret',
'CACHE_DRIVER' => 'apc',
];

View File

@@ -1,14 +0,0 @@
<?php
$dbURL = parse_url(getenv('DATABASE_URL'));
$dbName = substr($dbURL["path"], 1);
return [
'APP_DEBUG' => getenv('APP_DEBUG') ?: false,
'DB_HOST' => $dbURL['host'],
'DB_DATABASE' => $dbName,
'DB_USERNAME' => $dbURL['user'],
'DB_PASSWORD' => $dbURL['pass'],
'DB_DRIVER' => 'pgsql',
'CACHE_DRIVER' => 'apc',
];

10
.gitattributes vendored
View File

@@ -1,9 +1,3 @@
* text=auto
/tests export-ignore
/.gitattributes export-ignore
/.gitignore export-ignore
/phpunit.xml export-ignore
/CONTRIBUTING.md export-ignore
/INSTALL.md export-ignore
/README.md export-ignore
*.css linguist-vendored
*.scss linguist-vendored

24
.gitignore vendored
View File

@@ -1,24 +1,4 @@
# Laravel
bootstrap/compiled.php
vendor
# Configuration
.env.*.php
.env.php
config.codekit
!.env.heroku.php
!.env.example.php
# Assets
app/assets/bower_components
.env
node_modules
public/dist
public/css
public/js
# Packages
npm-debug.log
.vagrant
# PHPUnit
phpunit.xml
vendor

View File

@@ -1,26 +1,21 @@
language: php
php:
- 5.4
- 5.5
- 7.0
- 5.6
- nightly
- 5.5
- 5.5.9
- hhvm
matrix:
allow_failures:
- php: nightly
sudo: false
install: travis_retry composer install --no-interaction --ignore-platform-reqs --no-scripts --prefer-source
before_script: php artisan cachet:one-click-deploy
install:
- travis_retry composer install --no-interaction --no-scripts --prefer-source
script:
- bash -c 'if [ "$TRAVIS_PHP_VERSION" == "hhvm" ]; then vendor/bin/phpunit; fi;'
- bash -c 'if [ "$TRAVIS_PHP_VERSION" != "hhvm" ]; then vendor/bin/phpunit --coverage-clover build/logs/clover.xml; fi;'
- if [ "$TRAVIS_PHP_VERSION" != "5.5.9" ] && [ "$TRAVIS_PHP_VERSION" != "5.5" ] && [ "$TRAVIS_PHP_VERSION" != "5.6" ]; then vendor/bin/phpunit; fi
- if [ "$TRAVIS_PHP_VERSION" == "5.5.9" ] || [ "$TRAVIS_PHP_VERSION" == "5.5" ] || [ "$TRAVIS_PHP_VERSION" == "5.6" ]; then vendor/bin/phpunit --coverage-clover build/logs/clover.xml; fi
after_script:
- bash -c 'if [ "$TRAVIS_PHP_VERSION" != "hhvm" ]; then wget https://scrutinizer-ci.com/ocular.phar; fi;'
- bash -c 'if [ "$TRAVIS_PHP_VERSION" != "hhvm" ]; then php ocular.phar code-coverage:upload --format=php-clover build/logs/clover.xml; fi;'
- if [ "$TRAVIS_PHP_VERSION" == "5.5.9" ] || [ "$TRAVIS_PHP_VERSION" == "5.5" ] || [ "$TRAVIS_PHP_VERSION" == "5.6" ]; then wget https://scrutinizer-ci.com/ocular.phar; fi
- if [ "$TRAVIS_PHP_VERSION" == "5.5.9" ] || [ "$TRAVIS_PHP_VERSION" == "5.5" ] || [ "$TRAVIS_PHP_VERSION" == "5.6" ]; then php ocular.phar code-coverage:upload --format=php-clover build/logs/clover.xml; fi

View File

@@ -2,16 +2,15 @@
## Creating issues
Issues should be made by using the [issue tracker](https://github.com/cachethq/Cachet/issues).
Feature requests and bug reports should be made by using the [issue tracker](https://github.com/cachethq/Cachet/issues). Support questions should be directed to our support email; [support@alt-three.com](mailto:support@alt-three.com?subject=Cachet Support).
Things to remember:
- Be descriptive
- Be respectful of others
**Always be respectful.** Organization members reserve the right to lock topics if they feel necessary.
## Languages
When needing to add labels, placeholders or general text, you **must not** write directly into the source file, rather make use of the `./app/lang/` directory. Always provide the English translation and copy your English string to all other languages - making sure that the indentation and alignment of the arrays are updated.
When needing to add labels, placeholders or general text, you **must not** write directly into the source file, rather make use of the `./resources/lang/` directory.
Always provide the English translation and copy your English string to all other languages - making sure that the indentation and alignment of the arrays are updated.
## Coding Standards
@@ -20,9 +19,9 @@ Please follow existing coding standards:
```php
<?php
namespace Foo\Bar\Controller;
namespace CachetHQ\Cachet\Controller;
use Foo\Bar\Bar;
use CachetHQ\Cachet\Bar;
class Foo extends Bar
{
@@ -50,18 +49,17 @@ class Foo extends Bar
}
```
- Braces on a new line following: `namespace`, `use`, `function` and `class`.
- Line lengths have a soft 80 limit and hard 120 length.
- PHP constants should be in lowercase; `true`, `false` and `null`.
- Defined constants should always be in uppercase.
- Never leave trailing spaces at the end of a line.
- Files should end with one blank line.
- Do not use `# Bash` style comments.
- Always add or update Docblocs to functions.
- If your pull request consists of more than two commits, you **must** squash them into one.
- We use [StyleCI](https://styleci.io) to automatically check code standards in Pull Requests. If your PR fails the CI check, then apply the supplied patch and re-push.
If you're still unsure, then take a look at existing code.
## Introduction into to Git and GitHub
## Introduction into Git and GitHub
If you are new to Git, GitHub and the whole open source software community, welcome! Here are some resources for getting started and understanding what it's all about.
@@ -75,8 +73,6 @@ If you're not particularly fond of the command line, you can get one of GitHub's
If you're feeling adventurous, you can become a Git & GitHub master with the [Git Path on Code School](https://www.codeschool.com/paths/git).
There is always the Cachet Gitter chat to ask any questions you may have:
[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/cachethq/Cachet?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
## .editorconfig
You should also make use of the [.editorconfig](/.editorconfig) file found within the root of the repository. It'll make sure that your editor is setup with the same file settings.

View File

@@ -1,42 +0,0 @@
FROM debian:jessie
ENV DB_DRIVER=mysql \
ENV=production \
DB_DATABASE=cachet \
DB_HOST= \
DB_USERNAME= \
DB_PASSWORD= \
DEBIAN_FRONTEND=noninteractive
COPY . /var/www/html/
WORKDIR /var/www/html/
# Using nodesource and debian jessie packages instead of compiling from scratch
RUN echo "APT::Install-Recommends \"0\";" >> /etc/apt/apt.conf.d/02recommends && \
echo "APT::Install-Suggests \"0\";" >> /etc/apt/apt.conf.d/02recommends && \
apt-get -qq update && \
apt-get -qq install \
ca-certificates nginx php5-fpm=5.* php5-curl php5-readline php5-mcrypt php5-mysql php5-apcu php5-cli \
git sqlite libsqlite3-dev curl supervisor && \
apt-get clean && apt-get autoremove -qq && \
rm -rf /var/lib/apt/lists/* /usr/share/doc /usr/share/man /tmp/* && \
chown -R www-data /var/www/html
# Hardcode the Illuminate key in app/config/app.php. If you want security, feel free
# to override the key in your own container with a 'php artisan key:generate' :)
RUN sed -i "s/'key' => '\w.*/'key' => 'f20d3e5ae02125a94bd60203a4edfbde',/" app/config/app.php && \
grep key app/config/app.php
# copy the various nginx and supervisor conf (to handle both fpm and nginx)
RUN sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php5/fpm/php-fpm.conf ;\
echo "daemon off;" >> /etc/nginx/nginx.conf ;\
mv /var/www/html/docker/php-fpm-pool.conf /etc/php5/fpm/pool.d/www.conf ;\
rm -f /etc/nginx/sites-enabled/* && rm -f /etc/nginx/conf.d/* && mv /var/www/html/docker/nginx-site.conf /etc/nginx/conf.d/default.conf
RUN curl -sS https://getcomposer.org/installer | php && php composer.phar install --no-dev -o
COPY docker/supervisord.conf /etc/supervisor/supervisord.conf
EXPOSE 8000
CMD ["/usr/bin/supervisord"]

View File

@@ -1,4 +1,4 @@
Copyright (c) 2015 James Brooks and individual contributors.
Copyright (c) 2015 Alt Three Services Limited.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

View File

@@ -1 +0,0 @@
web: vendor/bin/heroku-php-nginx -C nginx.conf public

100
README.md
View File

@@ -1,44 +1,50 @@
# Cachet [![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy)
# Cachet
[![StyleCI](https://styleci.io/repos/26730195/shield)](https://styleci.io/repos/26730195/)
[![Build Status](https://img.shields.io/travis/cachethq/Cachet.svg?style=flat-square)](https://travis-ci.org/cachethq/Cachet)
[![Quality Score](https://img.shields.io/scrutinizer/g/cachethq/Cachet.svg?style=flat-square)](https://scrutinizer-ci.com/g/cachethq/Cachet)
[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE)
[![Gitter](https://img.shields.io/badge/gitter-join%20chat-brightgreen.svg?style=flat-square)](https://gitter.im/cachethq/Cachet?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[![Software License](https://img.shields.io/badge/license-BSD3-brightgreen.svg?style=flat-square)](LICENSE)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/cachet/localized.png)](http://translate.cachethq.io/project/cachet)
![Screenshot](https://cachethq.io/img/main-interface.jpg)
**Currently in development. Things may change or break until a solid release has been announced.**
## Features
- List your services components.
- Log incidents.
- Apply a custom stylesheet to the status page.
- Markdown support for incident messages.
- RESTful API.
- Translated into several languages.
- Easy Heroku deployment.
- Metrics.
- Cross-database support: MySQL, PostgreSQL and SQLite.
- List your services components
- Log incidents
- Apply custom CSS to the status page
- Markdown support for incident messages
- JSON API
- Translated into eleven languages
- Metrics
- Cross-database support: MySQL, PostgreSQL and SQLite
- Subscriber notifications via Email
- Two factor authentication, with Google Authenticator
## Usage in production
The `master` branch of this repository is a development branch and **should not** be used in production. Instead, please check out the latest tag release.
## Requirements
- PHP 5.4 or newer
- mcrypt extension
- PHP 5.5.9+ or newer
- [Composer](https://getcomposer.org)
### Development Requirements
The following extra dependencies are required to develop Cachet.
These extra dependencies are required to develop Cachet:
- Node.js
+ Bower
+ Gulp
- Bower
- Gulp
## Installation & Documentation
## Installation, Upgrades and Documentation
You can now find our documentation at [https://docs.cachethq.io](https://docs.cachethq.io) or, directly at [http://cachet.readme.io](http://cachet.readme.io) if the first link fails to load. [Cachet Demo](https://demo.cachethq.io)
You can now find our documentation at [https://docs.cachethq.io](https://docs.cachethq.io).
- [Installing Cachet](https://docs.cachethq.io/docs/installing-cachet)
- [Getting started with Docker](https://docs.cachethq.io/docs/get-started-with-docker)
- [Getting started with Vagrant](https://docs.cachethq.io/docs/get-started-with-vagrant)
### Demo Account
@@ -47,54 +53,12 @@ To test out the demo, you may login to the [Dashboard](https://demo.cachethq.io/
- **Username:** test@test.com
- **Password:** test123
The demo is reset every half past the hour.
## What Cachet is not
Here is a list of things that Cachet is not or does not do:
1. It does not monitor your services. It works only as a way to display the status of your services. *However, Cachet is able to receive updates from third-party services via its API.*
2. It does not work on a plugin system. There are no monitoring services to extend.
3. It's not a Twitter clone.
## Quickstart with Docker
Run a DB container (you can either pass in environment variables for the DB, or mount a config with `-v /my/database.php:/var/www/html/app/config/database.php`):
```bash
$ export DB_USERNAME=cachet
$ export DB_PASSWORD=cachet
$ export DB_ROOT_PASSWORD=cachet
$ export DB_DATABASE=cachet
$ docker run --name mysql -e MYSQL_USER=$DB_USERNAME -e MYSQL_PASSWORD=$DB_PASSWORD -e MYSQL_ROOT_PASSWORD=$DB_ROOT_PASSWORD -e MYSQL_DATABASE=$DB_DATABASE -d mysql
```
Initialize the DB if you haven't yet:
```bash
$ docker run --link mysql:mysql -e DB_HOST=mysql -e DB_DATABASE=$DB_DATABASE -e DB_USERNAME=$DB_USERNAME -e DB_PASSWORD=$DB_PASSWORD cachethq/cachet:latest php artisan migrate --force
```
Run Cachet:
```bash
$ docker run -d --name cachet --link mysql:mysql -p 80:8000 -e DB_HOST=mysql -e DB_DATABASE=$DB_DATABASE -e DB_USERNAME=$DB_USERNAME -e DB_PASSWORD=$DB_PASSWORD cachethq/cachet:latest
```
Now go to `http://<ipdockerisboundto>/setup` and have fun!
Note: When running in production you should ensure that you enable SSL.
This is commonly achieved by running Nginx with your certificates on your Docker host, service or load balancers in-front of the running container, or by adding your custom SSL certificates and configuration to the supplied Nginx configuration.
## Addons
- [cachet-monitor](https://github.com/castawaylabs/cachet-monitor) - For url monitoring. Automatic incident updates
- [sensu-cachet](https://github.com/bimlendu/sensu-cachethq) - Sensu handler for updating CachetHQ.
## Read more about Cachet
For more information on why I started developing Cachet, check out my [Cachet articles on my blog](https://james-brooks.uk/tag/cachet/?utm_source=github&utm_medium=readme&utm_campaign=github-cachet).
The demo is reset every half hour.
## Translations
A special thank you to our [translators](https://crowdin.com/project/cachet/activity_stream), who have allowed us to share Cachet with the world. If you'd like to contribute translations, please check out our [CrowdIn project](https://crowdin.com/project/cachet).
## Security Vulnerabilities
If you discover a security vulnerability within Cachet, please send an e-mail to us at support@alt-three.com. All security vulnerabilities will be promptly addressed.

1
VERSION Normal file
View File

@@ -0,0 +1 @@
2.0.5-dev

View File

@@ -1,34 +0,0 @@
{
"name": "Cachet",
"description": "An open source status page system.",
"keywords": [
"cachet",
"laravel",
"status",
"page"
],
"website": "https://cachethq.io",
"logo": "https://raw.githubusercontent.com/cachethq/assets/79336a33c24b28c470a89742671e0e291813d004/images/icon/Cachet-Icon.png",
"success_url": "/setup",
"repository": "https://github.com/cachethq/Cachet",
"addons": [
"heroku-postgresql"
],
"env": {
"ENV": {
"value": "heroku",
"description": "Warning: Do not modify this value on Heroku deployments."
},
"BUILDPACK_URL": {
"value": "https://github.com/heroku/heroku-buildpack-php",
"description": "Warning: Do not modify this value on Heroku deployments."
},
"CACHE_DRIVER": {
"value": "apc",
"description": "Warning: Do not modify this value on Heroku deployments."
}
},
"scripts": {
"postdeploy": "php artisan migrate --env=heroku; php artisan key:generate;"
}
}

View File

@@ -0,0 +1,103 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Component;
final class AddComponentCommand
{
/**
* The component name.
*
* @var string
*/
public $name;
/**
* The component description.
*
* @var string
*/
public $description;
/**
* The component status.
*
* @var int
*/
public $status;
/**
* The component link.
*
* @var string
*/
public $link;
/**
* The component order.
*
* @var int
*/
public $order;
/**
* The component group.
*
* @var int
*/
public $group_id;
/**
* Is the component enabled?
*
* @var bool
*/
public $enabled;
/**
* The validation rules.
*
* @var string[]
*/
public $rules = [
'name' => 'required|string',
'description' => 'string',
'status' => 'int|min:1|max:4',
'link' => 'url',
'order' => 'int',
'group_id' => 'int',
'enabled' => 'bool',
];
/**
* Create a new add component command instance.
*
* @param string $name
* @param string $description
* @param int $status
* @param string $link
* @param int $order
* @param int $group_id
* @param bool $enabled
*
* @return void
*/
public function __construct($name, $description, $status, $link, $order, $group_id, $enabled)
{
$this->name = $name;
$this->description = $description;
$this->status = (int) $status;
$this->link = $link;
$this->order = $order;
$this->group_id = $group_id;
$this->enabled = $enabled;
}
}

View File

@@ -0,0 +1,36 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Component;
use CachetHQ\Cachet\Models\Component;
final class RemoveComponentCommand
{
/**
* The component to remove.
*
* @var \CachetHQ\Cachet\Models\Component
*/
public $component;
/**
* Create a new remove component command instance.
*
* @param \CachetHQ\Cachet\Models\Component $component
*
* @return void
*/
public function __construct(Component $component)
{
$this->component = $component;
}
}

View File

@@ -0,0 +1,114 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Component;
use CachetHQ\Cachet\Models\Component;
final class UpdateComponentCommand
{
/**
* The component to update.
*
* @var \CachetHQ\Cachet\Models\Component
*/
public $component;
/**
* The component name.
*
* @var string
*/
public $name;
/**
* The component description.
*
* @var string
*/
public $description;
/**
* The component status.
*
* @var int
*/
public $status;
/**
* The component link.
*
* @var string
*/
public $link;
/**
* The component order.
*
* @var int
*/
public $order;
/**
* The component group.
*
* @var int
*/
public $group_id;
/**
* Is the component enabled?
*
* @var bool
*/
public $enabled;
/**
* The validation rules.
*
* @var string[]
*/
public $rules = [
'name' => 'string',
'description' => 'string',
'status' => 'int|min:1|max:4',
'link' => 'url',
'order' => 'int',
'group_id' => 'int',
'enabled' => 'bool',
];
/**
* Create a new update component command instance.
*
* @param \CachetHQ\Cachet\Models\Component $component
* @param string $name
* @param string $description
* @param int $status
* @param string $link
* @param int $order
* @param int $group_id
* @param bool $enabled
*
* @return void
*/
public function __construct(Component $component, $name, $description, $status, $link, $order, $group_id, $enabled)
{
$this->component = $component;
$this->name = $name;
$this->description = $description;
$this->status = (int) $status;
$this->link = $link;
$this->order = $order;
$this->group_id = $group_id;
$this->enabled = $enabled;
}
}

View File

@@ -0,0 +1,53 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\ComponentGroup;
final class AddComponentGroupCommand
{
/**
* The component group name.
*
* @var string
*/
public $name;
/**
* The component group description.
*
* @var int
*/
public $order;
/**
* The validation rules.
*
* @var string[]
*/
public $rules = [
'name' => 'required|string',
'order' => 'int',
];
/**
* Create a add component group command instance.
*
* @param string $name
* @param int $order
*
* @return void
*/
public function __construct($name, $order)
{
$this->name = $name;
$this->order = (int) $order;
}
}

View File

@@ -0,0 +1,36 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\ComponentGroup;
use CachetHQ\Cachet\Models\ComponentGroup;
final class RemoveComponentGroupCommand
{
/**
* The component group to remove.
*
* @var \CachetHQ\Cachet\Models\ComponentGroup
*/
public $group;
/**
* Create a new remove component group command instance.
*
* @param \CachetHQ\Cachet\Models\ComponentGroup $group
*
* @return void
*/
public function __construct(ComponentGroup $group)
{
$this->group = $group;
}
}

View File

@@ -0,0 +1,64 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\ComponentGroup;
use CachetHQ\Cachet\Models\ComponentGroup;
final class UpdateComponentGroupCommand
{
/**
* The component group.
*
* @var \CachetHQ\Cachet\Models\ComponentGroup
*/
public $group;
/**
* The component group name.
*
* @var string
*/
public $name;
/**
* The component group description.
*
* @var int
*/
public $order;
/**
* The validation rules.
*
* @var string[]
*/
public $rules = [
'name' => 'string',
'order' => 'int',
];
/**
* Create a add component group command instance.
*
* @param \CachetHQ\Cachet\Models\ComponentGroup $group
* @param string $name
* @param int $order
*
* @return void
*/
public function __construct(ComponentGroup $group, $name, $order)
{
$this->group = $group;
$this->name = $name;
$this->order = (int) $order;
}
}

View File

@@ -0,0 +1,36 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Incident;
use CachetHQ\Cachet\Models\Incident;
final class RemoveIncidentCommand
{
/**
* The incident to remove.
*
* @var \CachetHQ\Cachet\Models\Incident
*/
public $incident;
/**
* Create a new remove incident command instance.
*
* @param \CachetHQ\Cachet\Models\Incident $incident
*
* @return void
*/
public function __construct(Incident $incident)
{
$this->incident = $incident;
}
}

View File

@@ -0,0 +1,132 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Incident;
final class ReportIncidentCommand
{
/**
* The incident name.
*
* @var string
*/
public $name;
/**
* The incident status.
*
* @var int
*/
public $status;
/**
* The incident message.
*
* @var string
*/
public $message;
/**
* The incident visibility.
*
* @var int
*/
public $visible;
/**
* The incident component.
*
* @var int
*/
public $component_id;
/**
* The component status.
*
* @var int
*/
public $component_status;
/**
* Whether to notify about the incident or not.
*
* @var bool
*/
public $notify;
/**
* The date at which the incident occurred.
*
* @var string|null
*/
public $incident_date;
/**
* A given incident template.
*
* @var string|null
*/
public $template;
/**
* Variables for the incident template.
*
* @var string[]|null
*/
public $template_vars;
/**
* The validation rules.
*
* @var string[]
*/
public $rules = [
'name' => 'required|string',
'status' => 'required|int|min:0|max:4',
'message' => 'string',
'visible' => 'bool',
'component_id' => 'int',
'component_status' => 'int|min:1|max:4|required_with:component_id',
'notify' => 'bool',
'incident_date' => 'string',
'template' => 'string',
];
/**
* Create a new report incident command instance.
*
* @param string $name
* @param int $status
* @param string $message
* @param int $visible
* @param int $component_id
* @param int $component_status
* @param bool $notify
* @param string|null $incident_date
* @param string|null $template
* @param array|null $template_vars
*
* @return void
*/
public function __construct($name, $status, $message, $visible, $component_id, $component_status, $notify, $incident_date, $template, $template_vars)
{
$this->name = $name;
$this->status = $status;
$this->message = $message;
$this->visible = $visible;
$this->component_id = $component_id;
$this->component_status = $component_status;
$this->notify = $notify;
$this->incident_date = $incident_date;
$this->template = $template;
$this->template_vars = $template_vars;
}
}

View File

@@ -0,0 +1,73 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Incident;
final class ReportMaintenanceCommand
{
/**
* The maintenance name.
*
* @var string
*/
public $name;
/**
* The maintenance message.
*
* @var string
*/
public $message;
/**
* Whether to notify about the maintenance or not.
*
* @var bool
*/
public $notify;
/**
* Timestamp of when the maintenance is due to start.
*
* @var string
*/
public $timestamp;
/**
* The validation rules.
*
* @var string[]
*/
public $rules = [
'name' => 'required|string',
'message' => 'string',
'notify' => 'bool',
'timestamp' => 'string',
];
/**
* Create a new report maintenance command instance.
*
* @param string $name
* @param string $message
* @param bool $notify
* @param string $timestamp
*
* @return void
*/
public function __construct($name, $message, $notify, $timestamp)
{
$this->name = $name;
$this->message = $message;
$this->notify = $notify;
$this->timestamp = $timestamp;
}
}

View File

@@ -0,0 +1,142 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Incident;
use CachetHQ\Cachet\Models\Incident;
final class UpdateIncidentCommand
{
/**
* The incident to update.
*
* @var \CachetHQ\Cachet\Models\Incident
*/
public $incident;
/**
* The incident name.
*
* @var string
*/
public $name;
/**
* The incident status.
*
* @var int
*/
public $status;
/**
* The incident message.
*
* @var string
*/
public $message;
/**
* The incident visibility.
*
* @var int
*/
public $visible;
/**
* The incident component.
*
* @var int
*/
public $component_id;
/**
* The component status.
*
* @var int
*/
public $component_status;
/**
* Whether to notify about the incident or not.
*
* @var bool
*/
public $notify;
/**
* The date that the incident occurred on.
*
* @var string
*/
public $incident_date;
/**
* A given incident template.
*
* @var string|null
*/
public $template;
/**
* Variables for the incident template.
*
* @var string[]|null
*/
public $template_vars;
/**
* The validation rules.
*
* @var string[]
*/
public $rules = [
'name' => 'string',
'status' => 'int|min:0|max:4',
'message' => 'string',
'visible' => 'bool',
'component_id' => 'int',
'component_status' => 'int|min:1|max:4|required_with:component_id',
'notify' => 'bool',
'template' => 'string',
];
/**
* Create a new update incident command instance.
*
* @param \CachetHQ\Cachet\Models\Incident $name
* @param string $name
* @param int $status
* @param string $message
* @param int $visible
* @param int $component_id
* @param int $component_status
* @param bool $notify
* @param string|null $incident_date
* @param string|null $template
* @param array|null $template_vars
*
* @return void
*/
public function __construct(Incident $incident, $name, $status, $message, $visible, $component_id, $component_status, $notify, $incident_date, $template, $template_vars)
{
$this->incident = $incident;
$this->name = $name;
$this->status = $status;
$this->message = $message;
$this->visible = $visible;
$this->component_id = $component_id;
$this->component_status = $component_status;
$this->notify = $notify;
$this->incident_date = $incident_date;
$this->template = $template;
$this->template_vars = $template_vars;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Invite;
final class ClaimInviteCommand
{
/**
* The invte to mark as claimed.
*
* @var \CachetHQ\Cachet\Model\Invite
*/
public $invite;
/**
* Create a new claim invite command instance.
*
* @param \CachetHQ\Cachet\Model\Invite $invite
*
* @return void
*/
public function __construct($invite)
{
$this->invite = $invite;
}
}

View File

@@ -0,0 +1,104 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Metric;
final class AddMetricCommand
{
/**
* The metric name.
*
* @var string
*/
public $name;
/**
* The metric suffix.
*
* @var string
*/
public $suffix;
/**
* The metric description.
*
* @var string
*/
public $description;
/**
* The metric default value.
*
* @var float
*/
public $default_value;
/**
* The metric calculation type.
*
* @var int
*/
public $calc_type;
/**
* The metric display chart.
*
* @var int
*/
public $display_chart;
/**
* The metric decimal places.
*
* @var int
*/
public $places;
/**
* The validation rules.
*
* @var string[]
*/
public $rules = [
'name' => 'required|string',
'suffix' => 'required|string',
'description' => 'string',
'display_chart' => 'bool',
'default_value' => 'int',
'calc_type' => 'int',
'display_chart' => 'int',
'places' => 'int|between:0,4',
];
/**
* Create a new add metric command instance.
*
* @param string $name
* @param string $suffix
* @param string $description
* @param float $default_value
* @param int $calc_type
* @param int $display_chart
* @param int $places
*
* @return void
*/
public function __construct($name, $suffix, $description, $default_value, $calc_type, $display_chart, $places)
{
$this->name = $name;
$this->suffix = $suffix;
$this->description = $description;
$this->default_value = $default_value;
$this->calc_type = $calc_type;
$this->display_chart = $display_chart;
$this->places = $places;
}
}

View File

@@ -0,0 +1,64 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Metric;
use CachetHQ\Cachet\Models\Metric;
final class AddMetricPointCommand
{
/**
* The metric to add.
*
* @var \CachetHQ\Cachet\Models\Metric
*/
public $metric;
/**
* The metric point value.
*
* @var int
*/
public $value;
/**
* The metric point created at.
*
* @var string
*/
public $created_at;
/**
* The validation rules.
*
* @var string[]
*/
public $rules = [
'value' => 'int',
'created_at' => 'string',
];
/**
* Create a new add metric point command instance.
*
* @param \CachetHQ\Cachet\Models\Metric $metric
* @param int $value
* @param string $created_at
*
* @return void
*/
public function __construct(Metric $metric, $value, $created_at)
{
$this->metric = $metric;
$this->value = $value;
$this->created_at = $created_at;
}
}

View File

@@ -0,0 +1,36 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Metric;
use CachetHQ\Cachet\Models\Metric;
final class RemoveMetricCommand
{
/**
* The metric to remove.
*
* @var \CachetHQ\Cachet\Models\Metric
*/
public $metric;
/**
* Create a new remove metric command instance.
*
* @param \CachetHQ\Cachet\Models\Metric $metric
*
* @return void
*/
public function __construct(Metric $metric)
{
$this->metric = $metric;
}
}

View File

@@ -0,0 +1,36 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Metric;
use CachetHQ\Cachet\Models\MetricPoint;
final class RemoveMetricPointCommand
{
/**
* The metric point to remove.
*
* @var \CachetHQ\Cachet\Models\MetricPoint
*/
public $metricPoint;
/**
* Create a new remove metric point command instance.
*
* @param \CachetHQ\Cachet\Models\MetricPoint $metricPoint
*
* @return void
*/
public function __construct(MetricPoint $metricPoint)
{
$this->metricPoint = $metricPoint;
}
}

View File

@@ -0,0 +1,115 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Metric;
use CachetHQ\Cachet\Models\Metric;
final class UpdateMetricCommand
{
/**
* The metric.
*
* @var \CachetHQ\Cachet\Models\Metric
*/
public $metric;
/**
* The metric name.
*
* @var string
*/
public $name;
/**
* The metric suffix.
*
* @var string
*/
public $suffix;
/**
* The metric description.
*
* @var string
*/
public $description;
/**
* The metric default value.
*
* @var float
*/
public $default_value;
/**
* The metric calculation type.
*
* @var int
*/
public $calc_type;
/**
* The metric display chart.
*
* @var int
*/
public $display_chart;
/**
* The metric decimal places.
*
* @var int
*/
public $places;
/**
* The validation rules.
*
* @var string[]
*/
public $rules = [
'name' => 'string',
'suffix' => 'string',
'description' => 'string',
'display_chart' => 'bool',
'default_value' => 'numeric',
'calc_type' => 'int|in:0,1',
'display_chart' => 'int',
'places' => 'numeric|min:0|max:4',
];
/**
* Create a new update metric command instance.
*
* @param \CachetHQ\Cachet\Models\Metric $metric
* @param string $name
* @param string $suffix
* @param string $description
* @param float $default_value
* @param int $calc_type
* @param int $display_chart
* @param int $places
*
* @return void
*/
public function __construct(Metric $metric, $name, $suffix, $description, $default_value, $calc_type, $display_chart, $places)
{
$this->metric = $metric;
$this->name = $name;
$this->suffix = $suffix;
$this->description = $description;
$this->default_value = $default_value;
$this->calc_type = $calc_type;
$this->display_chart = $display_chart;
$this->places = $places;
}
}

View File

@@ -0,0 +1,74 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Metric;
use CachetHQ\Cachet\Models\Metric;
use CachetHQ\Cachet\Models\MetricPoint;
final class UpdateMetricPointCommand
{
/**
* The metric point.
*
* @var \CachetHQ\Cachet\Models\MetricPoint
*/
public $point;
/**
* The metric.
*
* @var \CachetHQ\Cachet\Models\Metric
*/
public $metric;
/**
* The metric point value.
*
* @var int
*/
public $value;
/**
* The metric point created at.
*
* @var string
*/
public $created_at;
/**
* The validation rules.
*
* @var string[]
*/
public $rules = [
'value' => 'int',
'created_at' => 'string',
];
/**
* Create a new update metric point command instance.
*
* @param \CachetHQ\Cachet\Models\MetricPoint $point
* @param \CachetHQ\Cachet\Models\Metric $metric
* @param int $value
* @param string $created_at
*
* @return void
*/
public function __construct(MetricPoint $point, Metric $metric, $value, $created_at)
{
$this->point = $point;
$this->metric = $metric;
$this->value = $value;
$this->created_at = $created_at;
}
}

View File

@@ -0,0 +1,52 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Subscriber;
final class SubscribeSubscriberCommand
{
/**
* The subscriber email.
*
* @var string
*/
public $email;
/**
* The subscriber auto verification.
*
* @var bool
*/
public $verified;
/**
* The validation rules.
*
* @var array
*/
public $rules = [
'email' => 'required|email',
];
/**
* Create a new subscribe subscriber command instance.
*
* @param string $email
* @param bool $verified
*
* @return void
*/
public function __construct($email, $verified = false)
{
$this->email = $email;
$this->verified = $verified;
}
}

View File

@@ -0,0 +1,36 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Subscriber;
use CachetHQ\Cachet\Models\Subscriber;
final class UnsubscribeSubscriberCommand
{
/**
* The subscriber to unsubscribe.
*
* @var \CachetHQ\Cachet\Models\Subscriber
*/
public $subscriber;
/**
* Create a unsubscribe subscriber command instance.
*
* @param string $subscriber
*
* @return void
*/
public function __construct(Subscriber $subscriber)
{
$this->subscriber = $subscriber;
}
}

View File

@@ -0,0 +1,36 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\Subscriber;
use CachetHQ\Cachet\Models\Subscriber;
final class VerifySubscriberCommand
{
/**
* The subscriber to verify.
*
* @var \CachetHQ\Cachet\Models\Subscriber
*/
public $subscriber;
/**
* Create a verify subscriber command instance.
*
* @param string $subscriber
*
* @return void
*/
public function __construct(Subscriber $subscriber)
{
$this->subscriber = $subscriber;
}
}

View File

@@ -0,0 +1,72 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\User;
final class AddTeamMemberCommand
{
/**
* The user username.
*
* @var string
*/
public $username;
/**
* The user password.
*
* @var string
*/
public $password;
/**
* The user email.
*
* @var string
*/
public $email;
/**
* The user level.
*
* @var int
*/
public $level;
/**
* The validation rules.
*
* @var string[]
*/
public $rules = [
'name' => 'required|string',
'password' => 'string',
'level' => 'int',
];
/**
* Create a new add team member command instance.
*
* @param string $username
* @param string $password
* @param string $email
* @param int $level
*
* @return void
*/
public function __construct($username, $password, $email, $level)
{
$this->username = $username;
$this->password = $password;
$this->email = $email;
$this->level = $level;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\User;
final class GenerateApiTokenCommand
{
/**
* The user to generate the token.
*
* @var \CachetHQ\Cachet\Models\User
*/
public $user;
/**
* Create a new generate api token command instance.
*
* @param \CachetHQ\Cachet\Models\User $user
*
* @return void
*/
public function __construct($user)
{
$this->user = $user;
}
}

View File

@@ -0,0 +1,43 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\User;
final class InviteTeamMemberCommand
{
/**
* The invte emails.
*
* @var string[]
*/
public $emails;
/**
* The validation rules.
*
* @var string[]
*/
public $rules = [
'emails' => 'required|array|email',
];
/**
* Create a new invite team member command instance.
*
* @param array $email
*
* @return void
*/
public function __construct($emails)
{
$this->emails = $emails;
}
}

View File

@@ -0,0 +1,36 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\User;
use CachetHQ\Cachet\Models\User;
final class RemoveUserCommand
{
/**
* The user to remove.
*
* @var \CachetHQ\Cachet\Models\User
*/
public $user;
/**
* Create a new remove user command instance.
*
* @param \CachetHQ\Cachet\Models\User $user
*
* @return void
*/
public function __construct(User $user)
{
$this->user = $user;
}
}

View File

@@ -0,0 +1,73 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Commands\User;
final class SignupUserCommand
{
/**
* The user username.
*
* @var string
*/
public $username;
/**
* The user password.
*
* @var string
*/
public $password;
/**
* The user email.
*
* @var string
*/
public $email;
/**
* The user level.
*
* @var int
*/
public $level;
/**
* The validation rules.
*
* @var string[]
*/
public $rules = [
'username' => 'required|string',
'password' => 'string',
'email' => 'required|string|email',
'level' => 'int',
];
/**
* Create a new signup user command instance.
*
* @param string $username
* @param string $password
* @param string $email
* @param int $level
*
* @return void
*/
public function __construct($username, $password, $email, $level)
{
$this->username = $username;
$this->password = $password;
$this->email = $email;
$this->level = $level;
}
}

View File

@@ -0,0 +1,46 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Composers;
use CachetHQ\Cachet\Facades\Setting;
use GrahamCampbell\Markdown\Facades\Markdown;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\Config;
class AppComposer
{
/**
* Index page view composer.
*
* @param \Illuminate\Contracts\View\View $view
*
* @return void
*/
public function compose(View $view)
{
$view->withAboutApp(Markdown::convertToHtml(Setting::get('app_about')));
$view->withAppAnalytics(Setting::get('app_analytics'));
$view->withAppAnalyticsGoSquared(Setting::get('app_analytics_gs'));
$view->withAppAnalyticsPiwikUrl(Setting::get('app_analytics_piwik_url'));
$view->withAppAnalyticsPiwikSiteId(Setting::get('app_analytics_piwik_siteid'));
$view->withAppBanner(Setting::get('app_banner'));
$view->withAppBannerStyleFullWidth(Setting::get('style_fullwidth_header'));
$view->withAppBannerType(Setting::get('app_banner_type'));
$view->withAppDomain(Setting::get('app_domain'));
$view->withAppGraphs(Setting::get('display_graphs'));
$view->withAppLocale(Setting::get('app_locale'));
$view->withAppName(Setting::get('app_name'));
$view->withAppStylesheet(Setting::get('stylesheet'));
$view->withAppUrl(Config::get('app.url'));
$view->withShowSupport(Setting::get('show_support'));
}
}

View File

@@ -0,0 +1,30 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Composers;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\Auth;
class CurrentUserComposer
{
/**
* Bind data to the view.
*
* @param \Illuminate\Contracts\View\View $view
*
* @return void
*/
public function compose(View $view)
{
$view->withCurrentUser(Auth::user());
}
}

View File

@@ -0,0 +1,32 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Composers;
use CachetHQ\Cachet\Models\Component;
use CachetHQ\Cachet\Models\Incident;
use Illuminate\Contracts\View\View;
class DashboardComposer
{
/**
* Bind data to the view.
*
* @param \Illuminate\Contracts\View\View $view
*
* @return void
*/
public function compose(View $view)
{
$view->withIncidentCount(Incident::notScheduled()->count());
$view->withComponentCount(Component::all()->count());
}
}

View File

@@ -0,0 +1,65 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Composers;
use CachetHQ\Cachet\Facades\Setting;
use CachetHQ\Cachet\Models\Metric;
use CachetHQ\Cachet\Repositories\Metric\MetricRepository;
use Illuminate\Contracts\View\View;
class MetricsComposer
{
/**
* @var \CachetHQ\Cachet\Repositories\Metric\MetricRepository
*/
protected $metricRepository;
/**
* Construct a new home controller instance.
*
* @param \CachetHQ\Cachet\Repositories\Metric\MetricRepository $metricRepository
*
* @return void
*/
public function __construct(MetricRepository $metricRepository)
{
$this->metricRepository = $metricRepository;
}
/**
* Metrics view composer.
*
* @param \Illuminate\Contracts\View\View $view
*
* @return void
*/
public function compose(View $view)
{
$metrics = null;
$metricData = [];
if ($displayMetrics = Setting::get('display_graphs')) {
$metrics = Metric::where('display_chart', 1)->get();
$metrics->map(function ($metric) use (&$metricData) {
$metricData[$metric->id] = [
'today' => $this->metricRepository->listPointsToday($metric),
'week' => $this->metricRepository->listPointsForWeek($metric),
'month' => $this->metricRepository->listPointsForMonth($metric),
];
});
}
$view->withDisplayMetrics($displayMetrics)
->withMetrics($metrics)
->withMetricData($metricData);
}
}

View File

@@ -0,0 +1,68 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Composers;
use CachetHQ\Cachet\Models\Component;
use CachetHQ\Cachet\Models\ComponentGroup;
use CachetHQ\Cachet\Models\Incident;
use Illuminate\Contracts\View\View;
class StatusPageComposer
{
/**
* Index page view composer.
*
* @param \Illuminate\Contracts\View\View $view
*
* @return void
*/
public function compose(View $view)
{
// Default data
$withData = [
'systemStatus' => 'info',
'systemMessage' => trans('cachet.service.bad'),
'favicon' => 'favicon-high-alert',
];
if (Component::enabled()->notStatus(1)->count() === 0) {
// If all our components are ok, do we have any non-fixed incidents?
$incidents = Incident::notScheduled()->orderBy('created_at', 'desc')->get();
$incidentCount = $incidents->count();
if ($incidentCount === 0 || ($incidentCount >= 1 && (int) $incidents->first()->status === 4)) {
$withData = [
'systemStatus' => 'success',
'systemMessage' => trans('cachet.service.good'),
'favicon' => 'favicon',
];
}
} else {
if (Component::enabled()->whereIn('status', [2, 3])->count() > 0) {
$withData['favicon'] = 'favicon-medium-alert';
}
}
// Scheduled maintenance code.
$scheduledMaintenance = Incident::scheduled()->orderBy('scheduled_at')->get();
// Component & Component Group lists.
$usedComponentGroups = Component::enabled()->where('group_id', '>', 0)->groupBy('group_id')->lists('group_id');
$componentGroups = ComponentGroup::whereIn('id', $usedComponentGroups)->orderBy('order')->get();
$ungroupedComponents = Component::enabled()->where('group_id', 0)->orderBy('order')->orderBy('created_at')->get();
$view->with($withData)
->withComponentGroups($componentGroups)
->withUngroupedComponents($ungroupedComponents)
->withScheduledMaintenance($scheduledMaintenance);
}
}

View File

@@ -0,0 +1,42 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Composers;
use CachetHQ\Cachet\Facades\Setting;
use Illuminate\Contracts\View\View;
class ThemeComposer
{
/**
* Bind data to the view.
*
* @param \Illuminate\Contracts\View\View $view
*
* @return void
*/
public function compose(View $view)
{
// Theme colors.
$view->withThemeBackgroundColor(Setting::get('style_background_color', '#F0F3F4'));
$view->withThemeBackgroundFills(Setting::get('style_background_fills', '#FFFFFF'));
$view->withThemeBannerBackgroundColor(Setting::get('style_banner_background_color', ''));
$view->withThemeBannerPadding(Setting::get('style_banner_padding', '40px 0'));
$view->withThemeTextColor(Setting::get('style_text_color', '#333333'));
$view->withThemeReds(Setting::get('style_reds', '#ff6f6f'));
$view->withThemeBlues(Setting::get('style_blues', '#3498db'));
$view->withThemeGreens(Setting::get('style_greens', '#7ED321'));
$view->withThemeYellows(Setting::get('style_yellows', '#F7CA18'));
$view->withThemeOranges(Setting::get('style_oranges', '#FF8800'));
$view->withThemeMetrics(Setting::get('style_metrics', '#0dccc0'));
$view->withThemeLinks(Setting::get('style_links', '#7ED321'));
}
}

View File

@@ -1,18 +1,27 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Composers;
use DateTime;
use DateTimeZone;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\Config;
use Illuminate\View\View;
class TimezoneLocaleComposer
{
/**
* Timezones and Locales composer.
*
* @param \Illuminate\View\View $view
* @param \Illuminate\Contracts\View\View $view
*
* @return void
*/
@@ -24,7 +33,7 @@ class TimezoneLocaleComposer
$locale = basename($lang);
return [$locale => $enabledLangs[$locale]];
}, glob(app_path('lang').'/*'));
}, glob(base_path('resources/lang').'/*'));
$langs = call_user_func_array('array_merge', $langs);
@@ -38,6 +47,7 @@ class TimezoneLocaleComposer
'Europe' => DateTimeZone::EUROPE,
'Indian' => DateTimeZone::INDIAN,
'Pacific' => DateTimeZone::PACIFIC,
'UTC' => DateTimeZone::UTC,
];
$timezones = [];
@@ -58,9 +68,7 @@ class TimezoneLocaleComposer
}
}
$view->with([
'timezones' => $timezones,
'langs' => $langs,
]);
$view->withTimezones($timezones);
$view->withLangs($langs);
}
}

View File

@@ -1,5 +1,14 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Config;
use CachetHQ\Cachet\Models\Setting;
@@ -35,27 +44,24 @@ class Repository
/**
* Returns a setting from the database.
*
* @param string $name
* @param bool $checkEnv
* @param string $name
* @param string|null $default
*
* @return string|null
*/
public function get($name, $checkEnv = true)
public function get($name, $default = null)
{
// if we've not loaded the settings, load them now
if (!$this->settings) {
$this->settings = $this->model->all()->lists('value', 'name');
}
// if the setting exists, return it
if (isset($this->settings[$name])) {
// if the setting exists and is not blank, return it
if (!empty($this->settings[$name])) {
return $this->settings[$name];
}
// fallback to getenv if allowed to
if ($checkEnv) {
return $this->settings[$name] = getenv(strtoupper($name));
}
return $default;
}
/**

View File

@@ -0,0 +1,93 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Console\Commands;
use CachetHQ\Cachet\Models\MetricPoint;
use DateInterval;
use DateTime;
use Illuminate\Console\Command;
use Illuminate\Console\ConfirmableTrait;
use Symfony\Component\Console\Input\InputOption;
/**
* This is the demo seeder of metric points command.
*
* @author James Brooks <james@alt-three.com>
*/
class DemoMetricPointSeederCommand extends Command
{
use ConfirmableTrait;
/**
* The console command name.
*
* @var string
*/
protected $name = 'cachet:metrics';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Seeds the demo Cachet metric with points.';
/**
* Execute the console command.
*
* @return void
*/
public function fire()
{
if (!$this->confirmToProceed()) {
return;
}
$this->seedMetricPoints();
$this->info('Demo metric seeded with demo data successfully!');
}
/**
* Seed the metric points table.
*
* @return void
*/
protected function seedMetricPoints()
{
MetricPoint::truncate();
// Generate 11 hours of metric points
for ($i = 0; $i < 11; $i++) {
$metricTime = (new DateTime())->sub(new DateInterval('PT'.$i.'H'));
MetricPoint::create([
'metric_id' => 1,
'value' => random_int(1, 10),
'created_at' => $metricTime,
'updated_at' => $metricTime,
]);
}
}
/**
* Get the console command options.
*
* @return array
*/
protected function getOptions()
{
return [
['force', null, InputOption::VALUE_NONE, 'Force the operation to run when in production.'],
];
}
}

View File

@@ -0,0 +1,343 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Console\Commands;
use CachetHQ\Cachet\Models\Component;
use CachetHQ\Cachet\Models\ComponentGroup;
use CachetHQ\Cachet\Models\Incident;
use CachetHQ\Cachet\Models\Metric;
use CachetHQ\Cachet\Models\MetricPoint;
use CachetHQ\Cachet\Models\Setting;
use CachetHQ\Cachet\Models\Subscriber;
use CachetHQ\Cachet\Models\User;
use DateInterval;
use DateTime;
use Illuminate\Console\Command;
use Illuminate\Console\ConfirmableTrait;
use Symfony\Component\Console\Input\InputOption;
/**
* This is the demo seeder command.
*
* @author James Brooks <james@alt-three.com>
*/
class DemoSeederCommand extends Command
{
use ConfirmableTrait;
/**
* The console command name.
*
* @var string
*/
protected $name = 'cachet:seed';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Seeds Cachet with demo data.';
/**
* Execute the console command.
*
* @return void
*/
public function fire()
{
if (!$this->confirmToProceed()) {
return;
}
$this->seedComponentGroups();
$this->seedComponents();
$this->seedIncidents();
$this->seedMetricPoints();
$this->seedMetrics();
$this->seedSettings();
$this->seedSubscribers();
$this->seedUsers();
$this->info('Database seeded with demo data successfully!');
}
/**
* Seed the component groups table.
*
* @return void
*/
protected function seedComponentGroups()
{
$defaultGroups = [
[
'name' => 'Websites',
'order' => 1,
],
];
ComponentGroup::truncate();
foreach ($defaultGroups as $group) {
ComponentGroup::create($group);
}
}
/**
* Seed the components table.
*
* @return void
*/
protected function seedComponents()
{
$defaultComponents = [
[
'name' => 'API',
'description' => 'Used by third-parties to connect to us',
'status' => 1,
'order' => 0,
'group_id' => 0,
'link' => '',
], [
'name' => 'Documentation',
'description' => 'Kindly powered by Readme.io',
'status' => 1,
'order' => 0,
'group_id' => 1,
'link' => 'https://docs.cachethq.io',
], [
'name' => 'Website',
'description' => '',
'status' => 1,
'order' => 0,
'group_id' => 1,
'link' => 'https://cachethq.io',
], [
'name' => 'Blog',
'description' => 'The Cachet Blog.',
'status' => 1,
'order' => 0,
'group_id' => 1,
'link' => 'https://blog.cachethq.io',
],
];
Component::truncate();
foreach ($defaultComponents as $component) {
Component::create($component);
}
}
/**
* Seed the incidents table.
*
* @return void
*/
protected function seedIncidents()
{
$defaultIncidents = [
[
'name' => 'Awesome',
'message' => ':+1: We totally nailed the fix.',
'status' => 4,
'component_id' => 0,
'scheduled_at' => null,
'visible' => 1,
],
[
'name' => 'Monitoring the fix',
'message' => ":ship: We've deployed a fix.",
'status' => 3,
'component_id' => 0,
'scheduled_at' => null,
'visible' => 1,
],
[
'name' => 'Update',
'message' => "We've identified the problem. Our engineers are currently looking at it.",
'status' => 2,
'component_id' => 0,
'scheduled_at' => null,
'visible' => 1,
],
[
'name' => 'Test Incident',
'message' => 'Something went wrong, with something or another.',
'status' => 1,
'component_id' => 0,
'scheduled_at' => null,
'visible' => 1,
],
[
'name' => 'Investigating the API',
'message' => ':zap: We\'ve seen high response times from our API. It looks to be fixing itself as time goes on.',
'status' => 1,
'component_id' => 1,
'scheduled_at' => null,
'visible' => 1,
],
];
Incident::truncate();
foreach ($defaultIncidents as $incident) {
Incident::create($incident);
}
}
/**
* Seed the metric points table.
*
* @return void
*/
protected function seedMetricPoints()
{
MetricPoint::truncate();
// Generate 11 hours of metric points
for ($i = 0; $i < 11; $i++) {
$metricTime = (new DateTime())->sub(new DateInterval('PT'.$i.'H'));
MetricPoint::create([
'metric_id' => 1,
'value' => random_int(1, 10),
'created_at' => $metricTime,
'updated_at' => $metricTime,
]);
}
}
/**
* Seed the metrics table.
*
* @return void
*/
protected function seedMetrics()
{
$defaultMetrics = [
[
'name' => 'Cups of coffee',
'suffix' => 'Cups',
'description' => 'How many cups of coffee we\'ve drank.',
'default_value' => 0,
'calc_type' => 1,
'display_chart' => 1,
],
];
Metric::truncate();
foreach ($defaultMetrics as $metric) {
Metric::create($metric);
}
}
/**
* Seed the settings table.
*
* @return void
*/
protected function seedSettings()
{
$defaultSettings = [
[
'name' => 'app_name',
'value' => 'Cachet Demo',
],
[
'name' => 'app_domain',
'value' => 'https://demo.cachethq.io',
],
[
'name' => 'show_support',
'value' => '1',
],
[
'name' => 'app_locale',
'value' => 'en',
],
[
'name' => 'app_timezone',
'value' => 'Europe/London',
],
[
'name' => 'app_incident_days',
'value' => '7',
],
[
'name' => 'app_analytics',
'value' => 'UA-58442674-3',
],
[
'name' => 'app_analytics_gs',
'value' => 'GSN-712462-P',
],
[
'name' => 'display_graphs',
'value' => '1',
],
];
Setting::truncate();
foreach ($defaultSettings as $setting) {
Setting::create($setting);
}
}
/**
* Seed the subscribers.
*
* @return void
*/
protected function seedSubscribers()
{
Subscriber::truncate();
}
/**
* Seed the users table.
*
* @return void
*/
protected function seedUsers()
{
$users = [
[
'username' => 'test',
'password' => 'test123',
'email' => 'test@test.com',
'level' => 1,
'api_key' => '9yMHsdioQosnyVK4iCVR',
],
];
User::truncate();
foreach ($users as $user) {
User::create($user);
}
}
/**
* Get the console command options.
*
* @return array
*/
protected function getOptions()
{
return [
['force', null, InputOption::VALUE_NONE, 'Force the operation to run when in production.'],
];
}
}

42
app/Console/Kernel.php Normal file
View File

@@ -0,0 +1,42 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Console;
use CachetHQ\Cachet\Console\Commands\DemoMetricPointSeederCommand;
use CachetHQ\Cachet\Console\Commands\DemoSeederCommand;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
DemoMetricPointSeederCommand::class,
DemoSeederCommand::class,
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
*
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command('queue:work --sleep=3 --tries=3')->everyMinute();
}
}

77
app/Dates/DateFactory.php Normal file
View File

@@ -0,0 +1,77 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Dates;
use Jenssegers\Date\Date;
class DateFactory
{
/**
* The application timezone.
*
* @var string
*/
protected $appTimezone;
/**
* The cachet timezone.
*
* @var string
*/
protected $cachetTimezone;
/**
* Create a new date factory instance.
*
* @param string $appTimezone
* @param string $cachetTimezone
*
* @return void
*/
public function __construct($appTimezone, $cachetTimezone)
{
$this->appTimezone = $appTimezone;
$this->cachetTimezone = $cachetTimezone;
}
/**
* Create a Carbon instance from a specific format.
*
* @param string $format
* @param string $time
*
* @throws \InvalidArgumentException
*
* @return \Carbon\Carbon
*/
public function create($format, $time)
{
return Date::createFromFormat($format, $time, $this->cachetTimezone)->setTimezone($this->appTimezone);
}
/**
* Create a Carbon instance from a specific format.
*
* We're also going to make sure the timezone information is correct.
*
* @param string $format
* @param string $time
*
* @throws \InvalidArgumentException
*
* @return \Carbon\Carbon
*/
public function createNormalized($format, $time)
{
return $this->create($format, $time)->setTimezone($this->appTimezone);
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Component;
use CachetHQ\Cachet\Models\Component;
class ComponentWasAddedEvent
{
/**
* The component that was added.
*
* @var \CachetHQ\Cachet\Models\Component
*/
public $component;
/**
* Create a new component was added event instance.
*
* @return void
*/
public function __construct(Component $component)
{
$this->component = $component;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Component;
use CachetHQ\Cachet\Models\Component;
class ComponentWasRemovedEvent
{
/**
* The component that was removed.
*
* @var \CachetHQ\Cachet\Models\Component
*/
public $component;
/**
* Create a new component was removed event instance.
*
* @return void
*/
public function __construct(Component $component)
{
$this->component = $component;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Component;
use CachetHQ\Cachet\Models\Component;
class ComponentWasUpdatedEvent
{
/**
* The component that was updated.
*
* @var \CachetHQ\Cachet\Models\Component
*/
public $component;
/**
* Create a new component was updated event instance.
*
* @return void
*/
public function __construct(Component $component)
{
$this->component = $component;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\ComponentGroup;
use CachetHQ\Cachet\Models\ComponentGroup;
class ComponentGroupWasAddedEvent
{
/**
* The component group that was added.
*
* @var \CachetHQ\Cachet\Models\ComponentGroup
*/
public $group;
/**
* Create a new component group was added event instance.
*
* @return void
*/
public function __construct(ComponentGroup $group)
{
$this->group = $group;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\ComponentGroup;
use CachetHQ\Cachet\Models\ComponentGroup;
class ComponentGroupWasRemovedEvent
{
/**
* The component group that was removed.
*
* @var \CachetHQ\Cachet\Models\ComponentGroup
*/
public $group;
/**
* Create a new component group was removed event instance.
*
* @return void
*/
public function __construct(ComponentGroup $group)
{
$this->group = $group;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\ComponentGroup;
use CachetHQ\Cachet\Models\ComponentGroup;
class ComponentGroupWasUpdatedEvent
{
/**
* The component group that was updated.
*
* @var \CachetHQ\Cachet\Models\ComponentGroup
*/
public $group;
/**
* Create a new component group was updated event instance.
*
* @return void
*/
public function __construct(ComponentGroup $group)
{
$this->group = $group;
}
}

View File

@@ -0,0 +1,32 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Incident;
use CachetHQ\Cachet\Models\Incident;
class IncidentWasRemovedEvent
{
/**
* The incident that has been removed.
*
* @var \CachetHQ\Cachet\Models\Incident
*/
public $incident;
/**
* Create a new incident was removed event instance.
*/
public function __construct(Incident $incident)
{
$this->incident = $incident;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Incident;
use CachetHQ\Cachet\Models\Incident;
class IncidentWasReportedEvent
{
/**
* The incident that has been reported.
*
* @var \CachetHQ\Cachet\Models\Incident
*/
public $incident;
/**
* Create a new incident has reported event instance.
*
* @return void
*/
public function __construct(Incident $incident)
{
$this->incident = $incident;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Incident;
use CachetHQ\Cachet\Models\Incident;
class IncidentWasUpdatedEvent
{
/**
* The incident that has been updated.
*
* @var \CachetHQ\Cachet\Models\Incident
*/
public $incident;
/**
* Create a new incident has updated event instance.
*
* @return void
*/
public function __construct(Incident $incident)
{
$this->incident = $incident;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Incident;
use CachetHQ\Cachet\Models\Incident;
class MaintenanceWasScheduledEvent
{
/**
* The incident that has been reported.
*
* @var \CachetHQ\Cachet\Models\Incident
*/
public $incident;
/**
* Create a new maintenance has scheduled event instance.
*
* @return void
*/
public function __construct(Incident $incident)
{
$this->incident = $incident;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Invite;
use CachetHQ\Cachet\Models\Invite;
final class InviteWasClaimed
{
/**
* The invite that has been claimed.
*
* @var \CachetHQ\Cachet\Models\Invite
*/
public $invite;
/**
* Create a new invite was claimed event instance.
*
* @return void
*/
public function __construct(Invite $invite)
{
$this->invite = $invite;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Metric;
use CachetHQ\Cachet\Models\MetricPoint;
class MetricPointWasAddedEvent
{
/**
* The metric point that was added.
*
* @var \CachetHQ\Cachet\Models\MetricPoint
*/
public $metric;
/**
* Create a new metric point was added event instance.
*
* @return void
*/
public function __construct(MetricPoint $metric)
{
$this->metric = $metric;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Metric;
use CachetHQ\Cachet\Models\MetricPoint;
class MetricPointWasRemovedEvent
{
/**
* The metric point that was removed.
*
* @var \CachetHQ\Cachet\Models\MetricPoint
*/
public $metricPoint;
/**
* Create a new metric point was removed event instance.
*
* @return void
*/
public function __construct(MetricPoint $metricPoint)
{
$this->metricPoint = $metricPoint;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Metric;
use CachetHQ\Cachet\Models\MetricPoint;
class MetricPointWasUpdatedEvent
{
/**
* The metric point that was updated.
*
* @var \CachetHQ\Cachet\Models\MetricPoint
*/
public $point;
/**
* Create a new metric point was updated event instance.
*
* @return void
*/
public function __construct(MetricPoint $point)
{
$this->point = $point;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Metric;
use CachetHQ\Cachet\Models\Metric;
class MetricWasAddedEvent
{
/**
* The metric that was added.
*
* @var \CachetHQ\Cachet\Models\Metric
*/
public $metric;
/**
* Create a new metric was added event instance.
*
* @return void
*/
public function __construct(Metric $metric)
{
$this->metric = $metric;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Metric;
use CachetHQ\Cachet\Models\Metric;
class MetricWasRemovedEvent
{
/**
* The metric that was removed.
*
* @var \CachetHQ\Cachet\Models\Metric
*/
public $metric;
/**
* Create a new metric was removed event instance.
*
* @return void
*/
public function __construct(Metric $metric)
{
$this->metric = $metric;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Metric;
use CachetHQ\Cachet\Models\Metric;
class MetricWasUpdatedEvent
{
/**
* The metric that was updated.
*
* @var \CachetHQ\Cachet\Models\MetricPoint
*/
public $metric;
/**
* Create a new metric was updated event instance.
*
* @return void
*/
public function __construct(Metric $metric)
{
$this->metric = $metric;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Subscriber;
use CachetHQ\Cachet\Models\Subscriber;
class SubscriberHasSubscribedEvent
{
/**
* The subscriber who has subscribed.
*
* @var \CachetHQ\Cachet\Models\Subscriber
*/
public $subscriber;
/**
* Create a new subscriber has subscribed event instance.
*
* @return void
*/
public function __construct(Subscriber $subscriber)
{
$this->subscriber = $subscriber;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Subscriber;
use CachetHQ\Cachet\Models\Subscriber;
class SubscriberHasUnsubscribedEvent
{
/**
* The subscriber who has unsubscribed.
*
* @var \CachetHQ\Cachet\Models\Subscriber
*/
public $subscriber;
/**
* Create a new subscriber has unsubscribed event instance.
*
* @return void
*/
public function __construct(Subscriber $subscriber)
{
$this->subscriber = $subscriber;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\Subscriber;
use CachetHQ\Cachet\Models\Subscriber;
class SubscriberHasVerifiedEvent
{
/**
* The subscriber who has verified.
*
* @var \CachetHQ\Cachet\Models\Subscriber
*/
public $subscriber;
/**
* Create a new subscriber has subscribed event instance.
*
* @return void
*/
public function __construct(Subscriber $subscriber)
{
$this->subscriber = $subscriber;
}
}

View File

@@ -0,0 +1,17 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\User;
interface UserEventInterface
{
//
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\User;
use CachetHQ\Cachet\Models\User;
final class UserWasAddedEvent implements UserEventInterface
{
/**
* The user that has been added.
*
* @var \CachetHQ\Cachet\Models\User
*/
public $user;
/**
* Create a new user was added event instance.
*
* @return void
*/
public function __construct(User $user)
{
$this->user = $user;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\User;
use CachetHQ\Cachet\Models\Invite;
final class UserWasInvitedEvent
{
/**
* The invite that has been added.
*
* @var \CachetHQ\Cachet\Models\Invite
*/
public $invite;
/**
* Create a new user was invite event instance.
*
* @return void
*/
public function __construct(Invite $invite)
{
$this->invite = $invite;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Events\User;
use CachetHQ\Cachet\Models\User;
final class UserWasRemovedEvent implements UserEventInterface
{
/**
* The user that has been removed.
*
* @var \CachetHQ\Cachet\Models\User
*/
public $user;
/**
* Create a new user was removed event instance.
*
* @return void
*/
public function __construct(User $user)
{
$this->user = $user;
}
}

View File

@@ -0,0 +1,54 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Exceptions\Displayers;
use AltThree\Validator\ValidationException;
use Exception;
use GrahamCampbell\Exceptions\Displayers\DisplayerInterface;
use GrahamCampbell\Exceptions\Displayers\JsonDisplayer;
use Symfony\Component\HttpFoundation\JsonResponse;
class JsonValidationDisplayer extends JsonDisplayer implements DisplayerInterface
{
/**
* Get the error response associated with the given exception.
*
* @param \Exception $exception
* @param string $id
* @param int $code
* @param string[] $headers
*
* @return \Symfony\Component\HttpFoundation\Response
*/
public function display(Exception $exception, $id, $code, array $headers)
{
$info = $this->info->generate($exception, $id, 400);
$error = ['id' => $id, 'status' => $info['code'], 'title' => $info['name'], 'detail' => $info['detail'], 'meta' => ['details' => $exception->getMessageBag()->all()]];
return new JsonResponse(['errors' => [$error]], 400, array_merge($headers, ['Content-Type' => $this->contentType()]));
}
/**
* Can we display the exception?
*
* @param \Exception $original
* @param \Exception $transformed
* @param int $code
*
* @return bool
*/
public function canDisplay(Exception $original, Exception $transformed, $code)
{
return $transformed instanceof ValidationException;
}
}

View File

@@ -0,0 +1,90 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Exceptions\Displayers;
use Exception;
use GrahamCampbell\Exceptions\Displayers\DisplayerInterface;
use Illuminate\Http\Request;
use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface;
class RedirectDisplayer implements DisplayerInterface
{
/**
* The request instance.
*
* @var \Illuminate\Http\Request
*/
protected $request;
/**
* Create a new redirect displayer instance.
*
* @param \Illuminate\Http\Request $request
*
* @return void
*/
public function __construct(Request $request)
{
$this->request = $request;
}
/**
* Get the error response associated with the given exception.
*
* @param \Exception $exception
* @param string $id
* @param int $code
* @param string[] $headers
*
* @return \Symfony\Component\HttpFoundation\Response
*/
public function display(Exception $exception, $id, $code, array $headers)
{
return redirect()->guest('auth/login');
}
/**
* Get the supported content type.
*
* @return string
*/
public function contentType()
{
return 'text/html';
}
/**
* Can we display the exception?
*
* @param \Exception $original
* @param \Exception $transformed
* @param int $code
*
* @return bool
*/
public function canDisplay(Exception $original, Exception $transformed, $code)
{
$redirect = $transformed instanceof HttpExceptionInterface && $transformed->getStatusCode() === 401;
return $redirect && !$this->request->is('api*');
}
/**
* Do we provide verbose information about the exception?
*
* @return bool
*/
public function isVerbose()
{
return false;
}
}

View File

@@ -0,0 +1,60 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Exceptions\Filters;
use Exception;
use Illuminate\Http\Request;
class ApiFilter
{
/**
* The request instance.
*
* @var \Illuminate\Http\Request
*/
protected $request;
/**
* Create a new api filter instance.
*
* @param \Illuminate\Http\Request $request
*
* @return void
*/
public function __construct(Request $request)
{
$this->request = $request;
}
/**
* Filter and return the displayers.
*
* @param \GrahamCampbell\Exceptions\Displayers\DisplayerInterface[] $displayers
* @param \Exception $original
* @param \Exception $transformed
* @param int $code
*
* @return \GrahamCampbell\Exceptions\Displayers\DisplayerInterface[]
*/
public function filter(array $displayers, Exception $original, Exception $transformed, $code)
{
if ($this->request->is('api*')) {
foreach ($displayers as $index => $displayer) {
if (!str_contains($displayer->contentType(), 'application/')) {
unset($displayers[$index]);
}
}
}
return array_values($displayers);
}
}

View File

@@ -0,0 +1,41 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Exceptions\Transformers;
use Exception;
use GrahamCampbell\Exceptions\Transformers\TransformerInterface;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
/**
* This is the model not found transformer class.
*
* @author Graham Campbell <graham@alt-three.com>
*/
class ModelNotFoundTransformer implements TransformerInterface
{
/**
* Transform the provided exception.
*
* @param \Exception $exception
*
* @return \Exception
*/
public function transform(Exception $exception)
{
if ($exception instanceof ModelNotFoundException) {
$exception = new NotFoundHttpException('Resource not found');
}
return $exception;
}
}

View File

@@ -1,5 +1,14 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Facades;
use Illuminate\Support\Facades\Facade;

View File

@@ -0,0 +1,59 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\Component;
use CachetHQ\Cachet\Commands\Component\AddComponentCommand;
use CachetHQ\Cachet\Events\Component\ComponentWasAddedEvent;
use CachetHQ\Cachet\Models\Component;
class AddComponentCommandHandler
{
/**
* Handle the add component command.
*
* @param \CachetHQ\Cachet\Commands\Component\AddComponentCommand $command
*
* @return \CachetHQ\Cachet\Models\Component
*/
public function handle(AddComponentCommand $command)
{
$component = Component::create($this->filter($command));
event(new ComponentWasAddedEvent($component));
return $component;
}
/**
* Filter the command data.
*
* @param \CachetHQ\Cachet\Commands\Incident\AddComponentCommand $command
*
* @return array
*/
protected function filter(AddComponentCommand $command)
{
$params = [
'name' => $command->name,
'description' => $command->description,
'link' => $command->link,
'status' => $command->status,
'enabled' => $command->enabled,
'order' => $command->order,
'group_id' => $command->group_id,
];
return array_filter($params, function ($val) {
return $val !== null;
});
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\Component;
use CachetHQ\Cachet\Commands\Component\RemoveComponentCommand;
use CachetHQ\Cachet\Events\Component\ComponentWasRemovedEvent;
class RemoveComponentCommandHandler
{
/**
* Handle the remove component command.
*
* @param \CachetHQ\Cachet\Commands\Component\RemoveComponentCommand $command
*
* @return void
*/
public function handle(RemoveComponentCommand $command)
{
$component = $command->component;
event(new ComponentWasRemovedEvent($component));
$component->delete();
}
}

View File

@@ -0,0 +1,61 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\Component;
use CachetHQ\Cachet\Commands\Component\UpdateComponentCommand;
use CachetHQ\Cachet\Events\Component\ComponentWasUpdatedEvent;
use CachetHQ\Cachet\Models\Component;
class UpdateComponentCommandHandler
{
/**
* Handle the update component command.
*
* @param \CachetHQ\Cachet\Commands\Component\UpdateComponentCommand $command
*
* @return \CachetHQ\Cachet\Models\Component
*/
public function handle(UpdateComponentCommand $command)
{
$component = $command->component;
$component->update($this->filter($command));
event(new ComponentWasUpdatedEvent($component));
return $component;
}
/**
* Filter the command data.
*
* @param \CachetHQ\Cachet\Commands\Incident\UpdateComponentCommand $command
*
* @return array
*/
protected function filter(UpdateComponentCommand $command)
{
$params = [
'name' => $command->name,
'description' => $command->description,
'link' => $command->link,
'status' => $command->status,
'enabled' => $command->enabled,
'order' => $command->order,
'group_id' => $command->group_id,
];
return array_filter($params, function ($val) {
return $val !== null;
});
}
}

View File

@@ -0,0 +1,38 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\ComponentGroup;
use CachetHQ\Cachet\Commands\ComponentGroup\AddComponentGroupCommand;
use CachetHQ\Cachet\Events\ComponentGroup\ComponentGroupWasAddedEvent;
use CachetHQ\Cachet\Models\ComponentGroup;
class AddComponentGroupCommandHandler
{
/**
* Handle the add component group command.
*
* @param \CachetHQ\Cachet\Commands\ComponentGroup\AddComponentGroupCommand $command
*
* @return \CachetHQ\Cachet\Models\ComponentGroup
*/
public function handle(AddComponentGroupCommand $command)
{
$group = ComponentGroup::create([
'name' => $command->name,
'order' => $command->order,
]);
event(new ComponentGroupWasAddedEvent($group));
return $group;
}
}

View File

@@ -0,0 +1,39 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\ComponentGroup;
use CachetHQ\Cachet\Commands\ComponentGroup\RemoveComponentGroupCommand;
use CachetHQ\Cachet\Events\ComponentGroup\ComponentGroupWasRemovedEvent;
class RemoveComponentGroupCommandHandler
{
/**
* Handle the remove component group command.
*
* @param \CachetHQ\Cachet\Commands\ComponentGroup\RemoveComponentGroupCommand $command
*
* @return void
*/
public function handle(RemoveComponentGroupCommand $command)
{
$group = $command->group;
event(new ComponentGroupWasRemovedEvent($group));
// Remove the group id from all component.
$group->components->map(function ($component) {
$component->update(['group_id' => 0]);
});
$group->delete();
}
}

View File

@@ -0,0 +1,38 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\ComponentGroup;
use CachetHQ\Cachet\Commands\ComponentGroup\UpdateComponentGroupCommand;
use CachetHQ\Cachet\Events\ComponentGroup\ComponentGroupWasUpdatedEvent;
class UpdateComponentGroupCommandHandler
{
/**
* Handle the update component group command.
*
* @param \CachetHQ\Cachet\Commands\ComponentGroup\UpdateComponentGroupCommand $command
*
* @return \CachetHQ\Cachet\Models\ComponentGroup
*/
public function handle(UpdateComponentGroupCommand $command)
{
$group = $command->group;
$group->update([
'name' => $command->name,
'order' => $command->order,
]);
event(new ComponentGroupWasUpdatedEvent($group));
return $group;
}
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\Incident;
use CachetHQ\Cachet\Commands\Incident\RemoveIncidentCommand;
use CachetHQ\Cachet\Events\Incident\IncidentWasRemovedEvent;
class RemoveIncidentCommandHandler
{
/**
* Handle the remove incident command.
*
* @param \CachetHQ\Cachet\Commands\Incident\RemoveIncidentCommand $command
*
* @return void
*/
public function handle(RemoveIncidentCommand $command)
{
$incident = $command->incident;
event(new IncidentWasRemovedEvent($incident));
$incident->delete();
}
}

View File

@@ -0,0 +1,109 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\Incident;
use CachetHQ\Cachet\Commands\Incident\ReportIncidentCommand;
use CachetHQ\Cachet\Dates\DateFactory;
use CachetHQ\Cachet\Events\Incident\IncidentWasReportedEvent;
use CachetHQ\Cachet\Models\Component;
use CachetHQ\Cachet\Models\Incident;
use CachetHQ\Cachet\Models\IncidentTemplate;
use Twig_Loader_String;
use TwigBridge\Facade\Twig;
class ReportIncidentCommandHandler
{
/**
* The date factory instance.
*
* @var \CachetHQ\Cachet\Dates\DateFactory
*/
protected $dates;
/**
* Create a new report incident command handler instance.
*
* @param \CachetHQ\Cachet\Dates\DateFactory $dates
*
* @return void
*/
public function __construct(DateFactory $dates)
{
$this->dates = $dates;
}
/**
* Handle the report incident command.
*
* @param \CachetHQ\Cachet\Commands\Incident\ReportIncidentCommand $command
*
* @return \CachetHQ\Cachet\Models\Incident
*/
public function handle(ReportIncidentCommand $command)
{
if ($command->template) {
$command->message = $this->parseIncidentTemplate($command->template, $command->template_vars);
}
$data = [
'name' => $command->name,
'status' => $command->status,
'message' => $command->message,
'visible' => $command->visible,
];
// Link with the component.
if ($command->component_id) {
$data['component_id'] = $command->component_id;
}
// The incident occurred at a different time.
if ($command->incident_date) {
$incidentDate = $this->dates->createNormalized('d/m/Y H:i', $command->incident_date);
$data['created_at'] = $incidentDate;
$data['updated_at'] = $incidentDate;
}
// Create the incident
$incident = Incident::create($data);
// Update the component.
if ($command->component_id) {
Component::find($command->component_id)->update([
'status' => $command->component_status,
]);
}
$incident->notify = (bool) $command->notify;
event(new IncidentWasReportedEvent($incident));
return $incident;
}
/**
* Compiles an incident template into an incident message.
*
* @param string $templateSlug
* @param array $vars
*
* @return string
*/
protected function parseIncidentTemplate($templateSlug, $vars)
{
Twig::setLoader(new Twig_Loader_String());
$template = IncidentTemplate::forSlug($templateSlug)->first();
return Twig::render($template->template, $vars);
}
}

View File

@@ -0,0 +1,65 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\Incident;
use CachetHQ\Cachet\Commands\Incident\ReportMaintenanceCommand;
use CachetHQ\Cachet\Dates\DateFactory;
use CachetHQ\Cachet\Events\Incident\MaintenanceWasScheduledEvent;
use CachetHQ\Cachet\Models\Incident;
class ReportMaintenanceCommandHandler
{
/**
* The date factory instance.
*
* @var \CachetHQ\Cachet\Dates\DateFactory
*/
protected $dates;
/**
* Create a new report maintanance command handler instance.
*
* @param \CachetHQ\Cachet\Dates\DateFactory $dates
*
* @return void
*/
public function __construct(DateFactory $dates)
{
$this->dates = $dates;
}
/**
* Handle the report maintenance command.
*
* @param \CachetHQ\Cachet\Commands\Incident\ReportMaintenanceCommand $command
*
* @return \CachetHQ\Cachet\Models\Incident
*/
public function handle(ReportMaintenanceCommand $command)
{
$scheduledAt = $this->dates->createNormalized('d/m/Y H:i', $command->timestamp);
$maintenanceEvent = Incident::create([
'name' => $command->name,
'message' => $command->message,
'scheduled_at' => $scheduledAt,
'status' => 0,
'visible' => 1,
]);
$maintenanceEvent->notify = (bool) $command->notify;
event(new MaintenanceWasScheduledEvent($maintenanceEvent));
return $maintenanceEvent;
}
}

View File

@@ -0,0 +1,121 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\Incident;
use CachetHQ\Cachet\Commands\Incident\UpdateIncidentCommand;
use CachetHQ\Cachet\Dates\DateFactory;
use CachetHQ\Cachet\Events\Incident\IncidentWasUpdatedEvent;
use CachetHQ\Cachet\Models\Component;
use CachetHQ\Cachet\Models\Incident;
use CachetHQ\Cachet\Models\IncidentTemplate;
use Twig_Loader_String;
use TwigBridge\Facade\Twig;
class UpdateIncidentCommandHandler
{
/**
* The date factory instance.
*
* @var \CachetHQ\Cachet\Dates\DateFactory
*/
protected $dates;
/**
* Create a new update incident command handler instance.
*
* @param \CachetHQ\Cachet\Dates\DateFactory $dates
*
* @return void
*/
public function __construct(DateFactory $dates)
{
$this->dates = $dates;
}
/**
* Handle the update incident command.
*
* @param \CachetHQ\Cachet\Commands\Incident\UpdateIncidentCommand $command
*
* @return \CachetHQ\Cachet\Models\Incident
*/
public function handle(UpdateIncidentCommand $command)
{
if ($command->template) {
$command->message = $this->parseIncidentTemplate($command->template, $command->template_vars);
}
$incident = $command->incident;
$incident->update($this->filter($command));
// The incident occurred at a different time.
if ($command->incident_date) {
$incidentDate = $this->dates->createNormalized('d/m/Y H:i', $command->incident_date);
$incident->update([
'created_at' => $incidentDate,
'updated_at' => $incidentDate,
]);
}
// Update the component.
if ($command->component_id) {
Component::find($command->component_id)->update([
'status' => $command->component_status,
]);
}
event(new IncidentWasUpdatedEvent($incident));
return $incident;
}
/**
* Filter the command data.
*
* @param \CachetHQ\Cachet\Commands\Incident\UpdateIncidentCommand $command
*
* @return array
*/
protected function filter(UpdateIncidentCommand $command)
{
$params = [
'name' => $command->name,
'status' => $command->status,
'message' => $command->message,
'visible' => $command->visible,
'component_id' => $command->component_id,
'component_status' => $command->component_status,
'notify' => $command->notify,
];
return array_filter($params, function ($val) {
return $val !== null;
});
}
/**
* Compiles an incident template into an incident message.
*
* @param string $templateSlug
* @param array $vars
*
* @return string
*/
protected function parseIncidentTemplate($templateSlug, $vars)
{
Twig::setLoader(new Twig_Loader_String());
$template = IncidentTemplate::forSlug($templateSlug)->first();
return Twig::render($template->template, $vars);
}
}

View File

@@ -0,0 +1,36 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\Invite;
use CachetHQ\Cachet\Commands\Invite\ClaimInviteCommand;
use CachetHQ\Cachet\Events\Invite\InviteWasClaimed;
use Carbon\Carbon;
class ClaimInviteCommandHandler
{
/**
* Handle the claim invite command.
*
* @param \CachetHQ\Cachet\Commands\User\ClaimInviteCommand $command
*
* @return void
*/
public function handle(ClaimInviteCommand $command)
{
$invite = $command->invite;
$invite->claimed_at = Carbon::now();
$invite->save();
event(new InviteWasClaimed($invite));
}
}

View File

@@ -0,0 +1,43 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\Metric;
use CachetHQ\Cachet\Commands\Metric\AddMetricCommand;
use CachetHQ\Cachet\Events\Metric\MetricWasAddedEvent;
use CachetHQ\Cachet\Models\Metric;
class AddMetricCommandHandler
{
/**
* Handle the add metric command.
*
* @param \CachetHQ\Cachet\Commands\Metric\AddMetricCommand $command
*
* @return \CachetHQ\Cachet\Models\Metric
*/
public function handle(AddMetricCommand $command)
{
$metric = Metric::create([
'name' => $command->name,
'suffix' => $command->suffix,
'description' => $command->description,
'default_value' => $command->default_value,
'calc_type' => $command->calc_type,
'display_chart' => $command->display_chart,
'places' => $command->places,
]);
event(new MetricWasAddedEvent($metric));
return $metric;
}
}

View File

@@ -0,0 +1,67 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\Metric;
use CachetHQ\Cachet\Commands\Metric\AddMetricPointCommand;
use CachetHQ\Cachet\Dates\DateFactory;
use CachetHQ\Cachet\Events\Metric\MetricPointWasAddedEvent;
use CachetHQ\Cachet\Models\MetricPoint;
class AddMetricPointCommandHandler
{
/**
* The date factory instance.
*
* @var \CachetHQ\Cachet\Dates\DateFactory
*/
protected $dates;
/**
* Create a new add metric point command handler instance.
*
* @param \CachetHQ\Cachet\Dates\DateFactory $dates
*
* @return void
*/
public function __construct(DateFactory $dates)
{
$this->dates = $dates;
}
/**
* Handle the add metric point command.
*
* @param \CachetHQ\Cachet\Commands\Metric\AddMetricPointCommand $command
*
* @return \CachetHQ\Cachet\Models\MetricPoint
*/
public function handle(AddMetricPointCommand $command)
{
$metric = $command->metric;
$createdAt = $command->created_at;
$data = [
'metric_id' => $metric->id,
'value' => $command->value,
];
if ($createdAt) {
$data['created_at'] = $this->dates->create('U', $createdAt)->format('Y-m-d H:i:s');
}
$metricPoint = MetricPoint::create($data);
event(new MetricPointWasAddedEvent($metricPoint));
return $metricPoint;
}
}

View File

@@ -0,0 +1,35 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\Metric;
use CachetHQ\Cachet\Commands\Metric\RemoveMetricCommand;
use CachetHQ\Cachet\Events\Metric\MetricWasRemovedEvent;
use CachetHQ\Cachet\Models\Metric;
class RemoveMetricCommandHandler
{
/**
* Handle the remove metric command.
*
* @param \CachetHQ\Cachet\Commands\Metric\RemoveMetricCommand $command
*
* @return void
*/
public function handle(RemoveMetricCommand $command)
{
$metric = $command->metric;
event(new MetricWasRemovedEvent($metric));
$metric->delete();
}
}

View File

@@ -0,0 +1,35 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\Metric;
use CachetHQ\Cachet\Commands\Metric\RemoveMetricPointCommand;
use CachetHQ\Cachet\Events\Metric\MetricPointWasRemovedEvent;
use CachetHQ\Cachet\Models\Metric;
class RemoveMetricPointCommandHandler
{
/**
* Handle the remove metric point command.
*
* @param \CachetHQ\Cachet\Commands\Metric\RemoveMetricPointCommand $command
*
* @return void
*/
public function handle(RemoveMetricPointCommand $command)
{
$metricPoint = $command->metricPoint;
event(new MetricPointWasRemovedEvent($metricPoint));
$metricPoint->delete();
}
}

View File

@@ -0,0 +1,61 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\Metric;
use CachetHQ\Cachet\Commands\Metric\UpdateMetricCommand;
use CachetHQ\Cachet\Events\Metric\MetricWasUpdatedEvent;
use CachetHQ\Cachet\Models\Metric;
class UpdateMetricCommandHandler
{
/**
* Handle the update metric command.
*
* @param \CachetHQ\Cachet\Commands\Metric\UpdateMetricCommand $command
*
* @return \CachetHQ\Cachet\Models\Metric
*/
public function handle(UpdateMetricCommand $command)
{
$metric = $command->metric;
$metric->update($this->filter($command));
event(new MetricWasUpdatedEvent($metric));
return $metric;
}
/**
* Filter the command data.
*
* @param \CachetHQ\Cachet\Commands\Metric\UpdateMetricCommand $command
*
* @return array
*/
protected function filter(UpdateMetricCommand $command)
{
$params = [
'name' => $command->name,
'suffix' => $command->suffix,
'description' => $command->description,
'default_value' => $command->default_value,
'calc_type' => $command->calc_type,
'display_chart' => $command->display_chart,
'places' => $command->places,
];
return array_filter($params, function ($val) {
return $val !== null;
});
}
}

View File

@@ -0,0 +1,67 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\Metric;
use CachetHQ\Cachet\Commands\Metric\UpdateMetricPointCommand;
use CachetHQ\Cachet\Dates\DateFactory;
use CachetHQ\Cachet\Events\Metric\MetricPointWasUpdatedEvent;
class UpdateMetricPointCommandHandler
{
/**
* The date factory instance.
*
* @var \CachetHQ\Cachet\Dates\DateFactory
*/
protected $dates;
/**
* Create a new update metric point command handler instance.
*
* @param \CachetHQ\Cachet\Dates\DateFactory $dates
*
* @return void
*/
public function __construct(DateFactory $dates)
{
$this->dates = $dates;
}
/**
* Handle the update metric point command.
*
* @param \CachetHQ\Cachet\Commands\Metric\UpdateMetricPointCommand $command
*
* @return \CachetHQ\Cachet\Models\MetricPoint
*/
public function handle(UpdateMetricPointCommand $command)
{
$point = $command->point;
$metric = $command->metric;
$createdAt = $command->created_at;
$data = [
'metric_id' => $metric->id,
'value' => $command->value,
];
if ($createdAt) {
$data['created_at'] = $this->dates->create('U', $createdAt)->format('Y-m-d H:i:s');
}
$point->update($data);
event(new MetricPointWasUpdatedEvent($point));
return $point;
}
}

View File

@@ -0,0 +1,43 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\Subscriber;
use CachetHQ\Cachet\Commands\Subscriber\SubscribeSubscriberCommand;
use CachetHQ\Cachet\Commands\Subscriber\VerifySubscriberCommand;
use CachetHQ\Cachet\Events\Subscriber\SubscriberHasSubscribedEvent;
use CachetHQ\Cachet\Models\Subscriber;
use Illuminate\Foundation\Bus\DispatchesJobs;
class SubscribeSubscriberCommandHandler
{
use DispatchesJobs;
/**
* Handle the subscribe subscriber command.
*
* @param \CachetHQ\Cachet\Commands\Subscriber\SubscribeSubscriberCommand $command
*
* @return \CachetHQ\Cachet\Models\Subscriber
*/
public function handle(SubscribeSubscriberCommand $command)
{
$subscriber = Subscriber::create(['email' => $command->email]);
if ($command->verified) {
$this->dispatch(new VerifySubscriberCommand($subscriber));
} else {
event(new SubscriberHasSubscribedEvent($subscriber));
}
return $subscriber;
}
}

View File

@@ -0,0 +1,35 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Cachet\Handlers\Commands\Subscriber;
use CachetHQ\Cachet\Commands\Subscriber\UnsubscribeSubscriberCommand;
use CachetHQ\Cachet\Events\Subscriber\SubscriberHasUnsubscribedEvent;
use CachetHQ\Cachet\Models\Subscriber;
class UnsubscribeSubscriberCommandHandler
{
/**
* Handle the subscribe customer command.
*
* @param \CachetHQ\Cachet\Commands\Subscriber\UnsubscribeSubscriberCommand $command
*
* @return void
*/
public function handle(UnsubscribeSubscriberCommand $command)
{
$subscriber = $command->subscriber;
event(new SubscriberHasUnsubscribedEvent($subscriber));
$subscriber->delete();
}
}

Some files were not shown because too many files have changed in this diff Show More