Joseph Schorr
b83784f1e1
Add error message if security scan not found
...
This change ensures that the user gets an error message (and not a blank tab) if the security scan information could not be successfully loaded
Fixes https://www.pivotaltracker.com/story/show/136072509
2016-12-14 00:50:06 -05:00
Ian Minoso
1ed3c1444d
Basic builds table for new repo view
2016-12-13 16:46:35 -08:00
Joseph Schorr
ff52fde8a5
Have Quay always use an OAuth-specific CSRF token
...
This change ensures that we always store and then check the contents of the OAuth `state` argument against a session-stored CSRF token.
Fixes https://www.pivotaltracker.com/story/show/135803615
2016-12-08 16:11:57 -05:00
josephschorr
543d86ae10
Merge pull request #2221 from coreos-inc/fix-error-pages
...
Have all error pages be rendered by Angular
2016-12-07 17:53:14 -05:00
Joseph Schorr
c06bba38de
Have all error pages be rendered by Angular
...
Fixes #2198
Fixes https://www.pivotaltracker.com/story/show/135724483
2016-12-07 17:49:02 -05:00
Ian Minoso
a7594d6e57
Inject ApiService to be accessible in the body react component
2016-12-07 03:29:29 -05:00
Ian Minoso
c7d02c3506
Fix repo view tabbing styles and prevent auto scroll on tab click
2016-12-05 20:29:40 -05:00
Ian Minoso
1220b85687
Create individual styles for each component, add no tags messsage
2016-12-05 13:18:50 -05:00
Ian Minoso
92db3e542c
Slice Tags
2016-12-05 12:50:28 -05:00
Ian Minoso
4dea516a40
Sort Tags By most recent, show only top 5
2016-12-05 11:59:10 -05:00
Joseph Schorr
f4bcf68928
Add support for custom ports on RADOS and S3 storage engines
2016-12-01 14:23:18 -05:00
Charlton Austin
2c637fe5ce
Merge pull request #2173 from charltonaustin/adding_in_build_cancel_notifications
...
Adding in cancel notifications
2016-11-30 15:03:17 -05:00
Charlton Austin
4103a0b75f
Adding in cancel notifications
2016-11-30 14:38:34 -05:00
josephschorr
fc2e597490
Merge pull request #2177 from coreos-inc/cors-marketing-site
...
Switch landing page to read template from S3 bucket
2016-11-30 14:33:24 -05:00
josephschorr
244bf2a070
Merge pull request #2165 from coreos-inc/typo-and-link-fixes
...
Typo and link fixes
2016-11-30 14:00:16 -05:00
Joseph Schorr
66e09b2a95
Switch landing page to read template from S3 bucket
...
This change uses CORS to make the Angular template request to a defined S3 bucket, falling back to the compiled login template if the bucket is not available.
Fixes #1313
2016-11-30 14:00:07 -05:00
Ian Minoso
2101ae2dec
Merge pull request #2115 from iminoso/layout
...
New repo-view page
2016-11-29 19:15:34 -05:00
Ian Minoso
daa759a066
Refactor and add doc level comments
2016-11-29 15:57:53 -05:00
Joseph Schorr
2a24bbfb50
Display the password change dialog immediately after account recovery
...
Fixes #1697
2016-11-28 18:59:01 -05:00
Ian Minoso
0d915eccc4
Repo-view page with header, sidebar and body
2016-11-28 16:41:46 -05:00
Joseph Schorr
5f9efa2fe9
Fix spelling mistake and display mistake in 404 view
2016-11-28 15:28:57 -05:00
Joseph Schorr
03cf6d1499
Fix link in set password notification
...
Fixes #2164
2016-11-28 15:25:13 -05:00
josephschorr
9cc78f314d
Merge pull request #2152 from coreos-inc/pull-log
...
Add tracking of pulled tag/digest to logs
2016-11-22 13:57:10 -05:00
Joseph Schorr
24f16fc0d2
Change header back to white and remove CoreOS product bar
...
As the product bar has been removed from the other CoreOS sites, change back to match
2016-11-21 15:50:11 -05:00
josephschorr
d675e5eaa2
Merge pull request #2145 from coreos-inc/robot-performance
...
Change robots manager to use a TableService for filtering and display
2016-11-21 14:55:12 -05:00
Joseph Schorr
080802ed2d
Add tracking of pulled tag/digest to logs
...
Fixes #2148
2016-11-21 12:29:59 -05:00
Charlton Austin
2fe74e4057
Adding in UI for cancel anytime.
2016-11-21 10:58:32 -05:00
Joseph Schorr
d6723927f7
Remove deprecated email flag from generated docker login
commands
...
Fixes #2135
2016-11-18 12:41:00 -05:00
Joseph Schorr
a34229780d
Change robots manager to use a TableService for filtering and display
...
This allows for much larger lists of robots with a lower loss of performance, as well as better code for filtering, sorting on the name and teams columns.
Fixes #2121
2016-11-18 12:38:08 -05:00
josephschorr
cd3907b281
Merge pull request #2110 from coreos-inc/org-delete-bug
...
Fix bugs due to conflicting operation names in the API
2016-11-14 11:59:23 -05:00
josephschorr
74e54bdbbb
Merge pull request #1872 from coreos-inc/qe-torrent
...
Add QE setup tool support for BitTorrent downloads
2016-11-11 13:56:22 -05:00
Joseph Schorr
1405b6b95c
Adjustments to QE plans page for lead-gen feedback
...
- Adds a start trial button "above the fold" on the right hand side
- Adds back the dialog explaining the redirect to tectonic accounts
2016-11-10 17:10:08 -05:00
Joseph Schorr
aa2704acc7
Add a test for operation name collisions and fix the one additional collision found
2016-11-10 15:38:27 -05:00
Joseph Schorr
932fa56227
Fix name collision between the two organization delete calls
...
Fixes #2104
The collision was causing the frontend to try to call the *superuser* method (in local, where superuser is enabled), but on prod (where it isn't), it was calling the normal method, which takes a different parameter name
2016-11-10 15:28:20 -05:00
Joseph Schorr
3193f32a95
Fix cannot-use-robot for private base image bug in build dialog
...
There are a number of small state fixes in this PR, which result in the build dialog being properly reset state-wise each time it is displayed, thus fixing the state inconsistency.
Fixes #2106
2016-11-10 14:47:25 -05:00
josephschorr
45b1148118
Merge pull request #2086 from coreos-inc/user-info
...
Add collection of user metadata: name and company
2016-11-09 13:15:07 -05:00
Joseph Schorr
24780eef58
Make sure to check for user before redirecting in update user
...
Otherwise, the page redirects before the user is loaded
2016-11-08 19:15:11 -05:00
Joseph Schorr
0f2eb61f4a
Add collection of user metadata: name and company
2016-11-08 16:15:02 -05:00
Ian Minoso
d39fc288aa
Add relative path mapping
2016-11-07 17:31:11 -05:00
Joseph Schorr
4a1390e1a7
Fix logs view for dates that start in zero
...
Fixes #2081
2016-11-07 16:39:24 -05:00
josephschorr
233b2be5c2
Merge pull request #2066 from coreos-inc/select-username
...
Add support for temp usernames and an interstitial to confirm username
2016-11-03 16:22:16 -04:00
Joseph Schorr
1e3b354201
Add support for temp usernames and an interstitial to confirm username
...
When a user now logs in for the first time for any external auth (LDAP, JWT, Keystone, Github, Google, Dex), they will be presented with a confirmation screen that affords them the opportunity to change their Quay-assigned username.
Addresses most of the user issues around #74
2016-11-03 15:59:14 -04:00
josephschorr
c953fc6539
Merge pull request #2076 from coreos-inc/superuser-prod-fix
...
Remove setup and superuser routes when SUPER_USERS is not enabled
2016-11-03 14:55:18 -04:00
Joseph Schorr
681f975df5
Add QE setup tool support for BitTorrent downloads
...
Fixes #1871
2016-11-02 17:32:12 -04:00
Joseph Schorr
32627f3c2a
Remove setup and superuser routes when SUPER_USERS is not enabled
...
Fixes #2064
2016-11-02 16:10:20 -04:00
Ian Minoso
99626d907f
Add Sass to Webpack build
2016-11-02 14:56:43 -04:00
Ian Minoso
74b6944b0d
Merge pull request #2050 from iminoso/layout
...
Create all components for new repo page
2016-11-02 11:37:33 -04:00
Ian Minoso
71dc3ff633
Fix import names
2016-11-01 14:42:50 -04:00
Ian Minoso
8d233ca493
Organize directories and path
2016-11-01 14:28:27 -04:00
Ian Minoso
f92551a9d1
Named imports
2016-11-01 02:51:18 -04:00
Ian Minoso
9653cad53c
Namespace page directories
2016-10-31 16:35:11 -04:00
Ian Minoso
2383609c15
Create individual directory for each page
2016-10-31 15:56:39 -04:00
josephschorr
840ea4e768
Merge pull request #2047 from coreos-inc/external-auth-email-optional
...
Make email addresses optional in external auth if email feature is turned off
2016-10-31 14:16:33 -04:00
Joseph Schorr
d7f56350a4
Make email addresses optional in external auth if email feature is turned off
...
Before this change, external auth such as Keystone would fail if a user without an email address tried to login, even if the email feature was disabled.
2016-10-31 13:50:24 -04:00
Ian Minoso
8fae92267e
create all components for new repo page
2016-10-31 13:18:18 -04:00
Joseph Schorr
604c67948a
Fix NPE in activate trigger
...
Fixes #2042
2016-10-31 12:19:43 -04:00
Joseph Schorr
a85126ea97
Prevent NPE in delete namespace
...
Fixes #2039
2016-10-31 12:17:50 -04:00
Joseph Schorr
ccb5bc8f1b
Add external auth emails to entity search
...
Fixes #1791
2016-10-27 16:08:07 -04:00
josephschorr
934cdecbd6
Merge pull request #1905 from coreos-inc/external-auth-search
...
Add support for entity search against external auth users not yet linked
2016-10-27 16:06:42 -04:00
Joseph Schorr
d145222812
Add support for linking to external users in entity search
2016-10-27 15:42:03 -04:00
Ian Minoso
f306177f01
Merge pull request #1883 from iminoso/webpack
...
Installing skeleton Webpack build tool on front end
2016-10-26 12:02:05 -04:00
Jake Moshenko
45bacbabaa
s/Regions/Deployments
2016-10-24 16:04:04 -04:00
Joseph Schorr
e85a1bce0a
Redo the UI for the run trigger dialog to be much cleaner
...
Fixes #774
2016-10-21 16:56:13 -04:00
josephschorr
edc2bc8b93
Merge pull request #1698 from coreos-inc/delete-namespace
...
Add support for deleting namespaces (users, organizations)
2016-10-21 16:54:52 -04:00
Joseph Schorr
73eb66eac5
Add support for deleting namespaces (users, organizations)
...
Fixes #102
Fixes #105
2016-10-21 15:41:09 -04:00
Joseph Schorr
d2bc8722c9
Fix container service status check
...
It appears Chrome changed the status code returned when it cannot connect
2016-10-21 13:31:02 -04:00
josephschorr
67dde6e154
Merge pull request #1852 from coreos-inc/underscore_orgs
...
Better handling of namespace validation to fix a number of issues
2016-10-20 13:36:32 -04:00
Joseph Schorr
3a68740ff7
Better handling of namespace validation to fix a number of issues
...
- Fixes a bug which allows for underscores at the beginning of namespaces: Fixes #1849
- Allows dots and dashes for newer Docker clients: Fixes #1188
- Has the UI display better messaging associated with namespace entry
2016-10-20 13:32:22 -04:00
Joseph Schorr
213cc856e4
Fix UI for real license handling
...
Following this change, the user gets detailed errors and entitlement information
2016-10-19 17:49:15 -04:00
Ian Minoso
5a45f140c2
compile a typescript react component with webpack
2016-10-18 17:16:01 -04:00
Ian Minoso
9015b09026
Setup skeleton files for new front end build tool (Node, Webpack, React, Typescript)
2016-10-18 17:13:56 -04:00
Joseph Schorr
7a6fb7554d
Only attempt to load the license for the setup tool once there is a valid user
...
Prevents the 401 session expired box from appearing
2016-10-17 21:57:17 -04:00
Joseph Schorr
ee96693252
Add superuser config section for updating license
2016-10-17 21:44:25 -04:00
Joseph Schorr
8fe29c5b89
Add license upload step to the setup flow
...
Fixes #853
2016-10-17 21:43:15 -04:00
Charlton Austin
8e5dc8d3db
Moving the messages endpoint to something more generic, and making the get visible all the time.
2016-10-17 16:23:48 -04:00
josephschorr
78f87d96bc
Merge pull request #1986 from coreos-inc/external-tls
...
Add option to properly handle external TLS
2016-10-15 16:05:28 -04:00
Jake Moshenko
95ced00457
Merge pull request #1982 from jakedt/marsquito
...
Write our users to Marketo as leads.
2016-10-14 16:30:03 -04:00
Jake Moshenko
f04b018805
Write our users to Marketo as leads.
2016-10-14 16:29:11 -04:00
Ian Minoso
36b1ee2be9
two examples of implementing react components
2016-10-14 14:23:43 -04:00
Ian Minoso
67e466ee11
Create seperate directive
2016-10-14 12:03:28 -04:00
Ian Minoso
6d375e33bf
ngreact implementation wip
2016-10-14 11:40:28 -04:00
Charlton Austin
c8e5809cc7
Refactoring manage users to it's own directive.
2016-10-13 16:57:19 -04:00
Joseph Schorr
5a8200f17a
Add option to properly handle external TLS
...
Fixes #1984
2016-10-13 14:49:29 -04:00
Charlton Austin
97d644d95d
Adding in the delete api and the delete and create UI.
2016-10-13 10:40:52 -04:00
charltonaustin
48ba98fff4
Fixing the build.
2016-10-10 14:42:33 -04:00
Charlton Austin
04cefaca51
Merge pull request #1960 from charltonaustin/create_endpoint_for_motd_cisco
...
Create endpoint for motd cisco
2016-10-10 14:23:06 -04:00
charltonaustin
4ae6e6efa9
Fixing some database integration errors
2016-10-10 10:51:30 -04:00
Joseph Schorr
76ec022dc3
Fix NPE in error interceptor
...
Fixes #1958
2016-10-08 01:32:14 +03:00
charltonaustin
1e733ddffb
Adding in a new message data model and the corresponding methods to in the API.
2016-10-07 15:56:58 -04:00
charltonaustin
980e79d612
Removing commented out code for merging into master.
2016-10-06 16:54:04 -04:00
charltonaustin
1dbd27934f
Adding in an outline of a front-end for retrieving messages from the backend api.
2016-10-06 15:58:47 -04:00
josephschorr
e313d59138
Merge pull request #1894 from coreos-inc/dockerfile-upload-bugs
...
Fix bugs around reading in datafiles and Dockerfiles
2016-09-29 22:47:06 +02:00
josephschorr
c4ad513834
Merge pull request #1898 from coreos-inc/build-logs-scope-apply
...
Add missing $scope.$apply in the build logs view
2016-09-29 22:44:42 +02:00
Joseph Schorr
7380cf0ce0
Show a throbber when the Angular view array still has hidden entries
...
This provides slightly better UI feedback to the user that more logs are incoming
Fixes #1881
2016-09-29 16:34:26 +02:00
Joseph Schorr
3476829139
Add missing $scope.$apply in the build logs view
...
Without this, the logs appear to never load, until such time as any other digest cycle comes along
Fixes #1886
2016-09-29 16:23:11 +02:00
Joseph Schorr
ba0ecf03dd
Fix bugs around reading in datafiles and Dockerfiles
...
We now properly try to read archives in all three formats. If none are valid, the dataFileService.readDataArrayAsPossibleArchive fails (as it should), and then the Dockerfile service will try to read the file directly as a Dockerfile.
Fixes #1889
Fixes #1891
2016-09-29 11:36:57 +02:00
Lucas Serven
10a44a9224
frontend: fix gitlab icon spacing
...
fixes : #1888
2016-09-28 14:06:10 -07:00
josephschorr
4943ae3d32
Merge pull request #1857 from coreos-inc/better-404
...
Better 404 (and 403) pages
2016-09-27 11:12:54 +02:00
josephschorr
ad4efba802
Merge pull request #1830 from coreos-inc/superuser-dashboard
...
Add prometheus stats to enable better dashboarding
2016-09-26 17:19:22 +02:00
Joseph Schorr
0a435fa1dc
Fix Angular bug on plans page when using back button
...
Angular apparently tries to read the DOM that is being manipulated simultaneously by bootstrap, which results it a state inconsistency (since the DOM is changing) and an Angular failure. This change ensure that the modal call happens outside of the initial digest loop and therefore, appears to solve the problem (translation: who the heck knows why it works, but it does).
Fixes #1869
2016-09-23 15:35:19 -04:00
Joseph Schorr
e4ad25ea81
Add repository list pagination
...
Also changes our binds to be bind-once, which should significantly reduce memory and increase performance for large lists
Fixes #1856
2016-09-21 14:23:32 -04:00
Joseph Schorr
4d5c65e6d4
Better 404 (and 403) pages
...
Fixes #1819
2016-09-21 13:54:21 -04:00
Ian Minoso
fe05011e30
Add the missing newline
2016-09-20 17:27:48 -04:00
Ian Minoso
4dd6166d21
Add route and page to enable experiment
2016-09-20 17:12:15 -04:00
Ian Minoso
24327f4964
Add skeleton experiment for new repo page
2016-09-20 15:56:59 -04:00
josephschorr
349bd1e0fa
Merge pull request #1839 from coreos-inc/better-notifications
...
Better notifications UI and features
2016-09-16 21:07:14 -04:00
Joseph Schorr
b272771147
Better UX for managing teams
...
- Moves the add team member to an inline box, rather than a popup
- Feedback bar is now used to show when a member is added, invited or removed
- Fixes bugs around using the view on mobile
Fixes #1509
2016-09-15 16:06:56 -04:00
Joseph Schorr
949dcb9d35
Add regex validating field
2016-09-15 13:25:57 -04:00
Joseph Schorr
9140b0e41d
Add placeholder for regex field in create event control
2016-09-14 17:07:14 -04:00
Joseph Schorr
03d4445a02
Add notification filtering for builds based on ref regex
...
Fixes #1835
2016-09-14 16:48:17 -04:00
Joseph Schorr
0dce935c40
Move repo notification create to its own page
...
Also fixes a bug around Slack setup
Fixes #1834
2016-09-14 16:06:52 -04:00
josephschorr
949ceae4eb
Merge pull request #1822 from coreos-inc/run-build-admin
...
Allow repository admins to invoke build triggers manually
2016-09-14 14:43:53 -04:00
Joseph Schorr
5e94f97a42
Fix tar-gz reading of Dockerfiles
...
- Fixes TAR to actually use data
- Fixes buffers for Gunzip to be a proper ArrayBufferView
Fixes #1832
2016-09-13 11:34:35 -04:00
Joseph Schorr
13bcba4206
Fix timeline's delete-then-tag display bug
...
Currently, if a tag is deleted and then assigned later, it shows up as a move, rather than a delete+create. This is due to the threshold check being backwards.
Fixes #1824
2016-09-12 15:46:23 -04:00
Joseph Schorr
3f2447d831
Make the frontend agnostic to why a trigger can be run manually
2016-09-09 16:54:46 -04:00
Joseph Schorr
5d6876eb81
Remove old metrics dashboard
...
It only applies to a single instance, making it fairly useless
2016-09-09 14:46:33 -04:00
Joseph Schorr
a7ff08458d
Fix small NPE
...
Fixes #1811
2016-09-08 14:32:49 -04:00
josephschorr
cd8b45e25b
Merge pull request #1754 from coreos-inc/team-add-perms
...
Better UI and permissions handling for robots and teams
2016-09-06 17:21:19 -04:00
Joseph Schorr
de212d8594
Fix grammar in entity search
...
Fixes #1794
2016-08-31 14:19:28 -04:00
josephschorr
040886b781
Merge pull request #1769 from coreos-inc/fix-plans-tabs
...
Fix handling of tabs in the plans page
2016-08-29 13:37:42 -04:00
josephschorr
3f459523c4
Merge pull request #1763 from coreos-inc/quay-title-seo
...
Change default title to include Container Registry and fix title usage
2016-08-29 11:29:26 -04:00
josephschorr
b3c592c09a
Merge pull request #1631 from coreos-inc/labels
...
Basic labels support
2016-08-26 15:24:35 -04:00
Joseph Schorr
608ffd9663
Basic labels support
...
Adds basic labels support to the registry code (V2), and the API. Note that this does not yet add any UI related support.
2016-08-26 15:24:26 -04:00
Joseph Schorr
b1e0620c1d
Fix handling of tabs in the plans page
...
Fixes #1768
2016-08-26 13:09:05 -04:00
Joseph Schorr
4950776628
Change default title to include Container Registry and fix title usage
...
Goes towards fixing #1762
2016-08-25 14:57:48 -04:00
Joseph Schorr
e3ed2c8a92
Hide repo star control when not logged in
...
Fixes #1756
2016-08-23 13:02:55 -04:00
Joseph Schorr
391d70d9ec
Add repo permissions dialog for existing teams and robots
...
Fixes #1686
2016-08-22 14:43:12 -04:00
Joseph Schorr
6ebb417923
Redesign the teams page to use a table
...
Allows for faster loading and easier viewing of important information about teams
2016-08-22 14:42:54 -04:00
Joseph Schorr
98206310bd
Extract the add repo permissions UI into its own directive
2016-08-22 14:42:54 -04:00
Ben Spoon
979d813551
Merge pull request #1736 from coreos-inc/analytics
...
Analytics
2016-08-19 12:17:34 -07:00
Joseph Schorr
b459581637
Fix handling of dates in logs view
...
- Fixes #1742
- Also fixes the time zone on the aggregated logs API
2016-08-17 16:27:06 -04:00
josephschorr
2caa82d091
Merge pull request #1713 from coreos-inc/enable-iam
...
Enable IAM support for S3 storage
2016-08-16 16:13:29 -04:00
Ben Spoon
a706901405
analytics: add google analytics
2016-08-16 11:35:39 -07:00
Joseph Schorr
236cdc795f
Better messaging when changing email address
...
Fixes #1695
2016-08-16 13:13:52 -04:00
josephschorr
aa2066e3f5
Merge pull request #1722 from coreos-inc/logentry-index
...
Add an index for lookup by account to log entries
2016-08-12 18:40:24 -04:00
Joseph Schorr
0f46230493
Add an index for lookup by account to log entries
...
Also fixes the query to require one less join
2016-08-12 17:39:31 -04:00
Joseph Schorr
2af938c241
Fix use of bootstrap glyph icons in QE
...
Fixes #1717
2016-08-12 15:41:01 -04:00
Joseph Schorr
14b93f72ff
Make S3 access key and secret key optional, enabling IAM.
...
If not specified, then boto will fallback to reading the credentials from IAM if on an EC2 machine. This should be safe as the validator will still ensure the credentials work if not specified.
Fixes #1707
2016-08-11 17:17:36 -04:00
Joseph Schorr
82753931f5
Remove old Olark code
...
Fixes #1696
2016-08-10 15:11:05 -04:00
Joseph Schorr
b7bde27b3c
Fix display for builds which have fully expired
...
Fixes #1663
2016-08-04 11:13:32 -04:00
josephschorr
abce6a8dbc
Merge pull request #1657 from coreos-inc/redis-reconnect
...
Change user events tutorial Redis error to be an inline box
2016-07-27 16:11:58 -07:00
Joseph Schorr
cb9a99fc7b
Change user events tutorial Redis error to be an inline box
...
Fixes #1653
2016-07-27 13:41:26 -07:00
Joseph Schorr
c60f441d87
Fix enter key in password dialogs in Firefox
...
Fixes #1655
2016-07-27 13:12:37 -07:00
josephschorr
d240ad9a2c
Merge pull request #1652 from coreos-inc/custom-link
...
Add support for custom commit links in the build UI
2016-07-26 16:37:21 -07:00
Joseph Schorr
dcebd61dde
Add support for custom commit links in the build UI
...
Fixes #1251
2016-07-26 16:06:41 -07:00
Joseph Schorr
06d52f2c83
Fix handling of multi-part branches in the build triggers
...
Fixes #1360
2016-07-26 13:41:13 -07:00
Joseph Schorr
7ac37a3813
We cannot use customGET
for resources, as it builds an invalid URL
2016-07-26 11:46:58 -07:00
Joseph Schorr
6432f28df7
Fix AsResource method loading
2016-07-26 11:21:02 -07:00
Joseph Schorr
1655e79a74
Fixes for fresh login check in API
...
- Fixes enter key causing two requests
- Makes sure fresh login is handled for resources as well
Fixes #1625
2016-07-25 15:29:55 -07:00
Jake Moshenko
3044f8ecbd
Merge pull request #1603 from jakedt/invoices
...
Billing stuff
2016-07-08 14:11:17 -04:00