Skip to content

Latest commit

 

History

History
3627 lines (3425 loc) · 187 KB

File metadata and controls

3627 lines (3425 loc) · 187 KB

Changelog

v4.26.2 (2026-08-11)

  • servershell: speed up result table rendering (#457) (06fd91d8)
  • Bump cryptography from 49.0.0 to 50.0.0 (#462) (8e8dafc0)
  • Add / keyboard shortcut to focus on search field (#459) (5b03e7b2)
  • Fix version still displayed based on adminapi (#461) (c149c4d7)
  • Allow range of known versions for dependencies (#460) (f4e478af)

v4.26.0 (2026-07-15)

  • Switch to uv as package manager (#451) (cf8bfa79)
  • Fix "newer data available" in tests (#458) (03565fc9)
  • Improve security of DB dump script (#453) (e5ed53e9)
  • Add popstate to recall history on state change (#456) (a5f0bae9)
  • servershell: Make ctrl/cmd-click open reverse and relation attrs in new tab (#455) (3c92f3df)
  • serverdb: Fix false commit conflict on datetimes (#454) (b8ccf3d7)
  • Upgrade to Django 5.2 from 4.2 (#450) (a777f02d)
  • api: Add endpoint returning all available attributes (#452) (3742ded9)
  • Add migration for graphite models (#449) (2f5bede5)
  • Remove obsolete dependency pexpect (#448) (f987713c)
  • serverdb: Drop dependency to rich module (#447) (2269eb08)
  • fix deprecation warnings for trixie (#440) (edc69b85)
  • serverdb: Use native ipaddress module in test_views (#446) (0ff67461)
  • Update dependencies (3663ee19)
  • serverdb: Fix Any() filter on boolean attributes (#445) (a0f42838)
  • serverdb: Unregister Server model from admin interface (#442) (2c5f8245)
  • Update dependencies (9b30c74e)
  • Add commit id in commit_query signal (#436) (55bb4d1e)

v4.25.0 (2026-03-10)

  • Fix access control groups for multi attributes (#435) (75185a02)
  • Implement Query history (#434) (7bfd73fc)
  • Add support to query related attribute from commandline (#431) (dbf6d356)
  • Allow a selection of target servertypes for attributes (#427) (dd50bb87)
  • Update test configuration and environment (#430) (85e603b4)
  • servershell: Add regexp() support to multidel command (#429) (81900f18)

v4.24.0 (2026-02-10)

  • servershell: improve checkboxes (#426) (e5526def)
  • graphs bug: all rows are multiplied by the number of selected objects (#425) (2077eb5d)
  • Update Pipfile.lock (dependencies) (#424) (1e7c8a23)
  • Polish changes page (#421) (67163cb4)
  • parse_query: strip query (#414) (39aeac98)
  • Bump urllib3 from 2.5.0 to 2.6.3 (#423) (5aeecdc1)
  • Bump pynacl from 1.6.1 to 1.6.2 (#422) (844ab2e0)
  • Support netaddr >=0.8.0 to < 1.4.0 (#418) (a021edeb)
  • Upgrade psycopg2-binary to 2.9.x (#417) (a9b19e36)
  • Remove obsolete imports (eb626cdc)
  • Remove redundant template for igrestlogin (#416) (b195ad0e)

v4.23.0 (2025-10-24)

  • adminapi: Support JSON as output format (#415) (48e240da)
  • Refuse to change multi to single attribute if there are values (#411) (85900db8)
  • Return commit id on successful commit (#408) (d705b0ff)
  • inspect: Add keyboard shortcut for edit, Create extra set of buttons (#412) (ba7c0b33)
  • Validate inet attributes are not multi attributes (#410) (ba5c5b6e)
  • Servershell: More graceful error handling (#407) (3d6f5b67)
  • Validate attribute type for type relation (#409) (c77de0ab)
  • Update docs and docker compose setup (#406) (26591fc3)
  • Fix Servershell search fails silently (#405) (f1d20291)

v4.22.1 (2025-07-22)

  • Fix UnicodeDecorError on HTTP status code 4xx (#404) (35efa024)

v4.22.0 (2025-07-04)

  • Hide legacy attribute inter_ip and introduce new signal (#396) (f363c62a)
  • Increase performance for inet related queries (#403) (be475e58)
  • Update dependencies (#402) (4ec20dde)
  • Update PostgreSQL version to 17 (f9b59704)
  • Bump urllib3 from 2.3.0 to 2.5.0 (#401) (eed22a45)
  • Bump setuptools from 76.1.0 to 78.1.1 (#399) (8b7dcdab)
  • Print hostname in commit error for duplicate host. (19990c4c)
  • Return HTTP status code 400 on ApiError (#397) (ffeb479d)

v4.21.0 (2025-04-28)

  • Make the IP Address Chooser configurable (#395) (1772a35a)

v4.20.1 (2025-04-10)

  • servershell: Trim prefix/suffix whitespace on queries (#393) (9d002887)
  • Fix querying supernet attributes (#394) (9b0503cf)

v4.20.0 (2025-04-01)

  • Remove intern_ip support from supernet calculation (#392) (5b8170ae)
  • Add sphinx_rtd_theme as dependency (7ca186f7)
  • Update Sphinx version to 7.0.0 (6b057b03)
  • Add missing build section .reathedocs.yml (1737367e)
  • Merge pull request #391 from innogames/dk_update_dependencies (ac176ecc)
  • Update dependencies to fix security vulnerabilities (aa614fc0)

v4.19.0 (2025-03-19)

  • Merge pull request #389 from innogames/k_af_aware_supernet (b26ba895)
  • Fix supernet calculation, the network can also equal (5f184d4d)
  • Add tests for supernet calculation (f429854b)
  • Calculate supernets separately per address family (bfd11614)
  • Reformat using black (0b0a824e)
  • Support gzip compression for adminapi requests (#390) (4f61f231)

v4.17.1 (2025-03-10)

  • Merge pull request #388 from innogames/k_fix_is_unique_ip_logic (2673d85f)
  • Fix is_unique_ip() logic (6ea732e3)
  • Reformat using black (a497a90f)
  • Reformat using black (83758ca6)
  • Update DNS views to match PowerDNS schema (#385) (08df6926)
  • Use current year in documentation copyright notice (#386) (c50c69e0)

v4.17.0 (2025-01-03)

  • Allow latest paramiko version (#383) (3fe48a03)
  • servershell: Make column buttons only visible on hover (#382) (27c292cb)
  • [fix] servershell: Do not wrap table headers (#381) (f1f5c414)
  • servershell: Add column helper buttons (#380) (c031c011)
  • Render HTML contained in messages (#379) (c4d64664)
  • Bump cryptography from 43.0.0 to 43.0.1 (#377) (6714b245)
  • Fix pagination does not work on history page (#378) (1752b07a)

v4.16.2 (2024-09-02)

  • Downgrade minimum version for netaddr (#376) (c36baa7b)

v4.16.1 (2024-08-29)

v4.16.0 (2024-08-29)

  • Fix minimum dependencies not specified (#375) (501d51ab)
  • admintpi: fix python 3.12 support, due to removed "distutils" (#373) (1f0d0919)
  • Update dependencies to latest version (#374) (89181816)
  • Drop obsolete constraint on server table (#371) (3efb012b)
  • servershell: add autocompletion for "new" command (#366) (6463de54)
  • Bump certifi from 2024.2.2 to 2024.7.4 (#368) (b9ba50a5)
  • Bump setuptools from 69.5.1 to 70.0.0 (#370) (bf0362a4)

v4.15.0 (2024-07-11)

  • Bump zipp from 3.18.1 to 3.19.1 (#369) (531291ba)
  • Fix hijacking of object possible (#364) (1d5518ee)
  • Retry signing the request if too slow (#363) (f09d43a3)
  • Allow changes if permitted by app or user (#362) (0572250b)
  • Allow history to be queried via hostname (#361) (dc0e2499)
  • Bump urllib3 from 2.2.1 to 2.2.2 (#360) (89749219)
  • --- (#359) (bc32d2ea)

v4.14.1 (2024-05-15)

  • Allow trailing "_" in hostname attribute. (#354) (4c055ac2)
  • Bump jinja2 from 3.1.3 to 3.1.4 (#358) (0e053d19)
  • Remove no longer used information about ajax call (#357) (96eba419)
  • Upgrade to Django 4.2 LTS (#355) (32c164a9)
  • Bump sqlparse from 0.4.4 to 0.5.0 (#353) (ae6eb080)
  • Bump idna from 3.6 to 3.7 (#352) (7099fc45)

v4.14.0 (2024-04-10)

  • Skip check for permission to change for related_via attrs (#351) (2120f7b3)
  • Update dependencies (#350) (a3020806)
  • Support pagination with multiple forms (#349) (8cc5b085)
  • Allow Serveradmin apps to extend the Servershell (Javascript) (#348) (2e3ac307)

v4.13.0 (2024-02-23)

  • Extend inet attributes and improve ip address type validation (2c95e5c3)
  • Bump cryptography from 42.0.2 to 42.0.4 (#347) (d169d5c2)
  • Support prefilled values for new objects (#344) (54cba35c)

v4.12.0 (2024-02-09)

  • Double signing speed by signing optimistically (#343) (4ca71539)

v4.11.1 (2024-02-01)

  • Fix /changes breaks due to multiple rows returned (#341) (7f5a3f8d)
  • Update sphinx version to latest (#342) (0faca473)
  • Bump jinja2 from 3.1.2 to 3.1.3 (#339) (8aec944d)
  • Bump cryptography from 41.0.5 to 41.0.6 (#336) (f060aa7c)

v4.11.0 (2023-11-10)

  • Make target servertype optional for relation attributes (#335) (78cbe1f5)
  • Update all dependencies (#334) (04350bdd)
  • Bump werkzeug from 2.3.6 to 3.0.1 (#333) (b2bb39c7)
  • Bump urllib3 from 2.0.5 to 2.0.7 (#332) (984c877f)
  • Bump pillow from 9.5.0 to 10.0.1 (#331) (df49704b)
  • Remove powerdns app left overs (d1b13bf3)
  • Bump cryptography from 41.0.3 to 41.0.4 (#329) (b28b715a)
  • Bump cryptography from 41.0.2 to 41.0.3 (#328) (f5975503)

v4.10.0 (2023-07-27)

  • Bump certifi from 2023.5.7 to 2023.7.22 (#326) (fef05fd8)
  • Click on Graphite graph to refresh (#327) (bf85bbbd)
  • Show hourly, daily, weekly if no time range (#325) (0b417460)
  • Improve graphite cache generation (#323) (035afe13)
  • Fix minor UI bugs for resources page (#324) (f1b57353)
  • Don't allow zero servers per page (#322) (90ed8d82)
  • Update development and test setup (#321) (837b1809)
  • Bump cryptography from 41.0.1 to 41.0.2 (#320) (2b900ac8)
  • Bump django from 3.2.19 to 3.2.20 (#319) (967007cd)
  • Update depenencies (#317) (b141b7e1)
  • Bump cryptography from 40.0.2 to 41.0.0 (#316) (8de3069d)
  • Bump django from 3.2.18 to 3.2.19 (#313) (e53df365)
  • Bump sqlparse from 0.4.3 to 0.4.4 (#312) (ac6b718a)

v4.9.0 (2023-04-04)

  • Fix hostname for created objects deleted is None (#309) (98b4ecdb)
  • Rename restore view to recreate for clarity (#308) (00e4de0e)
  • Display filter for commit_id in changes page (#307) (48ef5860)
  • Restoring an object with "computed" attributes fails (#306) (dbf83336)
  • Fix not all attributes restored (#305) (74935740)
  • Improve performance to fetch hostname for changes (#304) (a2d88ef1)
  • Reset values for single attribute from CLI (#303) (c3bc6abb)
  • Fix empty commits are created (#302) (e1d776d2)
  • Display attributes with no history (#301) (54bd54be)
  • Display history attribute in admin panel (#300) (57c061de)
  • Link commit to changes page in history page (#299) (50f024f4)

v4.8.0 (2023-03-16)

  • Allow to disable change log (history) for attributes (#298) (68e4e1e3)
  • Improve change logs aka history (#294) (e7329d29)
  • Use internal_domain attribute to generate A, AAAA records (#297) (b71f4179)

v4.7.1 (2023-03-08)

  • Focus command input only when user submits search (#296) (de556d71)
  • Update dependencies (a0021d69)

v4.7.0 (2023-02-20)

  • Suggest command as first match at auto completion (#292) (1b65f6f6)
  • Do not search on page load (#291) (3d6ce099)
  • Bump werkzeug from 2.2.2 to 2.2.3 (#290) (3f26285e)
  • Bump django from 3.2.17 to 3.2.18 (#289) (9ce27411)
  • Bump cryptography from 39.0.0 to 39.0.1 (#288) (9257daf7)
  • Bump django from 3.2.16 to 3.2.17 (#287) (36cddbc4)
  • Use same names for actions as in Servershell (#286) (79ff78c1)
  • Display clone column on Admin attribute listing (#285) (ddf2c570)
  • Remove no longer existing filter "between" from examples (#284) (24c76289)
  • Bump certifi from 2022.9.24 to 2022.12.7 (#283) (6b3069f6)
  • Improve common pagination (#282) (30664378)
  • Update dateparser library and usage (#273) (aab1e3ae)
  • Ignore requirements.txt (#281) (b58dac32)
  • Add incomplete tests for all attribute types (#279) (64df03e2)

v4.6.0 (2022-11-22)

  • Add color for state cold standby (#280) (ee873c6e)
  • Update dependencies (#278) (264b6f65)
  • Make Multi Attribute textarea sizeable (#277) (09efe510)
  • Add missing "s" to doe not exist (#276) (2d3de802)

v4.5.2 (2022-11-11)

  • Add command to sum numeric attributes (#275) (6d68d6f8)

v4.5.1 (2022-11-10)

  • inspection: add links to related objects (#274) (5decde11)
  • Delete obsolete model serverdb.Change (06de9f37)

v4.5.0 (2022-10-12)

  • Introduce description field to AccessControlGroup (#271) (d04ba761)
  • Fix graph_table variable overridden (#270) (f6d65dec)

v4.4.5 (2022-10-11)

  • Fix ProgrammingError: syntax error near "AND" (#269) (94f78cec)
  • Update Django and dependencies (#268) (408abe5c)
  • Bump django from 3.2.14 to 3.2.15 (#267) (8f5021bf)

v4.4.4 (2022-07-11)

  • Display related as disabled in edit mode (#266) (41698a00)
  • Disable row if object does not have attribute (#265) (cc184841)
  • Merge pull request #264 from innogames/dependabot/pip/django-3.2.14 (e59c71ca)
  • Bump django from 3.2.13 to 3.2.14 (91ed30d0)
  • Merge pull request #263 from innogames/powerdns_46_schema (ccd4f240)
  • Apply changes to views necessary for 4.6 schema (25109540)

v4.4.3 (2022-06-16)

  • Merge pull request #262 from innogames/graphite_unbound_local_error (39e78b89)
  • Merge pull request #261 from innogames/serverdb_history_show_deletion (7f3b43d2)
  • Merge pull request #260 from innogames/servershell_inspect_display_related (a278fb60)
  • Ensure graph_table variable is defined (88c484f4)
  • Fix grammar and typos (345c71ed)
  • Display deletion of object in history (9f1d7009)
  • Display related attributes in inspect view (88c2198d)

v4.4.2 (2022-06-09)

  • Merge pull request #258 from innogames/servershell_orderby_add_attribute (139d9d57)
  • Merge pull request #259 from innogames/serverdb_history_wrap_long_lines (4b19cbca)
  • Merge pull request #257 from innogames/serverdb_update_attribute_readonly (391e65d7)
  • Wrap long lines but ensure column is at least 125px (85a80d03)
  • Avoid reload when already ordered by attribute (7e75b9d8)
  • Order by object_id if current attribute is removed (e488eeb7)
  • Ensure attribute is visible before ordering by it (d014089f)
  • Deny changing some Attribute fields (88f0f73e)
  • Merge pull request #255 from innogames/adminapi_ignore_newlines (655bab67)
  • Merge pull request #256 from innogames/dependabot/pip/pillow-9.1.1 (40adc32c)
  • Bump pillow from 9.1.0 to 9.1.1 (517b00e5)
  • Ignore newlines in query string (2d134f89)
  • Merge pull request #254 from innogames/docker_compose_fixes (5b78c249)
  • Fix and improve docker compose setup (25e9df2b)
  • Merge pull request #253 from innogames/powerdns_domain_improvements (05f1f96f)
  • Ensure only one domain setting is applied (4d15a19d)
  • Add explanatory comment how we manage the schema (6fefad39)
  • Ensure tblib is installed in --dev (90ce92c3)

v4.4.1 (2022-05-04)

  • Merge pull request #252 from innogames/servershell_fix_changes_still_visible (fa12c683)
  • Fix changes remain visible after commit (7b3d464c)
  • Merge pull request #251 from innogames/pin_and_cleanup_dependencies (980d4100)
  • Remove obsolete jinja2 template engine (39d1fb09)
  • Generate Pipfile.lock (d28c4d89)
  • Ensure Faker version < 14.0.0 (09b18ad4)
  • Ensure requests version < 3.0.0 (b6e52d5c)
  • Ensure pex version < 3.0.0 (cbaee6cf)
  • Ensure Werkzeug version < 3.0.0 (3e8c0622)
  • Ensure django-extensions version < 4.0.0 (d66625b9)
  • Ensure sphinx 4.3.x and sphinx-rtd-them < 2.0.0 (43052ddb)
  • Ensure pexpect version < 5.0.0 (69e18a6b)
  • Ensure jinja version 2.10.x (63b7102e)
  • Ensure paramiko version 2.10.x (c43ac60b)
  • Ensure django_compressor version < 3.0.0 (cb582884)
  • Ensure django-environ version < 1.0.0 (9d9621da)
  • Ensure dateparser version < 1.0.0 (1a45efa9)
  • Ensure Pillow version 9.1.x (8e0b598b)
  • Ensure django-netfields version < 2.0.0 (5a73f5e6)
  • Remove dependency of gunicorn (cef75c27)
  • Ensure netaddr version < 1.0.0 (a47274dc)
  • Merge pull request #232 from innogames/powerdns_fix_test_cleanup (4c5ec39f)
  • Fix created objects not deleted between test cases (2e6b1a81)

v4.4.0 (2022-04-07)

  • Fix function name conflict when minifying (c8648570)
  • Merge pull request #241 from innogames/k_duplicateip (3f024be6)
  • Reduce display number of free ip addresses (72611e9d)
  • Prevent duplicate address in choose_ip_addr (752e24e4)
  • Merge pull request #248 from YannikSc/y_pinned_entries (384f8c72)
  • Remove blue highlight for changed rows (c678836d)
  • Merge pull request #237 from YannikSc/y_implicit_attr (6da2d340)
  • Merge pull request #242 from innogames/graphite_collection_params (d9f8e4ba)
  • Move validator to graphite models (564bd3ff)
  • Check if other form fields are valid (0af7e66c)
  • Add validation for Numerics and Variations (04082c13)
  • Forbid creating graphite collections with dublicated params (9ed603d2)
  • Merge pull request #250 from innogames/fix_permission_denied_for_unmodified_attribute (a5290041)
  • Unify comment style (31981297)
  • Add todo to improve ACL evaluation (6b9483df)
  • Add todo to check if we can use "read committed" (bb91f896)
  • Update Copyright (e9603a31)
  • Optimize imports and ordering (a89979dc)
  • Fix AttributeError: 'int' object has no attribute 'as_tuple' (a761d71d)
  • Fix Attribute was modified despite being whitelisted (4cb3d062)
  • Cleanup code (f170a8d8)
  • servershell: Improve highlights for changes (5efe9545)
  • implicit attr: Implement autocomplete (b6708c14)
  • commands: Fix indentation, Add documentation (abea8be9)
  • servershell: Add implicit attr/setattr/multiadd (aad4cdac)

v4.3.0 (2022-03-30)

  • Merge pull request #236 from YannikSc/y_ip_search (9441707f)
  • Merge pull request #243 from innogames/meik_DOS_7057_ipaddress_containedby (78a69647)
  • Merge pull request #249 from innogames/dependabot/pip/paramiko-2.10.1 (bf1b7bd8)
  • Bump paramiko from 2.8.0 to 2.10.1 (2f9f0f47)
  • Fix clearing the search shows all values now (5f722fdf)
  • Expect that ContainedBy raises a ValueError (9c66531d)
  • Merge pull request #247 from seqizz/g_hidelist (bbb7f066)
  • Merge pull request #246 from innogames/export_description (acc21c2e)
  • Remember attribute list status (d2c29bfa)
  • Merge pull request #238 from innogames/meik_DOS_4385_multidel (6d4b07cd)
  • Merge pull request #240 from innogames/opensearch (5a5b6515)
  • opensearch.xml: add "title" attribute (3975fd3d)
  • Add missing newline at end of file (03236333)
  • implement opensearch.xml to support SA search via browser search (35d23646)
  • Merge pull request #239 from innogames/improve_spinner (ed1ccf1b)
  • Merge pull request #245 from innogames/common_pagination (fa58af4d)
  • "export" command: use all selected attributes by default (2f1a76d0)
  • Change render to search (56d6ec72)
  • Use common paginator on leftover pages (48fa2e4f)
  • Merge pull request #244 from innogames/docker_remove_tty (d10d5f3d)
  • Remove tty: true for services (5a86de70)
  • Fix ContainedBy filter for IP networks (c1acc112)
  • Merge pull request #235 from innogames/sort_attributes (c52ad807)
  • Merge pull request #234 from innogames/persist_postgres_volume (dc8b867f)
  • Split spinner/timers for different ajax actions (40c9d0f0)
  • Fix multidel visualization (45175608)
  • Docker: persist database volume (02dcf54e)
  • intern_ip modal: Add search for intern_ip modal (748dd4fb)
  • Servershell: sort multi attributes alphabetically (17bb58a4)
  • Merge pull request #233 from innogames/fix_createapp_default_token (e2099ba6)
  • Fix passed token is ignored and always generated (d3b8cfca)
  • Merge pull request #231 from innogames/fix_env_path (91bafa4b)
  • Fix path to load .env in settings.py (a96c90cb)

v4.2.1 (2022-03-15)

  • Merge pull request #229 from innogames/safe_connect_signals (c87bd517)
  • Move pre-/post_commit signals to dedicated module (e024f4c4)
  • Connect signals using Signal.connect (a10f9240)
  • Merge pull request #230 from innogames/dependabot/pip/pillow-9.0.1 (2e3589b1)
  • Bump pillow from 9.0.0 to 9.0.1 (cd27c1be)
  • Merge pull request #227 from innogames/powerdns_update_domains (54106cfa)
  • Update PowerDNS domain data via post_commit signal (e2718dae)
  • Add tests to verify PowerDNS domain updates (fd996d64)
  • Merge pull request #228 from innogames/configurable_powerdns_integration (ccc07a75)
  • Make PowerDNS integration optional (0a3899bc)
  • Merge pull request #226 from innogames/powerdns_schema_and_unittest_improvements (b7cc51a7)
  • Fix contents (swapped) of database fixtures (ed7b9d5a)
  • Remove test dependency to database name (56933465)
  • Test PowerDNS signal functions directly (7355fe24)
  • Combine Domain tests into one Test class (b9248df9)
  • Create PowerDNS schema via Django migrations (67e9b6a6)
  • Merge pull request #225 from innogames/common_pagination (5b0ab51c)
  • Alter style for common pagination (3404e9fc)

v4.2.0 (2022-03-07)

  • Merge pull request #224 from innogames/feature/improve-admin-lists (e9ed35b8)
  • Show truncated hovertext for Attribute admin (045e51f6)
  • Add search fields and list filters for Attribute (52618cf8)
  • Add more display fields to Attribute admin list (6d61b6f4)
  • Add search fields and list filters for Server (91c01a11)
  • Add more display fields to Server admin list (4db60258)
  • Add display and search fields to Servertype admin (7f3bae9c)
  • Add search fields and filters for AccessControl (977c4fd5)
  • Add more display fields to AccessControl admin (e48d4e30)
  • Add search fields and list filters for Graphite (5b151626)
  • Add more display fields to Graphite admin list (499d3008)
  • Prefetch the owner relation for applications (f542cc93)
  • Add search fields and list filters for Application (cb94ec11)
  • Add autocomplete for owner form field (1f941986)
  • Prefetch public keys in the Application admin list (4b450c74)
  • Use display decorator to set attributes (d3ba5b03)

v4.1.2 (2022-02-28)

  • Fix restrict parameter of Query changed (#223) (28b0c2f6)
  • Add test case to delete PowerDNS domain (#222) (cc49531c)
  • Delete PowerDNS domains on object deletion (#221) (8c05eef2)
  • Display workflow status instead of travis ci one (#220) (160f3201)
  • Merge pull request #215 from innogames/create_pdns_domains (efc87f64)
  • Setup github workflows to run PowerDNS tests (6b99bbe5)
  • Ensure PowerDNS schema is present for tests (01b16c46)
  • Test PowerDNS domain creation on post_commit (cdc8613a)
  • Remove master attribute from Domain model (29941819)
  • Create PowerDNS domain on post_commit signal (7ee7235b)
  • Add default PowerDNS domain mapping config (397bad9f)
  • Setup signals module for powerdns app (55725804)
  • Rename domain_id to domain (db1d073e)
  • Merge pull request #219 from innogames/fix_serverdb_tests (dbc0ffb3)
  • Add missing class and method super calls (0cbad845)
  • Merge pull request #218 from dreis2211/fix-master-references (4884e38c)
  • Fix references to master branch (6fa7aba8)
  • Merge pull request #217 from innogames/docker_compose_fixes (1fba366a)
  • Let docker-compose services listen to localhost only (cb86729b)
  • Disable default sqlite backend in pdns-auth (f8434a93)
  • Merge pull request #216 from innogames/smaller_webui_fixes (4a83f74d)
  • Delete unused paginagion templatetag (89e9e9d6)
  • Include base.html in empty.html (26a30f87)
  • Allow all menu entries to be dropdowns (2ab1aea1)
  • Remove Show/Hide prefix for dropdowns in menu (4b72f731)
  • Merge pull request #212 from innogames/dependabot/pip/django-3.2.12 (3ba79ef1)
  • Bump django from 3.2.11 to 3.2.12 (2d3fa2c5)
  • Merge pull request #210 from innogames/synchronise_migrations (54cf6a0b)
  • Add migrations for (datetime) attribute, servertype (7a4aaaa8)
  • Merge pull request #209 from innogames/powerdns_migrations (faf45738)
  • Add missing powerdns migrations (bde58ff4)

v4.1.1 (2022-01-20)

  • Merge pull request #208 from innogames/revert-207-update_bootrap (b5b03927)
  • Revert "Update Bootstrap to 4.6.x" (4a297e45)

v4.1.0 (2022-01-20)

  • Merge pull request #205 from innogames/servershell_diff_objects (db6f0d26)
  • Merge pull request #207 from innogames/update_bootrap (43403a57)
  • Merge pull request #206 from innogames/fix_navigation_resize (b1871d06)
  • Use .table-responsive instead of custom CSS (a9e8d1e6)
  • Fix version and spinner break nav on small screens (695b3367)
  • Update Bootstrap to 4.6.x (a29068d9)
  • Use hostname instead of object_id as column header (60cda406)
  • Don't diff object_id and hostname only if requested (647ece32)
  • Add diff command to servershell (3c2d397c)
  • Mark PowerDNS extension as "under development" (03c370fe)
  • Merge pull request #203 from innogames/dependabot/pip/django-3.2.11 (431ff159)
  • Bump django from 3.2.9 to 3.2.11 (0248cfa1)
  • Merge pull request #202 from innogames/dependabot/pip/pillow-9.0.0 (a6b88e83)
  • Bump pillow from 8.4.0 to 9.0.0 (b9390dd6)
  • Merge pull request #201 from innogames/powerdns_managed_models (665cbe41)
  • Document link to PowerDNS PostgreSQL schema (985211f6)
  • Set connect timeout for pdns db to 1 second (2b520c1d)
  • Enable database router for powerdns models (8014615b)
  • Add database router for powerdns models (cf32fd9c)
  • Add Record model to access PowerDNS records (e69bb0ae)
  • Add Domain model to access PowerDNS domains (922052f2)
  • Merge pull request #200 from innogames/powerdns_app_packaging (4b17abb9)
  • Include powerdns templates in package_data (307a58b4)
  • Merge pull request #199 from innogames/powerdns_app (58bc004e)
  • Add menu entry for DNS (6adb568a)
  • Register powerdns app in INSTALLED_APPS (7cae73c9)
  • Create Django powerdns app (22e9045f)
  • Merge pull request #198 from innogames/powerdns_documentation (31652f2d)
  • Merge pull request #197 from innogames/powerdns_database_connection (0362fc83)
  • Add PowerDNS extension documentation (a3bc1dd3)
  • Show page index up to 2nd level on index.rst (433982d3)
  • Add optional configurable PowerDNS db settings (3d91d54e)

v4.0.0 (2021-11-23)

  • Merge pull request #194 from innogames/django_3.2.x (57ab0151)
  • Merge pull request #196 from innogames/docker_compose_powerdns (8109f759)
  • Update Django to 3.2.x (94405919)
  • Explicitly set DEFAULT_AUTO_FIELD to AutoField (bb405d6c)
  • Remove obsolete default_app_config for Django 3.2 (5504d44f)
  • Apply PowerDNS schema to pdns-db service on start (ee6af519)
  • Make web service depend on pdns-db (1bca1cec)
  • Add pdns-auth service (99ae008f)
  • Add pdns-db service (b996782e)
  • Update database engine module name (8942aaa8)

v3.10.0 (2021-11-15)

  • Merge pull request #193 from innogames/fix_django_environ_deps (a50d127a)
  • django-environ must be a dependency (8146befc)
  • Merge pull request #191 from innogames/servershell_dismiss_by_esc (ef5aa73c)
  • Merge pull request #189 from innogames/serverdb_history_exclude (04565ab9)
  • Dismiss alerts by keyboard shortcut (d55f3e21)
  • Merge pull request #192 from innogames/update_workflow_settings (e7ef1850)
  • Use PostgreSQL 14 for tests (eb6aa3eb)
  • Add Python 3.10 test support (2f3e1cee)
  • Drop Python 3.6 tests (d2ef18df)
  • Merge pull request #190 from innogames/servershell_alert_position (a53e9568)
  • Merge pull request #184 from innogames/docker_compose (e94b3dda)
  • Move alert box to the top right of the Servershell (f5d7fa4a)
  • Be able to exclude changes matching a string (e86b0a75)
  • Merge pull request #188 from innogames/fix_docs (4924fc7e)
  • Update Spinx to version 4.2.0 (7aac92e6)
  • Update copyright (a4e79dcb)
  • Use more pythonic way to check if string is empty (5d120f9a)
  • Rename variable PRODUCTION_DB to REMOTE_DB (ebc79070)
  • Fix typo in example email address (c8b92bcf)
  • Update instructions to setup development environment (2232884a)
  • Update instructions to setup development environment (cfc71853)
  • Setup ALLOWED_HOSTS settings for development (86c4c64a)
  • Create default application in dev environment (3a2e94ca)
  • Add management command to default application (417cf9cd)
  • Create default user in development setup on start (e199ca4e)
  • Add management command to create default user (49167757)
  • Ensure backwards compability by defaulting to None (a2a29c41)
  • Use django-environ to configure local environment (ed856137)
  • Provide script to dump production database (a5e04c40)
  • Make settings configurable via .env file (449c6d2e)
  • Start Django development server on web service start (680db0d9)
  • Add docker-compose.yml with web and db service (37ee9a9d)
  • Merge pull request #187 from innogames/fix_doc_tests (6b0af837)
  • Fix /bin/sh: 1: sphinx-build: not found (7c81b4d7)
  • Merge pull request #185 from innogames/docs_new_tab (09aff784)
  • Merge pull request #186 from innogames/pipfile_lock (61bc0bd8)
  • Update Pipfile dependencies to latest versions (e00fe851)
  • Open documentation in a new tab (398858d9)

v3.9.1 (2021-11-02)

  • Merge pull request #183 from innogames/can_sign (88939f25)
  • Check signing capability using non-empty data (2b5cf828)
  • Merge pull request #182 from innogames/g_bitmoredetail (93524ee5)
  • dataset: Add some verbosity to exception (2a18ddad)
  • Merge pull request #181 from innogames/dependabot/pip/sqlparse-0.4.2 (12444a34)
  • Bump sqlparse from 0.4.1 to 0.4.2 (4d4db43c)
  • Merge pull request #180 from innogames/dependabot/pip/pillow-8.3.2 (51053e6a)
  • Bump pillow from 8.2.0 to 8.3.2 (b154bfa7)

v3.9.0 (2021-08-03)

  • Merge pull request #179 from innogames/fix_alerts_move_table (a5437b38)
  • Fix alerts move result table up and down (60e07806)
  • Merge pull request #178 from innogames/fix_alert_hides_previous (069aac48)
  • Group alerts in div, use id for template alert (eb644076)
  • Fix new alert toggles previous one (ccebdb96)
  • Merge pull request #177 from innogames/servershell_autocomplete_remove_attr_completion (00e45df4)
  • Remove obsolete autocompletion for attribute ids (e210bb65)
  • Merge pull request #176 from innogames/servershell_remove_value_completion (520758dd)
  • Remove auto completion for attribute values (87c8672a)
  • Merge pull request #175 from innogames/servershell_add_pagination_buttons (54cd8264)
  • Add Next, Prev links to control pagination (a58e4661)
  • Merge pull request #174 from innogames/fix_servershell_perpage (d19d7bd5)
  • Fix pagination shows fraction after using perpage (4f849e89)
  • Merge pull request #173 from innogames/servershell_cleanup (028374d2)
  • Merge pull request #172 from innogames/jquery_update (bd0544d9)
  • Update jQuery from 3.4.1 to 3.6.0 (ea48576e)
  • Ensure browser autocomplete is off (17959fa6)
  • Update jQuery from 3.4.1 to 3.6.0 (cb5c2a65)
  • Remove unused variable (1ba5cad6)

v3.8.0 (2021-07-21)

  • Fix auto completion triggered after submit (b55ffd17)
  • Fix cannot select objects on pages other than first (efdd346d)
  • Fix style issues - terminate statements (0239f75d)
  • Set browser URL to latest Query (a1cea3e1)
  • Update serveradmin/servershell/static/js/servershell/autocomplete/command.js (db6f8dbf)
  • Allow bookmark, loadbookmark, delbookmar commands (92e8c06b)
  • Add test cases: overlapping values for networks (6ab2c695)
  • Make type read-only for editing existing attributes (de71f842)
  • Update serveradmin/serverdb/admin.py (dd3940f3)
  • Display ip_addr_type as read-only when editing (1c90deb9)
  • Open source the hosts autocompletion (a076f717)

v3.7.1 (2021-06-18)

  • Merge pull request #162 from innogames/fix_inet_attr_overlaps (0c7d6584)
  • Fix inet attribute overlaps with itself (015c354e)
  • Merge pull request #163 from innogames/fix_psycopg2_utc_connection_issue (65dd01bb)
  • Mitigate database connect isn't set to UTC (184440f5)
  • Merge pull request #161 from innogames/dependabot/pip/django-2.2.24 (607e7cff)
  • Bump django from 2.2.23 to 2.2.24 (8cff5308)

v3.7.0 (2021-06-08)

  • Update copyright date (f790a464)
  • Merge pull request #159 from innogames/servershell_fix_quoting (90a407e3)
  • Merge pull request #160 from innogames/fix_wrong_block (fb74461a)
  • Fix additional stylesheets in wrong template block (7cae31b6)
  • Fix quotes in search term are HTML escaped (e4689c7a)
  • Merge pull request #158 from innogames/pipfile_update (4c2aa478)
  • Use latest PostgreSQL version 13 (fe1f763e)
  • Drop Python 3.5 support (e2cc9fec)
  • Update Django, Jinja2 and some other libraries (4c13f962)
  • Merge pull request #157 from innogames/dependabot/pip/urllib3-1.26.5 (bf36a423)
  • Bump urllib3 from 1.26.4 to 1.26.5 (cc002456)
  • Merge pull request #156 from innogames/servershell_export_only_selected (3c7d2409)
  • Merge pull request #155 from innogames/grafana_link (d5dad600)
  • Display links to Grafana dashboard in graph page (e9265aa7)
  • Fix export command does not abide selected servers (c8e48299)
  • Fix typos (01a00900)

v3.6.4 (2021-05-19)

  • Merge pull request #154 from innogames/fix_new_server_form (3ce88b9d)
  • Fix PR number in comment (bf363b5d)
  • Fix FilterValueError when creating new object (8cf46036)
  • Merge pull request #152 from innogames/submit_only_changes_on_edit (95958263)
  • Do not commit object if there are no changes (c9b93eee)
  • Remove extra import (10ed75c3)
  • Fix all attribute values submitted (even unchanged) (a2266921)
  • Merge pull request #151 from innogames/timeout-float (ce86f009)
  • Prevent warnings for timeouts with decimal part (4103ea31)

v3.6.3 (2021-05-03)

  • Merge pull request #150 from innogames/fix_ip_addr_type_rename_object (030a925d)
  • Fix changing hostname raises ip_addr_type ValidationError (5a92cf6c)
  • Add test case to change hostname (6b547408)

v3.6.2 (2021-04-27)

  • Merge pull request #149 from innogames/fix_attr_inet_validation (697f3172)
  • Document how to run the tests (e6d26af4)
  • Add most important tests for ip_addr_type validation (7365241e)
  • Ensure intern_ip and inet attrs are transformed (d17b3e5c)
  • Add faker library to development environment (f4d0cb21)
  • Remove no longer required validation methods (cfe18693)
  • Deny adding inet attribute to ip_addr_type null (157c29a6)
  • Exclude ip_addr_type from change form in admin (7fd0b6c1)
  • Adjust description for ip_addr_type selection (8bf330aa)
  • Remove no longer used methods (6573350a)
  • Add comment to clean up duplicate logic later (75e5cd90)
  • Refactor validation for intern_ip and inet attributes (db330893)
  • Add a todo to refactor the validation (74918063)
  • Update copyright (1d612847)
  • Remove extra import for utc (173bcdad)
  • Sanitize clean method and its super call (899e892e)
  • Merge pull request #148 from innogames/dependabot/pip/django-2.2.20 (42757993)
  • Bump django from 2.2.19 to 2.2.20 (5145b73a)

v3.6.1 (2021-04-09)

  • Merge pull request #147 from innogames/more_xss_prevention (daef82f4)
  • Update parameter doc string for alert (ff957bdb)
  • Prevent XSS by appending results as text (18072a43)
  • Do not allow HTML in alert messages to preven XSS (1988cd7d)
  • Merge pull request #146 from innogames/fix_profile_format (44ac815c)
  • Remove no longer used function (1fb1aab8)
  • Use let instead of var for variables (2704e24e)
  • Add duration as text, it contains no html (da611984)
  • Log profile time in ms and fixed format (6e873122)
  • Merge pull request #145 from innogames/duplicate_violation (8e203acf)
  • Remove duplicate violation message (67f753af)
  • Merge pull request #144 from innogames/servershell_escape_attr_values (b07f5c1b)
  • Use shorthand of jQuery to create HTML tags (9cf8beb1)
  • Merge pull request #143 from innogames/explain_ip_addr_types (9d9a3bae)
  • Safely add attribute values to prevent XSS (f1d3cbb9)
  • Add curly brackets for conditions everywhere (e40bfe9a)
  • Add better explanation to ip_addr_type choices (801f3d7a)

v3.6.0 (2021-03-22)

  • Merge pull request #141 from innogames/compress_js_css (aba99dbc)
  • Merge pull request #140 from innogames/configurable_auto_completion_delay (17c32d5e)
  • Concatentate and compress JS/CSS on the fly (dfbcb826)
  • Merge pull request #142 from innogames/pipfile_update (5f654284)
  • Ensure latest Django 2.2.x is installed, update deps (8b53c291)
  • Make auto completion delay configurable per user (ef27c636)

v3.5.0 (2021-03-12)

  • Merge pull request #136 from innogames/autocomplete_show_exact_match (2ebc8944)
  • Merge pull request #138 from innogames/servershell_display_version (1f835883)
  • Merge pull request #135 from innogames/fix_cursor_pos_change (bbeaa532)
  • Show current version in Servershell (a5ff2857)
  • Merge pull request #139 from innogames/add_spinner_runtime (36e32cc8)
  • Fix auto completion overrides (similar) previous attrs (10abcac5)
  • Include entered attribute in autocompletion for attr commands (c5e5a43e)
  • Use curly brackets for if conditions (c7e1f08a)
  • Make sure spinner is always (only once) disabled (cf61714b)
  • Add simple version of the spinner timer (6483190c)
  • Merge pull request #137 from innogames/remove_spinner_timer (85daab58)
  • Simplify spinner by removing (wrong) progress timer (534384ff)
  • Use curly brackets for if conditions (d4f02200)

v3.4.1 (2021-02-26)

  • Merge pull request #132 from innogames/several_quick_performance_improvements (80406712)
  • Cleanup unused imports (b2c1ab9c)
  • Prefetch all many relations instead of FULL JOIN (a05fd9ce)
  • Optimize the way history data is loaded (cd9c4e4f)
  • Defer some special attributes in queries (1602c008)
  • Merge pull request #133 from innogames/fix_autocomplete_in_safari_webkit (92a3e6e5)
  • Merge pull request #134 from innogames/remove_travis_ci (cf05e290)
  • Remove Travis CI integration (227cf1b4)
  • Merge pull request #131 from innogames/actions (3040ee49)
  • Use brackets for if statement (7b436a67)
  • Add explainatory comment to maybe not so obvious statement (419fa5c8)
  • Fix command input not working in Safari/Webkit (b8702159)
  • Implement testing with github actions (a27cb549)

v3.4.0 (2021-02-19)

  • Merge pull request #129 from innogames/multiattr_inline_edit_conflict (a6eedd7a)
  • Use consistent if/else format everywhere (ae2f3256)
  • Make delete_attribute more readable (d8c5a5c0)
  • Fix multiadd, multidel ignore previous changes (d9dc1f06)
  • Check for duplicate values once (55070f96)
  • Add missing comma (3b1d93e1)
  • Do not set before possible removal (da99ff57)
  • Remove extra assignment we are working with refs (bd241c9f)
  • Remove meaningless concat (42a30095)
  • Fix removal of staged changes for attr not working (2852fd2c)
  • Merge pull request #130 from innogames/inspect_by_hostname (03ca122a)
  • Minor code style improvments (7d25a0e4)
  • Allow to inspect by hostname and check if object exists (ba8598a9)
  • Fix inspect crashes with HTTP 500 on Bad Request (7c71c9bb)

v3.3.1 (2021-01-29)

  • Merge pull request #126 from innogames/ssh_wrong_keys (2ef51abe)
  • Add install_requires (f453c19c)
  • Filter out bad keys from ssh agent (e5c9ae2b)

v3.3.0 (2020-12-21)

  • Merge pull request #125 from innogames/history_show_app_and_owner (da012c4c)
  • Show app and owner in Servershell history (e909b490)

v3.2.0 (2020-12-04)

  • Merge pull request #124 from innogames/profile_signals (f3cf26dd)
  • Add decorator to log function execution time (14222008)
  • Merge pull request #123 from innogames/consistent_string_represantation (c5d6393f)
  • Use consistent string representation in views (ec119977)

v3.1.0 (2020-11-04)

  • Merge pull request #121 from innogames/get_exclusive_ip_address (8b08523d)
  • Merge pull request #120 from innogames/adminapi_lock (327ea8cb)
  • Provide API endpoint to lock something for n secs (88a396fa)
  • Add method to get exclusive free ip address (1a29fd0f)
  • Update serveradmin/api/api.py (de09aae1)
  • Provide API endpoint to lock something for n secs (08a0599e)

v3.0.1 (2020-10-27)

  • Merge pull request #118 from innogames/fix_supernet_validation (b4580238)
  • Merge pull request #119 from innogames/fix_http_500_if_duplicate_intern_ip (edd91699)
  • Fix HTTP 500 when commiting new object with same IP (18776694)
  • Do not clone intern_ip it is usually unique (f542e2cd)
  • Fix ServertypeAttribute has no attribute (80974840)

v3.0.0 (2020-10-14)

  • Merge pull request #117 from innogames/fix_supernet_attributes (60937feb)
  • Deny wrong setup for supernet attributes and ip_addr_type (256cac47)
  • Fix supernet attribute breaks optional intern_ip (b2b1e964)
  • Merge pull request #116 from innogames/object_creation_without_hostname (c9c2a246)
  • Fix missing special attributes lead to server error (874148d4)
  • Merge pull request #114 from innogames/hostname_length (3402f3e3)
  • Merge pull request #115 from innogames/r_ressourcehvlink (4f59cef0)
  • Update serveradmin/resources/templates/resources/index.html (ebce54de)
  • Resources have graph link for hypervisor (f1569bee)
  • Increase hostname length to 254 characters (546b4724)
  • Merge pull request #10 from innogames/filter_removal (32ac357c)
  • Validate filter value datatypes (b8aeaa80)
  • Remove deprecated filters (232e5a9d)
  • Remove deprecated adminapi modules (2711e07e)
  • Merge pull request #113 from innogames/remove_query (53ac1f88)
  • Remove deprecated query function (c98815de)
  • Merge pull request #112 from innogames/remove_dataset_create (00c75c17)
  • Remove deprecated dataset_create function (1ef17938)
  • Create codeql-analysis.yml (bc19f23f)
  • Merge pull request #111 from innogames/setuptools (d1b9bc2d)
  • Install setuptools for packaing in dev environments (76251b4c)
  • Update Django to 2.2.15 (aa99c263)
  • Merge pull request #110 from innogames/r_addquotes (cefef937)
  • Missing quotes on additional attributes (15fca7c5)

v2.0.2 (2020-08-06)

  • Merge pull request #109 from innogames/grapite_cron_logging (9d27a1aa)
  • Improve logging of cache_graphite command (3559e7db)

v2.0.1 (2020-07-08)

  • Merge pull request #106 from innogames/fix_graph_url (fe604f7f)
  • Merge pull request #107 from innogames/update_dependecies (883d4b0d)
  • fix(graphite): render url not dispatched (b605b652)
  • task: Update Pipfile.lock (0b90a16b)

v2.0.0 (2020-07-06)

  • Merge pull request #105 from innogames/django_2 (f9ebf16b)
  • task: Add testing for Python 3.8 (070ed08e)
  • fix: Fix LANGUAGE_CODE value for Django 2.2.x (8d076dd8)
  • task: Update to Django 2.2.13 (b7a77f8b)
  • cleanup(adminapi): Delete obsolete interactive module (02a1894e)
  • cleanup(servershell): Remove obsolete export view (caae2757)
  • task(servershell): Update urls to Django 2.x (11315962)
  • task(serverdb): Update urls for Django 2.x (cea3f3ea)
  • task(resources): Update urls for Django 2.x (71fdb31f)
  • task(graphite): Update urls for Django 2.x (d5948743)
  • cleanup(api): Remove obsolete functions view (7ad7f3f9)
  • task(api): Update urls for Django 2.x (135d883b)
  • task: Update serveradmin urls.py to Django 2.x (c074a763)
  • task: Update to Django 2.0.19 (855c8749)
  • Merge pull request #103 from innogames/adminapi_dependency (b8efa839)
  • fix: Move VERSION from serveradmin to adminapi (c1370978)
  • cleanup(adminapi): Remove deprecated functions (1720c05f)
  • Merge pull request #102 from innogames/adminapi_timeout (653101f5)
  • fix(adminapi): No retry at timeout or abortion (df792ab9)
  • Merge pull request #101 from innogames/postgresql_11 (679dd01b)
  • task: Update Travis CI to use Postgresql 11 (9061fcb3)
  • Merge pull request #100 from innogames/django_1_11 (85ac7d94)
  • task: Require Django 1.11 minium and Python 3.7 as default (e7f1bf3d)
  • Merge pull request #97 from innogames/serveradmin_dataset_object (6c94f070)
  • Merge pull request #99 from innogames/hotfix_templatetag_common_group (48fb6c98)
  • fix(common): Zero columns make range function fail (1ff35f47)
  • Merge pull request #98 from innogames/migration_log_cleanup (6bda4634)
  • fix(clear_migration_log): add missing init files (72fce5c0)
  • Merge pull request #96 from innogames/migration_log_cleanup (3aade24d)
  • feature: Provide server side DatasetObject (4eb4ecd8)
  • serveradmin(resources): add management command for migration log cleanup (c8107153)
  • Merge pull request #90 from innogames/travis_python_versions (f29c8b6a)
  • task: Update distribute and python versions for tests (cbee905f)
  • Merge pull request #95 from innogames/automatic_urls_include_bugfix (e7c86dc9)
  • fix: Skip app if urls module does not exist (da8172f0)
  • Merge pull request #94 from innogames/automatic_urls_include (d8795a9b)
  • Merge pull request #93 from innogames/more_tests (73126c62)
  • feat(adminapi): Add unittests for commandline interface (f6f536f2)
  • fix: Support automatic url inclusion for AppConfig (618166e2)
  • feat: Run tests in parallel (33568ce3)
  • fix: Remove left over databases if necessary (ddbdcca5)
  • Merge pull request #92 from innogames/fix_detault_attributes_shown_twice (a64d5f80)
  • fix(servershell): Sort default attribute alphabetically (241ff624)
  • fix(servershell): Default attributes show twice (ae6caeb9)
  • Merge pull request #91 from innogames/hotfix_servershell_multiattr_submit (4563c226)
  • fix(servershell): Cannot submit multi values of int and bool (72b7cb61)
  • Merge pull request #88 from innogames/fix_servershell_default_visible (9ad824fb)
  • Merge pull request #89 from innogames/kofrezo_adminapi_version (cc117e29)
  • fix(servershell): Use ServertypeAttribute default visible (c9ea3c3a)
  • feature(adminapi): Send version with each request (c22725de)
  • Merge pull request #87 from innogames/catch_suspicious_operation (3161d704)
  • Merge pull request #86 from innogames/adminapi_request_expired (e724e128)
  • fix(api) Catch SuspiciousOperation to ensure JSON response (4047860e)
  • fix(adminapi): Do not sent already expired request (86546d7f)
  • Merge pull request #83 from innogames/adminapi_403 (5f0cdd06)
  • Merge pull request #85 from innogames/api_improve_error_message (a5923450)
  • task(api): Improve error logging for api views (1a639b4b)
  • task(api): Add user or application id to error (52f14e71)
  • Merge pull request #84 from innogames/common_cleanup (106224a2)
  • task(common): Delete unused templatetags (e59dcb18)
  • Merge pull request #82 from innogames/servershell_hotfixes (a80cd8d8)
  • style(resources): Make PEP8 happy and use two spaces (6a76cc02)
  • style(servershell): Return early for sake of readability (51a0885b)
  • style(servershell): Don't abbrevate variable to sinlge letter (d7d94770)
  • style(servershell): Put brackets and else into oneline (103a3fc1)
  • fix(resources): Use page 1 if page exceeds available ones (36282a14)
  • style(resources): Remove obsolete imports (f6f365c8)
  • task(servershell): Improve auto completion for search (26210960)
  • style(servershell): Fix grammar of comment (362d79c6)
  • fix(servershell): Don't allow invalid page values (e182ff94)
  • fix(resources): Submitting filter again overrides page (ac41d8c7)
  • fix(servershell): Typing too fast omits characters (96683bc7)
  • fix(servershell): Search term not saved in session (fb0be42d)
  • fix(servershell): Fix per_page value not submitted (c39f9f23)
  • fix(resources): Fix pagination (94fdd53b)
  • task: Explain why we need dateparser module (c9ffdac7)
  • Merge pull request #81 from innogames/bootstrap_bugfixes (2db8f4cc)
  • style(servershell): Fix doc string indention (c4143b4c)
  • style(servershell): Use curly braces for if conditions (fe9ca2b1)
  • fix(resources): Include CSS and JS into packaing (9a9605a7)
  • style(servershell): Move return to an extra line (180effe4)
  • style(servershell): Improve readability of condition (1b4a79c8)
  • style(common): Add missing doc for parameter (c4957d91)
  • style(common): Improve wording in doc string (3ffc7e51)
  • style(common): Append semicolon at end of style attribute value (ede6bf82)
  • fix(servershell): Changes page not accessible without selection (3fc19c81)
  • fix(servershell): Autocomplete overrides user input (a4675acf)
  • fix(servershell): Can not got further than first page (bbf85944)
  • fix(resources): Add pagination to resources page (89a02c6b)
  • fix(serverdb): Columns in history do not have the same width (8a4a0652)
  • fix(common): Minor spinner bug fixes (e03e58ef)
  • fix(servershell): Close auto complete on exact match (4b58d8f6)
  • fix(servershell): Search error not displayed (a96507df)
  • fix(servershell): Fix bugs related to auto complete (53b264c7)
  • fix(common): Messages show status string (67411b57)
  • feature(servershell): Make save shown attributes optional (9b88bd5a)
  • fix(servershell): Second multiadd overwrites previous changes (ea9d328c)
  • fix(servershell): Servertype attribute is editable (b07a7fa8)
  • fix(serverhell): Regexp hint show null for special attributes (daccb663)
  • fix(servershell): Allow manual entering of IPv4 address (790cc18e)
  • servershell(task): Add multi attribute indicator to attributes list (6ee31657)
  • fix(servershell): Fix attribute marked as changed without change (fd28c59e)
  • fix(common): Spinner counter too fast due to missing reset (d6b0ab81)
  • fix(servershell): Attributes list selection not removed (db0c4d70)
  • servershell(fix): User types to fast for auto completion (e036bce3)
  • fix(servershell): setattr with empty does not delete attribute (55ff9891)
  • fix(servershell): Setting boolean to 0 becomes true (1ff73f99)
  • fix(servershell): Boolean attribute displays Empty at inspect page (7199eeea)
  • fix(resources): Bring back graphes for resouces page (e53d78c3)
  • fix(servershell): Multiple searches possible (5d507cbc)
  • Merge pull request #80 from innogames/bootstrap (15bd9420)
  • fix(servershell): order by fails due to wrong attribute comparison (45f2d697)
  • fix(resources): graphite.js not loaded (bc17e511)
  • style(servershell): Remove extra border from result table (385618ec)
  • fix(servershell): Long cells not breaking on screen end (529139d8)
  • fix(common): Wrong path for javascript plugins (1e4d8c8d)
  • fix(servershell): Treat 'false' as '' (false) for setattr command (4cc6194e)
  • task(common): Bring back favicon (86da92f0)
  • fix(common): plugins javascript not packaged (3944cbd0)
  • task(servershell): Reword description for search settings (18294843)
  • fix(servershell): Object selection toggled on reload (be9825a1)
  • fix(servershell): Fix type in legend for keyboard shortcuts (e22ca270)
  • fix(servershell): Auto dismiss alert visible again (d513e4b7)
  • fix(servershell): Fix inline editing for boolean value (8b8557ac)
  • feat(servershell): Save search settings in session (6299bf0a)
  • feat(common): Allow ALT + BACKSPACE to delete words in input (4429c1d1)
  • fix(graphite): Minor bugs in graph_table page (cd257fba)
  • task(servershell): Show description of commands in auto complete (c37e8443)
  • task(servershell): Show attribute type in attribute list (fbfc41a3)
  • feat(servershell): Provide inline validation for inline editing (edfed156)
  • fix(serverhsell): On-the-fly validation not working (9445c378)
  • fix(servershell): Minor fixes for auto complete (dec2c524)
  • fix(servershell): 1 and 0 not converted for boolean attributes (ce8245f5)
  • fix(servershell): Spinner not disabled after successful commit (8f823c1d)
  • fix(servershell) Sort command auto complete from a-z (377f53c1)
  • fix(servershell): Result page indicator fixes (e256ffee)
  • fix(servershell): perpage autocomplete forces user to pick (3ce678ba)
  • fix(servershell): Object not having attribute shows null (6de5a279)
  • task(servershell): Use kbd tag to show keyboard shortcuts (e16cbc61)
  • feat(common): Add time elapsed to spinner (fd0b86db)
  • feat(servershell): Reload search if tab to command (7b449619)
  • fix(servershell): Exit auto complete on ESC key (95385c42)
  • feat(servershell): Only export selected hosts (3b2fcd7d)
  • fix(servershell): Minor bugs in attr command (f6b4a051)
  • fix(servershell): Warning shows select at most -1 objects (057b257e)
  • fix(servershell): Save perpage value in session (7f9e0874)
  • feat(servershell): Select first element if there is only one (4308bc9e)
  • fix(servershell): Focus command input after successful search (0cc1333c)
  • feat(servershell): Allow to filter history for attribute (0222b46f)
  • feat(serverdb): Allow to search in history of objects (89575a80)
  • task(servershell): Bring back history command (4e237004)
  • fix(serverdb): Make restore work again and minor bugs (118d89f8)
  • fix(servershell): Double click on inline edit closes inline edit (f6d5a35e)
  • fix(servershell): Numeric attributes not casted to integer (4feee4cb)
  • fix(servershell): Not editable attribute values missing (e39596f7)
  • fix(servershell): object_id marked as editable (3c9778ea)
  • fix(servershell): Can not click value to inline edit (618d3254)
  • fix(servershell): Autocomplete for hostname has empty value (c76aa2af)
  • feat(servershell): Retry search and commit after 5 seconds (7907358a)
  • fix(servershell): No error message shown on backend error (6328f2ee)
  • fix(servershell): Empty attributes not inline editable (f4e15ac3)
  • fix(servershell): All attributes queried for objects (c1659e72)
  • fix(servershell): Fix can not delete attribute with inline editing (94600d44)
  • fix(servershell): Fix inline editing bugs (6cad7480)
  • task(servershell): Remove hover function from tables (cda6be95)
  • fix(servershell): Search command does not focus search input (c094d38f)
  • fix(common): Icon does not link to root page (366505ac)
  • fix(servershell): shown attributes not at end of list (b1e81a81)
  • fix(serverdb): Open links to history of objects in new tab (6d5a0d98)
  • feature(servershell): Save shown attributes choice (33ffaffa)
  • fix(servershell): Empty command raises warning (917bf7d8)
  • fix(graphite): Unknown hostname or object_id throws 500 (0950bba2)
  • style(servershell): Use component color for auto complete (e8b58fa8)
  • task: Unify colors using bootstrap themes (6e44878f)
  • fix(servershell): Auto focus first elment of auto complete (871012f5)
  • task(servershell): Show alerts for 5 seconds (b86eff81)
  • fix(servershell): Don't show object_id by default (f02e1d80)
  • fix(servershell): Restore tab order for input fields (9365a7f8)
  • task(servershell): Bring back auto complete for command (999484a9)
  • task(servershell): Bring back inline editing command (2656f1de)
  • task(servershell): Make change to_commit visible (b9e0a219)
  • style(servershell): Use precise terminology and scope (d87f7d9f)
  • task(servershell): Rewrite commands for editing (0d621093)
  • fix(serverdb+servershell): Fix minor bugs in changes.html (35cada78)
  • task(serverdb): Require dateparser module (00eb938e)
  • task(servershell): Bring back changes command (02858247)
  • task(servershell): Bring back clone command (78756df3)
  • task(servershell): Bring back new command (b88ba8a6)
  • feat(servershell): Add javascript alerts on error (e6d0ee29)
  • fix(servershell): Keep selected servers on search reload (ae4d643f)
  • task+feat(servershell): Bring back commands part 1 (067c1730)
  • task: Fix typo in function name (0c8322a0)
  • fix(serverhell): Fix javascript errors on load (186466be)
  • feat(servershell): Add options menu to disable auto complete (acbaaddd)
  • task(servershell): Adjust CSS to align labels for input (43a0b594)
  • style(servershell): Reformat Code (9cf5493c)
  • feat(servershell): Autocomplete for search term (82e00c45)
  • feat(servershell): Remove tailing whitespace from term (db36455c)
  • task(servershell): Use 25 object per default per page (38ae44d1)
  • feat(common): Use bootstrap alerts for django messages (3a1548a7)
  • feat(serverhsell): Rewrite Servershell JS part 1 (ea7a97cf)
  • task(servershell): Delete obsolete files for JS rewrite (e34b3682)
  • task(servershell): Adjust serverhshell for boostrap (9fcade2c)
  • task(servershell): Move js and css to correct folder (b0003cf6)
  • task(servershell): Use full jQuery for Ajax support (2591a821)
  • task(servershell): Move templatetags for servershell (c8373939)
  • task: Adjust menu.html entry for bootstrap (4079d69e)
  • feature(common): spinner, messages and docs in base.html (e8496853)
  • task(servershell): Use menu template mechanism to add entry in nav (26e90209)
  • task(common): Change base.html template to twitter boostrap (9cb285a1)
  • task(common): Remove InnoGames name from logo (308a2ea8)
  • task(common): Add js/css/icons for twitter bootstrap (c600fb01)
  • task(common): Delete static data not used by bootstrap (9d7f2b4f)
  • Merge pull request #79 from innogames/kofrezo_fix_hostname_regex (31a99f63)
  • fix(serverdb): Allow two or more hyphens in hostname (743def13)
  • Allow the logo filename to be customized via settings.py (ec540ae1)
  • adminapi: Drop python2 support (7165f1db)
  • docs: Update documentation links (4bf03f0c)
  • docs: Host docs on read the docs (83c9b1ed)
  • docs: Test docs build via travis ci (0951ff5e)
  • docs: Add initial sphinx work (4d7074df)
  • Merge pull request #76 from innogames/bugfix/regenerate-link-after-attr-refresh (cb10dad4)
  • Regenerate link after attr refresh (e4ba787e)
  • Bump copyright notice year to 2019 (407aadce)
  • Merge pull request #74 from innogames/fix_graphite_validator (ded743ad)
  • Update graphite cache only for non-retired servers (679d23c5)
  • graphite: Remove validator from Template and Variation names (1e92f272)
  • Merge pull request #71 from innogames/app_last_used_tracking (707a2a2e)
  • apps: Show some read only fields in detail admin interface (59c66010)
  • apps: Show last_login in admin apps list (c899372e)
  • api: Update app.last_login field in api decorator (edde32e7)
  • api: Use proper datetimes in api decorator (66d7ef97)
  • api: Stop passing unused attribute around (c62e86ed)
  • access_control: Unify models.py style (5a2b394b)
  • apps: Add last_login field (7c7121a7)
  • dns: Return internal NS servers from internal DNS servers (ae6451ec)
  • Merge pull request #70 from innogames/return_403_message (2e1442a7)
  • api: Handle PermissionDenied Exception in api_view (85ded658)
  • Merge pull request #69 from innogames/fix_acls (118e1c1a)
  • acl: Fix vulnerability allowing the change of non-whitelisted attributes (f2784d47)
  • acl: Add option to use attributes list as blacklist (4d512022)
  • api: Improve ACL checker docs and error messages (d7900ab9)
  • Merge pull request #66 from innogames/remove_default_api_url (a167941b)
  • Merge pull request #68 from innogames/remove_markup_deprecated (44f815db)
  • Drop requirements.txt (4bec4147)
  • api: Drop django-markup-deprecated requirement (9a76e159)
  • Merge pull request #54 from innogames/django2_support (98d3fa05)
  • Point travis status image to travis-ci.com (6e65d79c)
  • urls: Switch to new django admin include style (6b070020)
  • settings: Update name of postgresql DB engine (e5beb694)
  • settings: Rename MIDDLEWARE_CLASSES to MIDDLEWARE (df651891)
  • Import reverse from django.urls (df307088)
  • Fix delete_selected action removal for django2 (026464a5)
  • Improve url import error handling (82ba0058)
  • Drop empty boilerplate django app files (dd41c5a6)
  • Merge pull request #67 from innogames/rip_out_api_loader (1182c530)
  • Rip out the serveradmin API function loader middleware (24bbe1e4)
  • adminapi: Remove default API URL (58bb11b4)
  • Merge pull request #65 from innogames/key_length_problem (17328059)
  • apps: Make 8192bit RSA keys fit in PublicKeys (8ba923ca)
  • api: Fix ssh authentication for object creation (b6b95262)
  • api, adminapi: Fix version compatibility regression (7ab78597)
  • Merge pull request #63 from innogames/ancient_paramiko_support (40c45cbc)
  • apps, adminapi: Make parmiko > 2.0 features optional (dc2b836f)
  • Merge pull request #62 from innogames/ssh_api_auth (4e5c6f56)
  • api: Change acceptable timestamp offset to +-16s (2e3230af)
  • api: Allow authenticating with multiple keys of the same app (ae78dbf1)
  • docs: Add doc strings to ssh auth functions (1e2434bd)
  • docs: Explain ssh based authentication usage (6b7f932a)
  • apps, api, adminapi: Support multiple keys per app (c81ae038)
  • adminapi: Fix ApiErrors for non json encoded repsonses (20c07acf)
  • adminapi: Support loading keys directly from files (a2144ee5)
  • adminapi: Improve ssh agent error handling (9ec3518b)
  • api, adminapi: Stop using json in headers for ssh auth (0732b53f)
  • api, adminapi: Don't use security_token for ssh auth (9e351b4c)
  • apps, api, adminapi: Don't use app_id for ssh auth (1f5c29c3)
  • apps, api, adminapi: Initial ssh based api authentication (84cd2281)
  • adminapi: Define exceptions in a central place (9122391f)
  • apps: Remove unused templates (559f9d99)
  • linter: Ignore flake8 error W504 (b3cd29c3)
  • Merge pull request #61 from innogames/datetime (27629c06)
  • dataset: Add datetime attribute tests (74859736)
  • adminapi: Fix timezone aware datetime deserialization on py2.7 (5ea161b3)
  • adminapi: Fix timezone aware datetime serialization on py2.7 (a10bbc7b)
  • serverdb, adminapi: Expose timezone on datetime objects (b119e9f6)
  • serverdb, adminapi: Add datetime attribute datatype (a18e24aa)
  • Drop simplejson import fallback (af8f3614)
  • Revert "Improve uniq ip constraints" (dd61f2bc)
  • Merge pull request #60 from innogames/fix_migrations (4df133ea)
  • Fix testing fixture (eb6cbda5)
  • Downgrade django to 1.10.x as used in production (16642d14)
  • Improve uniq ip constraints (963274a7)
  • Add explanations to hand written migrations (79a57589)
  • Regenerate initial serveradmin migrations once (f03e63ab)
  • Make the Collection.overview fields help setting independent (030424b1)
  • Set on_delete=CASCADE where on_delete is undefined (a21a20da)
  • Merge pull request #59 from nijel/exception (9bfb25e0)
  • Avoid throwing non exception (742f2cd7)
  • Merge pull request #58 from nijel/patch-1 (c57cdbd4)
  • Update README.rst (8d5dafc5)
  • servershell: Fix history and changes (241d43aa)
  • Merge pull request #56 from innogames/deployment (de54ddf8)
  • graphite: Fix cache_graphite command on django 1.10+ (dde602ba)
  • api: Add health_check view (00ef1296)
  • Simplify default logging config (2d95580c)
  • Load user config from /etc/serveradmin/settings.py (d8ef6979)
  • Split settings.py into default and user settings (679487ba)
  • Remove custom jinja2 Environment settings (fec803f3)
  • Add serveradmin modules to setup.py (95cfc848)
  • Move serveradmin manage.py to serveradmin.main.py (30db3c2a)
  • Move adminapi run.py to adminapi.main.py (38b43664)
  • Use APP_DIRS for jinja2 loader (c7840e7d)
  • Generate requirements.txt via pipenv (6014e361)
  • Merge pull request #55 from innogames/kofrezo_update_adminapi_docs (ce6f84fd)
  • Use key, value example for showing object attributes (6f3b4fd0)
  • Update Adminapi documentation (45255385)
  • Make edit form submit button say 'save' (5725236e)
  • Merge pull request #53 from innogames/fix_joins (7610110d)
  • adminapi: Fix restricts of type set - again (36a7914c)
  • Revert "adminapi: Fix restricts of type set" (d09d0b70)
  • query_materializer: Re-add cidr hostmask to all networks (59c941b9)
  • adminapi: Fix restricts of type set (b1ac84ad)
  • Merge pull request #51 from innogames/rework_object_id_patch (63a2a12a)
  • DatasetObject: Pass object_id as a separate parameter (2fe1f441)
  • BaseQuery: Raise TypeError if restrict isn't a list or None (d59909f1)
  • Fix Any() queries with sub-filters (cc66c99d)
  • servershell: Handle users not passing a servertype (bcbbe821)
  • servershell: Fix clone (cf6fbe51)
  • Fix serverside regexp validation on booleans (4a10d60e)
  • Fix boolean representation on servershell edit (2c3ff0e9)
  • Make the regexp column not null (1c52ab18)
  • Increase the size of the new regexp column (d5bb0c7a)
  • Add db check constraint for the new regexp column (05c0fd05)
  • adminapi: Get auth_token via SERVERADMIN_TOKEN env variable (8a351cbf)
  • Merge pull request #47 from innogames/attribute_regexp (9175760f)
  • Put whole regexp to database (753ec22b)
  • servershell: Get regexp from available_attributes, flatten editable_attributes (c531335a)
  • Move regexp from ServertypeAttribute to Attribute (1a09aed8)
  • servershell: Don't let readonly attributes to be edited (c210124b)
  • servershell: Rename avail_attributes (447070ef)
  • query_executer: Fix related_vias by not re-using drained generator (c8224ad8)
  • adminapi: Bugfix for queries with restrict=None (a157ba55)
  • Merge pull request #50 from innogames/bugfix_recursive_objectid (db51b55a)
  • adminapi: Ensure object_id in BaseQuery._restrict setter (4d80fa66)
  • servershell: Disable editing related via attributes (8fb4f9be)
  • Optimize away fetching attributes from SQL generator (21a4d7a6)
  • Avoid querying related via reverse attribute (80c24cf1)
  • servershell: Fix typo on help (54887166)
  • Fix false positives caused by related via attributes (b428c3f5)
  • Fix repeated SQL where conditions (b101e35a)
  • db: Remove DNS tables (076ea02d)
  • Merge pull request #49 from innogames/bugfix_adminapi_objectid (9b30ba06)
  • adminapi: Ensure legacy Query.restrict() asks for object_id (d17a2c5d)
  • adminapi: Don't depend on object_id in DatasetObject constructor (c61be017)
  • Merge pull request #48 from innogames/post_commit_signal (30e86181)
  • Add post_commit django signal (68083157)
  • db: Trim dns_public.extra_record privilege (81f0ebf3)
  • db: Don't provide domain_ids (52bb4329)
  • Merge pull request #45 from innogames/adminapifix (afad31a3)
  • adminapi: Fix querying all attributes (47cb7675)
  • Merge pull request #39 from innogames/domain (a3b3f366)
  • servershell: Fix undefined variable after recent renaming (0231b71b)
  • domain: No longer tolerate extra periods in hostname part of fqdn (e0a0a62c)
  • domain: Implement new attribute type domain (7327bc1d)
  • Merge pull request #44 from innogames/object_id (e76a56fc)
  • Don't materialize object_id when not requested (d4ef32e5)
  • Merge pull request #43 from innogames/input_pattern (0b606c8f)
  • Fix Attribute queries after removing caching (1f909154)
  • edit: Use regexp as pattern for client site validation (6caefc1b)
  • edit: Reorder type and regexp columns after the value (d3fce812)
  • edit: Order fields by required, name (8fa08066)
  • edit: Mark fields as required for client site validation (da64969f)
  • edit: Drop ' ' from the end of all <textarea>s (85b9b3f1)
  • edit: Drop 'required' column, suffix keys with '*' instead (0fcb81f8)
  • edit: All special attributes we haven't skipped are required (2aba7e05)
  • edit: Hide intern_ip if servertype.ip_addr_type == 'null' (16d470ca)
  • Merge pull request #38 from innogames/nocache (6bd16023)
  • Stop caching lookup objects (09b31d6f)
  • sql_generator: Optimize away unneeded servertype_id condition (bb257ef4)
  • sql_generator: Simplify ORDER BY clause (fdd77082)
  • query_materializer: Represent IP addresses based on hostmask (7578da71)
  • query_materializer: Rework the interface (6aefd530)
  • query_executer: Optimize accessing attributes (b73682e9)
  • query_executer: Handle queries that are destined to fail or pass (c470047f)
  • query_executer: Improve documentation (6338db00)
  • query_committer: Optimize accessing attributes (87511a48)
  • query_committer: Flatten the module (627cdb7f)
  • query_committer: Remove unreachable code on _validate() (9fa61df7)
  • Merge pull request #42 from innogames/readonlyacl (b587e68e)
  • Apply access control to readonly attribute too (261aba04)
  • Merge pull request #40 from innogames/cleanup (c90215cc)
  • Drop old automatic IP address selection (4e7dc910)
  • Replace defaultdicts in favor of .setdefault() (6d61fd48)
  • Add note to run.py (7ead4e12)
  • Unify Python file headers (ba481c9c)
  • Remove unused code under common/ (21b2b4cf)
  • Remove old dataset interface (1a9670e1)
  • Rip out the hooks (4b061680)
  • Merge pull request #41 from innogames/ip_picker (0bbc84db)
  • servershell: Drop unused new_server.html (51ca41ff)
  • servershell: Don't throw js error on missing command attribute (0c465364)
  • servershell: Add ip address picker to edit.html (6e47eb96)
  • db: Specify types of literals on DNS views (381b8b4b)
  • Remove dead code on get_server_query() (85256a74)
  • Remove unused property related_servertype_attributes (878102d3)
  • Write constants uppercase on serverdb.models (ab763d05)
  • Improve code style of serversearch.py (2bbb2746)
  • db: Pay attention to typecasting on DNS views (72c3a2ed)
  • Fix servertypes not shown on Django admin (6893b6d5)
  • docs: Remove sshaccess table from extending page (8340c951)
  • Merge pull request #37 from innogames/servershell_no_new_popup (2bace4ef)
  • Rename new_server and clone_server to new_object and clone_object (41de0c78)
  • servershell: Remove intermediate form from server creation (f3b5754d)
  • servershell: Split clone from new view (97b0dc45)
  • servershell: Add servertype autocomplete to 'new' command (636bed9f)
  • servershell: Replace ambiguous symbol of reverse attributes (06950234)
  • dns: Provide MX records (3bcd241f)
  • dns: Serve public domains as well (674b90af)
  • dns: Provide NULL-typed project_domain records (c2c0d83a)
  • dns: Turn "domain" into relation (ad78b836)
  • Allow widecard domains (167686ff)
  • Remove migrate_projects.sql db script (ed12c180)
  • Merge pull request #35 from innogames/project (69b5395e)
  • Remove special projects (d4a95f8b)
  • Add consistent_attribute field (9ddbf1db)
  • Remove fixed projects (dac24d38)
  • Fix Django 1.8 compatibility (18188857)
  • Don't expect DataErrors on API methods (0653a259)
  • Remove idle template (b868bc00)
  • Add db scripts to here (e1de99e1)
  • Don't expect db errors on the views (0e0da3ad)
  • Proxy graphs on popups (9393d20e)
  • Fix duplicate attributes on history (cdae6dc3)
  • Hide object_id on changes (55988fb6)
  • Fix datetime format (f0c1ecc0)
  • Fix ordering by relations (eddca75d)
  • Handle DataErrors on API (557efad5)
  • Handle nonexistent objects on commit (66c95876)
  • Handle nonexistent attributes for ACLs (8946dbea)
  • Merge pull request #33 from innogames/space_hypervisor_attribute (b698707c)
  • Replace xen_host attribute with hypervisor (40c11d59)
  • Merge pull request #31 from innogames/kofrezo_development_indicator (7e62e754)
  • Show panel with development warning in debug mode (74c86b64)
  • Merge pull request #30 from innogames/mac_unix_expanded (7ca2b598)
  • Use mac_unix_expanded when available (36ddc93f)
  • Fix clonning attributes (88399936)
  • Mark special attributes to clone (9b886f26)
  • Fix initial serverdb migration (9174e3a3)
  • Fix Django Admin eating data (a3dfef19)
  • graphite: Add relations to Django Admin (27113734)
  • Order servertype attributes (3c466c7a)
  • servershell: Fix getting new IP address (8c86f4f5)
  • Revert "api: Do not return all attributes for empty" (cd07b9cf)
  • Rename attribute type hostname (0550b1d7)
  • adminapi: Don't save restrict and order_by when dummy (52ce74d1)
  • servershell: Fix inspect and edit commands (53dd9e1d)
  • servershell: Trim unused import (2ad70dd4)
  • Fix graph tables (ad92039b)
  • Enable file based sessions (7f262618)
  • Improve settings.py style (e7ff33cc)
  • Quick-fix the hooks (9a7b6157)
  • Fix tests requiring other attributes (14c2113c)
  • adminapi: Query hostname by default (7188376a)
  • Fix the tests by not wrapping in transaction (97c07e55)
  • Upgrade Django (388b36c1)
  • Use consistent database snapshot for query (29c1998c)
  • Remove JavaScript debugging leftover (99d974b7)
  • adminapi: Ask for object_id explicitly (5740e613)
  • api: Do not return all attributes for empty (6a6f29b5)
  • Do not query any attributes by default (f9fa1676)
  • Mark attributes to be cloned explicitly (badc1eaf)
  • Fix Django 1.9 compatibility on clone (ccfe8915)
  • Split the complex function on sql_generator (3de71efd)
  • Support attribute based ACLs (405fd347)
  • Simplify access control groups (c1b65e50)
  • Fix querying relations with Any() (0940132f)
  • Merge pull request #28 from eviscares/remove_csrf_requirement (5c0f8269)
  • Remove csrf requirement for index method (404530ee)
  • Merge pull request #27 from eviscares/find_user_simplification (fd223f85)
  • Fix cache_graphite command (6e3e9a06)
  • Fix restoring deleted servers (1b704fc2)
  • servershell: Fix auto-completing filter names (2c3315b0)
  • Don't give error for nonexisting relations on query (d43b6cfc)
  • Update context_processors namespace on settings (c8f01cf1)
  • Make sure all URLs are new style (f3965805)
  • Remove idle load balancing endpoints (daeb10ec)
  • Simplify adminapirc detection (c27d3c08)
  • adminapi: Fix handling HTTP errors on Python 3 (fdf74ab7)
  • Reword related attribute error (2cbae5d9)
  • servershell: Except server-side query errors (73e22c0c)
  • Quick fix performance regression on joins (15da29e2)
  • Fix saving changes (d69b8edf)

v1_stable (2018-02-26)

  • No changes recorded

v1.9.3 (2020-06-23)

  • Merge pull request #102 from innogames/adminapi_timeout (653101f5)
  • fix(adminapi): No retry at timeout or abortion (df792ab9)
  • Merge pull request #101 from innogames/postgresql_11 (679dd01b)
  • task: Update Travis CI to use Postgresql 11 (9061fcb3)
  • Merge pull request #100 from innogames/django_1_11 (85ac7d94)
  • task: Require Django 1.11 minium and Python 3.7 as default (e7f1bf3d)
  • Merge pull request #97 from innogames/serveradmin_dataset_object (6c94f070)
  • feature: Provide server side DatasetObject (4eb4ecd8)

v1.9.2 (2020-06-03)

  • Merge pull request #99 from innogames/hotfix_templatetag_common_group (48fb6c98)
  • fix(common): Zero columns make range function fail (1ff35f47)

v1.9.1 (2020-06-03)

  • Merge pull request #98 from innogames/migration_log_cleanup (6bda4634)
  • fix(clear_migration_log): add missing init files (72fce5c0)

v1.9.0 (2020-06-03)

  • Merge pull request #96 from innogames/migration_log_cleanup (3aade24d)
  • serveradmin(resources): add management command for migration log cleanup (c8107153)
  • Merge pull request #90 from innogames/travis_python_versions (f29c8b6a)
  • task: Update distribute and python versions for tests (cbee905f)

v1.8.7 (2020-05-28)

  • Merge pull request #95 from innogames/automatic_urls_include_bugfix (e7c86dc9)
  • fix: Skip app if urls module does not exist (da8172f0)

v1.8.6 (2020-05-23)

  • Merge pull request #94 from innogames/automatic_urls_include (d8795a9b)
  • Merge pull request #93 from innogames/more_tests (73126c62)
  • feat(adminapi): Add unittests for commandline interface (f6f536f2)
  • fix: Support automatic url inclusion for AppConfig (618166e2)
  • feat: Run tests in parallel (33568ce3)
  • fix: Remove left over databases if necessary (ddbdcca5)
  • Merge pull request #92 from innogames/fix_detault_attributes_shown_twice (a64d5f80)

v1.8.5 (2020-05-18)

  • fix(servershell): Sort default attribute alphabetically (241ff624)
  • fix(servershell): Default attributes show twice (ae6caeb9)

v1.8.4 (2020-04-29)

  • Merge pull request #91 from innogames/hotfix_servershell_multiattr_submit (4563c226)
  • fix(servershell): Cannot submit multi values of int and bool (72b7cb61)
  • Merge pull request #88 from innogames/fix_servershell_default_visible (9ad824fb)
  • Merge pull request #89 from innogames/kofrezo_adminapi_version (cc117e29)
  • fix(servershell): Use ServertypeAttribute default visible (c9ea3c3a)
  • feature(adminapi): Send version with each request (c22725de)

v1.8.3 (2020-04-14)

  • Merge pull request #87 from innogames/catch_suspicious_operation (3161d704)
  • Merge pull request #86 from innogames/adminapi_request_expired (e724e128)
  • fix(api) Catch SuspiciousOperation to ensure JSON response (4047860e)
  • fix(adminapi): Do not sent already expired request (86546d7f)
  • Merge pull request #83 from innogames/adminapi_403 (5f0cdd06)
  • Merge pull request #85 from innogames/api_improve_error_message (a5923450)
  • task(api): Improve error logging for api views (1a639b4b)
  • task(api): Add user or application id to error (52f14e71)
  • Merge pull request #84 from innogames/common_cleanup (106224a2)
  • task(common): Delete unused templatetags (e59dcb18)

v1.8.2 (2020-04-02)

  • Merge pull request #82 from innogames/servershell_hotfixes (a80cd8d8)
  • style(resources): Make PEP8 happy and use two spaces (6a76cc02)
  • style(servershell): Return early for sake of readability (51a0885b)
  • style(servershell): Don't abbrevate variable to sinlge letter (d7d94770)
  • style(servershell): Put brackets and else into oneline (103a3fc1)
  • fix(resources): Use page 1 if page exceeds available ones (36282a14)
  • style(resources): Remove obsolete imports (f6f365c8)
  • task(servershell): Improve auto completion for search (26210960)
  • style(servershell): Fix grammar of comment (362d79c6)
  • fix(servershell): Don't allow invalid page values (e182ff94)
  • fix(resources): Submitting filter again overrides page (ac41d8c7)
  • fix(servershell): Typing too fast omits characters (96683bc7)
  • fix(servershell): Search term not saved in session (fb0be42d)
  • fix(servershell): Fix per_page value not submitted (c39f9f23)
  • fix(resources): Fix pagination (94fdd53b)
  • task: Explain why we need dateparser module (c9ffdac7)

v1.8.1 (2020-03-23)

  • Merge pull request #81 from innogames/bootstrap_bugfixes (2db8f4cc)
  • style(servershell): Fix doc string indention (c4143b4c)
  • style(servershell): Use curly braces for if conditions (fe9ca2b1)
  • fix(resources): Include CSS and JS into packaing (9a9605a7)
  • style(servershell): Move return to an extra line (180effe4)
  • style(servershell): Improve readability of condition (1b4a79c8)
  • style(common): Add missing doc for parameter (c4957d91)
  • style(common): Improve wording in doc string (3ffc7e51)
  • style(common): Append semicolon at end of style attribute value (ede6bf82)
  • fix(servershell): Changes page not accessible without selection (3fc19c81)
  • fix(servershell): Autocomplete overrides user input (a4675acf)
  • fix(servershell): Can not got further than first page (bbf85944)
  • fix(resources): Add pagination to resources page (89a02c6b)
  • fix(serverdb): Columns in history do not have the same width (8a4a0652)
  • fix(common): Minor spinner bug fixes (e03e58ef)
  • fix(servershell): Close auto complete on exact match (4b58d8f6)
  • fix(servershell): Search error not displayed (a96507df)
  • fix(servershell): Fix bugs related to auto complete (53b264c7)
  • fix(common): Messages show status string (67411b57)
  • feature(servershell): Make save shown attributes optional (9b88bd5a)
  • fix(servershell): Second multiadd overwrites previous changes (ea9d328c)
  • fix(servershell): Servertype attribute is editable (b07a7fa8)
  • fix(serverhell): Regexp hint show null for special attributes (daccb663)
  • fix(servershell): Allow manual entering of IPv4 address (790cc18e)
  • servershell(task): Add multi attribute indicator to attributes list (6ee31657)
  • fix(servershell): Fix attribute marked as changed without change (fd28c59e)
  • fix(common): Spinner counter too fast due to missing reset (d6b0ab81)
  • fix(servershell): Attributes list selection not removed (db0c4d70)
  • servershell(fix): User types to fast for auto completion (e036bce3)
  • fix(servershell): setattr with empty does not delete attribute (55ff9891)
  • fix(servershell): Setting boolean to 0 becomes true (1ff73f99)
  • fix(servershell): Boolean attribute displays Empty at inspect page (7199eeea)
  • fix(resources): Bring back graphes for resouces page (e53d78c3)
  • fix(servershell): Multiple searches possible (5d507cbc)

v1.8.0 (2020-03-11)

  • Merge pull request #80 from innogames/bootstrap (15bd9420)
  • fix(servershell): order by fails due to wrong attribute comparison (45f2d697)
  • fix(resources): graphite.js not loaded (bc17e511)
  • style(servershell): Remove extra border from result table (385618ec)
  • fix(servershell): Long cells not breaking on screen end (529139d8)
  • fix(common): Wrong path for javascript plugins (1e4d8c8d)
  • fix(servershell): Treat 'false' as '' (false) for setattr command (4cc6194e)
  • task(common): Bring back favicon (86da92f0)
  • fix(common): plugins javascript not packaged (3944cbd0)
  • task(servershell): Reword description for search settings (18294843)
  • fix(servershell): Object selection toggled on reload (be9825a1)
  • fix(servershell): Fix type in legend for keyboard shortcuts (e22ca270)
  • fix(servershell): Auto dismiss alert visible again (d513e4b7)
  • fix(servershell): Fix inline editing for boolean value (8b8557ac)
  • feat(servershell): Save search settings in session (6299bf0a)
  • feat(common): Allow ALT + BACKSPACE to delete words in input (4429c1d1)
  • fix(graphite): Minor bugs in graph_table page (cd257fba)
  • task(servershell): Show description of commands in auto complete (c37e8443)
  • task(servershell): Show attribute type in attribute list (fbfc41a3)
  • feat(servershell): Provide inline validation for inline editing (edfed156)
  • fix(serverhsell): On-the-fly validation not working (9445c378)
  • fix(servershell): Minor fixes for auto complete (dec2c524)
  • fix(servershell): 1 and 0 not converted for boolean attributes (ce8245f5)
  • fix(servershell): Spinner not disabled after successful commit (8f823c1d)
  • fix(servershell) Sort command auto complete from a-z (377f53c1)
  • fix(servershell): Result page indicator fixes (e256ffee)
  • fix(servershell): perpage autocomplete forces user to pick (3ce678ba)
  • fix(servershell): Object not having attribute shows null (6de5a279)
  • task(servershell): Use kbd tag to show keyboard shortcuts (e16cbc61)
  • feat(common): Add time elapsed to spinner (fd0b86db)
  • feat(servershell): Reload search if tab to command (7b449619)
  • fix(servershell): Exit auto complete on ESC key (95385c42)
  • feat(servershell): Only export selected hosts (3b2fcd7d)
  • fix(servershell): Minor bugs in attr command (f6b4a051)
  • fix(servershell): Warning shows select at most -1 objects (057b257e)
  • fix(servershell): Save perpage value in session (7f9e0874)
  • feat(servershell): Select first element if there is only one (4308bc9e)
  • fix(servershell): Focus command input after successful search (0cc1333c)
  • feat(servershell): Allow to filter history for attribute (0222b46f)
  • feat(serverdb): Allow to search in history of objects (89575a80)
  • task(servershell): Bring back history command (4e237004)
  • fix(serverdb): Make restore work again and minor bugs (118d89f8)
  • fix(servershell): Double click on inline edit closes inline edit (f6d5a35e)
  • fix(servershell): Numeric attributes not casted to integer (4feee4cb)
  • fix(servershell): Not editable attribute values missing (e39596f7)
  • fix(servershell): object_id marked as editable (3c9778ea)
  • fix(servershell): Can not click value to inline edit (618d3254)
  • fix(servershell): Autocomplete for hostname has empty value (c76aa2af)
  • feat(servershell): Retry search and commit after 5 seconds (7907358a)
  • fix(servershell): No error message shown on backend error (6328f2ee)
  • fix(servershell): Empty attributes not inline editable (f4e15ac3)
  • fix(servershell): All attributes queried for objects (c1659e72)
  • fix(servershell): Fix can not delete attribute with inline editing (94600d44)
  • fix(servershell): Fix inline editing bugs (6cad7480)
  • task(servershell): Remove hover function from tables (cda6be95)
  • fix(servershell): Search command does not focus search input (c094d38f)
  • fix(common): Icon does not link to root page (366505ac)
  • fix(servershell): shown attributes not at end of list (b1e81a81)
  • fix(serverdb): Open links to history of objects in new tab (6d5a0d98)
  • feature(servershell): Save shown attributes choice (33ffaffa)
  • fix(servershell): Empty command raises warning (917bf7d8)
  • fix(graphite): Unknown hostname or object_id throws 500 (0950bba2)
  • style(servershell): Use component color for auto complete (e8b58fa8)
  • task: Unify colors using bootstrap themes (6e44878f)
  • fix(servershell): Auto focus first elment of auto complete (871012f5)
  • task(servershell): Show alerts for 5 seconds (b86eff81)
  • fix(servershell): Don't show object_id by default (f02e1d80)
  • fix(servershell): Restore tab order for input fields (9365a7f8)
  • task(servershell): Bring back auto complete for command (999484a9)
  • task(servershell): Bring back inline editing command (2656f1de)
  • task(servershell): Make change to_commit visible (b9e0a219)
  • style(servershell): Use precise terminology and scope (d87f7d9f)
  • task(servershell): Rewrite commands for editing (0d621093)
  • fix(serverdb+servershell): Fix minor bugs in changes.html (35cada78)
  • task(serverdb): Require dateparser module (00eb938e)
  • task(servershell): Bring back changes command (02858247)
  • task(servershell): Bring back clone command (78756df3)
  • task(servershell): Bring back new command (b88ba8a6)
  • feat(servershell): Add javascript alerts on error (e6d0ee29)
  • fix(servershell): Keep selected servers on search reload (ae4d643f)
  • task+feat(servershell): Bring back commands part 1 (067c1730)
  • task: Fix typo in function name (0c8322a0)
  • fix(serverhell): Fix javascript errors on load (186466be)
  • feat(servershell): Add options menu to disable auto complete (acbaaddd)
  • task(servershell): Adjust CSS to align labels for input (43a0b594)
  • style(servershell): Reformat Code (9cf5493c)
  • feat(servershell): Autocomplete for search term (82e00c45)
  • feat(servershell): Remove tailing whitespace from term (db36455c)
  • task(servershell): Use 25 object per default per page (38ae44d1)
  • feat(common): Use bootstrap alerts for django messages (3a1548a7)
  • feat(serverhsell): Rewrite Servershell JS part 1 (ea7a97cf)
  • task(servershell): Delete obsolete files for JS rewrite (e34b3682)
  • task(servershell): Adjust serverhshell for boostrap (9fcade2c)
  • task(servershell): Move js and css to correct folder (b0003cf6)
  • task(servershell): Use full jQuery for Ajax support (2591a821)
  • task(servershell): Move templatetags for servershell (c8373939)
  • task: Adjust menu.html entry for bootstrap (4079d69e)
  • feature(common): spinner, messages and docs in base.html (e8496853)
  • task(servershell): Use menu template mechanism to add entry in nav (26e90209)
  • task(common): Change base.html template to twitter boostrap (9cb285a1)
  • task(common): Remove InnoGames name from logo (308a2ea8)
  • task(common): Add js/css/icons for twitter bootstrap (c600fb01)
  • task(common): Delete static data not used by bootstrap (9d7f2b4f)

v1.7.1 (2020-02-20)

  • Merge pull request #79 from innogames/kofrezo_fix_hostname_regex (31a99f63)
  • fix(serverdb): Allow two or more hyphens in hostname (743def13)
  • Allow the logo filename to be customized via settings.py (ec540ae1)

v1.7.0 (2019-08-07)

  • adminapi: Drop python2 support (7165f1db)

v1.6.3 (2019-08-05)

  • docs: Update documentation links (4bf03f0c)
  • docs: Host docs on read the docs (83c9b1ed)
  • docs: Test docs build via travis ci (0951ff5e)
  • docs: Add initial sphinx work (4d7074df)

v1.6.2 (2019-07-30)

  • Merge pull request #76 from innogames/bugfix/regenerate-link-after-attr-refresh (cb10dad4)
  • Regenerate link after attr refresh (e4ba787e)
  • Bump copyright notice year to 2019 (407aadce)

v1.6.1 (2019-07-26)

  • Merge pull request #74 from innogames/fix_graphite_validator (ded743ad)
  • Update graphite cache only for non-retired servers (679d23c5)
  • graphite: Remove validator from Template and Variation names (1e92f272)

v1.6.0 (2019-07-18)

  • Merge pull request #71 from innogames/app_last_used_tracking (707a2a2e)
  • apps: Show some read only fields in detail admin interface (59c66010)
  • apps: Show last_login in admin apps list (c899372e)
  • api: Update app.last_login field in api decorator (edde32e7)
  • api: Use proper datetimes in api decorator (66d7ef97)
  • api: Stop passing unused attribute around (c62e86ed)
  • access_control: Unify models.py style (5a2b394b)
  • apps: Add last_login field (7c7121a7)

v1.5.1 (2019-07-18)

  • dns: Return internal NS servers from internal DNS servers (ae6451ec)
  • Merge pull request #70 from innogames/return_403_message (2e1442a7)
  • api: Handle PermissionDenied Exception in api_view (85ded658)

v1.5.0 (2019-07-15)

  • Merge pull request #69 from innogames/fix_acls (118e1c1a)
  • acl: Fix vulnerability allowing the change of non-whitelisted attributes (f2784d47)
  • acl: Add option to use attributes list as blacklist (4d512022)
  • api: Improve ACL checker docs and error messages (d7900ab9)

v1.4.7 (2019-06-17)

  • Merge pull request #66 from innogames/remove_default_api_url (a167941b)
  • adminapi: Remove default API URL (58bb11b4)

v1.4.6 (2019-06-12)

  • Merge pull request #68 from innogames/remove_markup_deprecated (44f815db)
  • Drop requirements.txt (4bec4147)
  • api: Drop django-markup-deprecated requirement (9a76e159)
  • Merge pull request #54 from innogames/django2_support (98d3fa05)
  • Point travis status image to travis-ci.com (6e65d79c)
  • urls: Switch to new django admin include style (6b070020)
  • settings: Update name of postgresql DB engine (e5beb694)
  • settings: Rename MIDDLEWARE_CLASSES to MIDDLEWARE (df651891)
  • Import reverse from django.urls (df307088)
  • Fix delete_selected action removal for django2 (026464a5)
  • Improve url import error handling (82ba0058)
  • Drop empty boilerplate django app files (dd41c5a6)
  • Merge pull request #67 from innogames/rip_out_api_loader (1182c530)
  • Rip out the serveradmin API function loader middleware (24bbe1e4)

v1.4.5 (2019-05-20)

  • Merge pull request #65 from innogames/key_length_problem (17328059)
  • apps: Make 8192bit RSA keys fit in PublicKeys (8ba923ca)

v1.4.4 (2019-05-13)

  • api: Fix ssh authentication for object creation (b6b95262)

v1.4.3 (2019-04-23)

  • api, adminapi: Fix version compatibility regression (7ab78597)

v1.4.2 (2019-04-16)

  • Merge pull request #63 from innogames/ancient_paramiko_support (40c45cbc)
  • apps, adminapi: Make parmiko > 2.0 features optional (dc2b836f)

v1.4.1 (2019-04-16)

  • Merge pull request #62 from innogames/ssh_api_auth (4e5c6f56)
  • api: Change acceptable timestamp offset to +-16s (2e3230af)
  • api: Allow authenticating with multiple keys of the same app (ae78dbf1)
  • docs: Add doc strings to ssh auth functions (1e2434bd)
  • docs: Explain ssh based authentication usage (6b7f932a)
  • apps, api, adminapi: Support multiple keys per app (c81ae038)
  • adminapi: Fix ApiErrors for non json encoded repsonses (20c07acf)
  • adminapi: Support loading keys directly from files (a2144ee5)
  • adminapi: Improve ssh agent error handling (9ec3518b)
  • api, adminapi: Stop using json in headers for ssh auth (0732b53f)
  • api, adminapi: Don't use security_token for ssh auth (9e351b4c)
  • apps, api, adminapi: Don't use app_id for ssh auth (1f5c29c3)
  • apps, api, adminapi: Initial ssh based api authentication (84cd2281)
  • adminapi: Define exceptions in a central place (9122391f)
  • apps: Remove unused templates (559f9d99)
  • linter: Ignore flake8 error W504 (b3cd29c3)

v1.4.0 (2019-04-01)

  • Merge pull request #61 from innogames/datetime (27629c06)
  • dataset: Add datetime attribute tests (74859736)
  • adminapi: Fix timezone aware datetime deserialization on py2.7 (5ea161b3)
  • adminapi: Fix timezone aware datetime serialization on py2.7 (a10bbc7b)
  • serverdb, adminapi: Expose timezone on datetime objects (b119e9f6)
  • serverdb, adminapi: Add datetime attribute datatype (a18e24aa)
  • Drop simplejson import fallback (af8f3614)

v1.3.3 (2019-03-18)

  • Revert "Improve uniq ip constraints" (dd61f2bc)
  • Merge pull request #60 from innogames/fix_migrations (4df133ea)
  • Fix testing fixture (eb6cbda5)
  • Downgrade django to 1.10.x as used in production (16642d14)
  • Improve uniq ip constraints (963274a7)
  • Add explanations to hand written migrations (79a57589)
  • Regenerate initial serveradmin migrations once (f03e63ab)
  • Make the Collection.overview fields help setting independent (030424b1)
  • Set on_delete=CASCADE where on_delete is undefined (a21a20da)
  • Merge pull request #59 from nijel/exception (9bfb25e0)
  • Avoid throwing non exception (742f2cd7)
  • Merge pull request #58 from nijel/patch-1 (c57cdbd4)
  • Update README.rst (8d5dafc5)

v1.3.2 (2019-01-09)

  • servershell: Fix history and changes (241d43aa)

v1.3.1 (2018-12-05)

  • Merge pull request #56 from innogames/deployment (de54ddf8)
  • graphite: Fix cache_graphite command on django 1.10+ (dde602ba)
  • api: Add health_check view (00ef1296)
  • Simplify default logging config (2d95580c)
  • Load user config from /etc/serveradmin/settings.py (d8ef6979)
  • Split settings.py into default and user settings (679487ba)
  • Remove custom jinja2 Environment settings (fec803f3)
  • Add serveradmin modules to setup.py (95cfc848)
  • Move serveradmin manage.py to serveradmin.main.py (30db3c2a)
  • Move adminapi run.py to adminapi.main.py (38b43664)
  • Use APP_DIRS for jinja2 loader (c7840e7d)
  • Generate requirements.txt via pipenv (6014e361)
  • Merge pull request #55 from innogames/kofrezo_update_adminapi_docs (ce6f84fd)
  • Use key, value example for showing object attributes (6f3b4fd0)
  • Update Adminapi documentation (45255385)
  • Make edit form submit button say 'save' (5725236e)
  • Merge pull request #53 from innogames/fix_joins (7610110d)
  • adminapi: Fix restricts of type set - again (36a7914c)
  • Revert "adminapi: Fix restricts of type set" (d09d0b70)
  • query_materializer: Re-add cidr hostmask to all networks (59c941b9)
  • adminapi: Fix restricts of type set (b1ac84ad)
  • Merge pull request #51 from innogames/rework_object_id_patch (63a2a12a)
  • DatasetObject: Pass object_id as a separate parameter (2fe1f441)
  • BaseQuery: Raise TypeError if restrict isn't a list or None (d59909f1)
  • Fix Any() queries with sub-filters (cc66c99d)
  • servershell: Handle users not passing a servertype (bcbbe821)
  • servershell: Fix clone (cf6fbe51)
  • Fix serverside regexp validation on booleans (4a10d60e)
  • Fix boolean representation on servershell edit (2c3ff0e9)
  • Make the regexp column not null (1c52ab18)
  • Increase the size of the new regexp column (d5bb0c7a)
  • Add db check constraint for the new regexp column (05c0fd05)
  • adminapi: Get auth_token via SERVERADMIN_TOKEN env variable (8a351cbf)
  • Merge pull request #47 from innogames/attribute_regexp (9175760f)
  • Put whole regexp to database (753ec22b)
  • servershell: Get regexp from available_attributes, flatten editable_attributes (c531335a)
  • Move regexp from ServertypeAttribute to Attribute (1a09aed8)
  • servershell: Don't let readonly attributes to be edited (c210124b)
  • servershell: Rename avail_attributes (447070ef)
  • query_executer: Fix related_vias by not re-using drained generator (c8224ad8)
  • adminapi: Bugfix for queries with restrict=None (a157ba55)
  • Merge pull request #50 from innogames/bugfix_recursive_objectid (db51b55a)
  • adminapi: Ensure object_id in BaseQuery._restrict setter (4d80fa66)
  • servershell: Disable editing related via attributes (8fb4f9be)
  • Optimize away fetching attributes from SQL generator (21a4d7a6)
  • Avoid querying related via reverse attribute (80c24cf1)
  • servershell: Fix typo on help (54887166)
  • Fix false positives caused by related via attributes (b428c3f5)
  • Fix repeated SQL where conditions (b101e35a)
  • db: Remove DNS tables (076ea02d)
  • Merge pull request #49 from innogames/bugfix_adminapi_objectid (9b30ba06)
  • adminapi: Ensure legacy Query.restrict() asks for object_id (d17a2c5d)
  • adminapi: Don't depend on object_id in DatasetObject constructor (c61be017)
  • Merge pull request #48 from innogames/post_commit_signal (30e86181)
  • Add post_commit django signal (68083157)
  • db: Trim dns_public.extra_record privilege (81f0ebf3)
  • db: Don't provide domain_ids (52bb4329)
  • Merge pull request #45 from innogames/adminapifix (afad31a3)
  • adminapi: Fix querying all attributes (47cb7675)
  • Merge pull request #39 from innogames/domain (a3b3f366)
  • servershell: Fix undefined variable after recent renaming (0231b71b)
  • domain: No longer tolerate extra periods in hostname part of fqdn (e0a0a62c)
  • domain: Implement new attribute type domain (7327bc1d)
  • Merge pull request #44 from innogames/object_id (e76a56fc)
  • Don't materialize object_id when not requested (d4ef32e5)
  • Merge pull request #43 from innogames/input_pattern (0b606c8f)
  • Fix Attribute queries after removing caching (1f909154)
  • edit: Use regexp as pattern for client site validation (6caefc1b)
  • edit: Reorder type and regexp columns after the value (d3fce812)
  • edit: Order fields by required, name (8fa08066)
  • edit: Mark fields as required for client site validation (da64969f)
  • edit: Drop ' ' from the end of all <textarea>s (85b9b3f1)
  • edit: Drop 'required' column, suffix keys with '*' instead (0fcb81f8)
  • edit: All special attributes we haven't skipped are required (2aba7e05)
  • edit: Hide intern_ip if servertype.ip_addr_type == 'null' (16d470ca)
  • Merge pull request #38 from innogames/nocache (6bd16023)
  • Stop caching lookup objects (09b31d6f)
  • sql_generator: Optimize away unneeded servertype_id condition (bb257ef4)
  • sql_generator: Simplify ORDER BY clause (fdd77082)
  • query_materializer: Represent IP addresses based on hostmask (7578da71)
  • query_materializer: Rework the interface (6aefd530)
  • query_executer: Optimize accessing attributes (b73682e9)
  • query_executer: Handle queries that are destined to fail or pass (c470047f)
  • query_executer: Improve documentation (6338db00)
  • query_committer: Optimize accessing attributes (87511a48)
  • query_committer: Flatten the module (627cdb7f)
  • query_committer: Remove unreachable code on _validate() (9fa61df7)
  • Merge pull request #42 from innogames/readonlyacl (b587e68e)
  • Apply access control to readonly attribute too (261aba04)
  • Merge pull request #40 from innogames/cleanup (c90215cc)
  • Drop old automatic IP address selection (4e7dc910)
  • Replace defaultdicts in favor of .setdefault() (6d61fd48)
  • Add note to run.py (7ead4e12)
  • Unify Python file headers (ba481c9c)
  • Remove unused code under common/ (21b2b4cf)
  • Remove old dataset interface (1a9670e1)
  • Rip out the hooks (4b061680)
  • Merge pull request #41 from innogames/ip_picker (0bbc84db)
  • servershell: Drop unused new_server.html (51ca41ff)
  • servershell: Don't throw js error on missing command attribute (0c465364)
  • servershell: Add ip address picker to edit.html (6e47eb96)
  • db: Specify types of literals on DNS views (381b8b4b)
  • Remove dead code on get_server_query() (85256a74)
  • Remove unused property related_servertype_attributes (878102d3)
  • Write constants uppercase on serverdb.models (ab763d05)
  • Improve code style of serversearch.py (2bbb2746)
  • db: Pay attention to typecasting on DNS views (72c3a2ed)
  • Fix servertypes not shown on Django admin (6893b6d5)
  • docs: Remove sshaccess table from extending page (8340c951)
  • Merge pull request #37 from innogames/servershell_no_new_popup (2bace4ef)
  • Rename new_server and clone_server to new_object and clone_object (41de0c78)
  • servershell: Remove intermediate form from server creation (f3b5754d)
  • servershell: Split clone from new view (97b0dc45)
  • servershell: Add servertype autocomplete to 'new' command (636bed9f)
  • servershell: Replace ambiguous symbol of reverse attributes (06950234)
  • dns: Provide MX records (3bcd241f)
  • dns: Serve public domains as well (674b90af)
  • dns: Provide NULL-typed project_domain records (c2c0d83a)
  • dns: Turn "domain" into relation (ad78b836)
  • Allow widecard domains (167686ff)
  • Remove migrate_projects.sql db script (ed12c180)
  • Merge pull request #35 from innogames/project (69b5395e)
  • Remove special projects (d4a95f8b)
  • Add consistent_attribute field (9ddbf1db)
  • Remove fixed projects (dac24d38)
  • Fix Django 1.8 compatibility (18188857)
  • Don't expect DataErrors on API methods (0653a259)
  • Remove idle template (b868bc00)
  • Add db scripts to here (e1de99e1)
  • Don't expect db errors on the views (0e0da3ad)
  • Proxy graphs on popups (9393d20e)
  • Fix duplicate attributes on history (cdae6dc3)
  • Hide object_id on changes (55988fb6)
  • Fix datetime format (f0c1ecc0)
  • Fix ordering by relations (eddca75d)
  • Handle DataErrors on API (557efad5)
  • Handle nonexistent objects on commit (66c95876)
  • Handle nonexistent attributes for ACLs (8946dbea)
  • Merge pull request #33 from innogames/space_hypervisor_attribute (b698707c)
  • Replace xen_host attribute with hypervisor (40c11d59)
  • Merge pull request #31 from innogames/kofrezo_development_indicator (7e62e754)
  • Show panel with development warning in debug mode (74c86b64)
  • Merge pull request #30 from innogames/mac_unix_expanded (7ca2b598)
  • Use mac_unix_expanded when available (36ddc93f)
  • Fix clonning attributes (88399936)
  • Mark special attributes to clone (9b886f26)
  • Fix initial serverdb migration (9174e3a3)
  • Fix Django Admin eating data (a3dfef19)
  • graphite: Add relations to Django Admin (27113734)
  • Order servertype attributes (3c466c7a)
  • servershell: Fix getting new IP address (8c86f4f5)
  • Revert "api: Do not return all attributes for empty" (cd07b9cf)
  • Rename attribute type hostname (0550b1d7)
  • adminapi: Don't save restrict and order_by when dummy (52ce74d1)
  • servershell: Fix inspect and edit commands (53dd9e1d)
  • servershell: Trim unused import (2ad70dd4)
  • Fix graph tables (ad92039b)
  • Enable file based sessions (7f262618)
  • Improve settings.py style (e7ff33cc)
  • Quick-fix the hooks (9a7b6157)
  • Fix tests requiring other attributes (14c2113c)
  • adminapi: Query hostname by default (7188376a)
  • Fix the tests by not wrapping in transaction (97c07e55)
  • Upgrade Django (388b36c1)
  • Use consistent database snapshot for query (29c1998c)
  • Remove JavaScript debugging leftover (99d974b7)
  • adminapi: Ask for object_id explicitly (5740e613)
  • api: Do not return all attributes for empty (6a6f29b5)
  • Do not query any attributes by default (f9fa1676)
  • Mark attributes to be cloned explicitly (badc1eaf)
  • Fix Django 1.9 compatibility on clone (ccfe8915)
  • Split the complex function on sql_generator (3de71efd)
  • Support attribute based ACLs (405fd347)
  • Simplify access control groups (c1b65e50)
  • Fix querying relations with Any() (0940132f)
  • Merge pull request #28 from eviscares/remove_csrf_requirement (5c0f8269)
  • Remove csrf requirement for index method (404530ee)
  • Merge pull request #27 from eviscares/find_user_simplification (fd223f85)
  • Fix cache_graphite command (6e3e9a06)
  • Fix restoring deleted servers (1b704fc2)
  • servershell: Fix auto-completing filter names (2c3315b0)
  • Don't give error for nonexisting relations on query (d43b6cfc)
  • Update context_processors namespace on settings (c8f01cf1)
  • Make sure all URLs are new style (f3965805)
  • Remove idle load balancing endpoints (daeb10ec)
  • Simplify adminapirc detection (c27d3c08)
  • adminapi: Fix handling HTTP errors on Python 3 (fdf74ab7)
  • Reword related attribute error (2cbae5d9)
  • servershell: Except server-side query errors (73e22c0c)
  • Quick fix performance regression on joins (15da29e2)
  • Fix saving changes (d69b8edf)
  • Quick fix performance regression on query materialization (3524c1dc)
  • Quick fix servershell edit function (9f4db52a)
  • Quick fix resources menu (e8db65d5)
  • Revert "Validate API methods" (96863c4a)
  • Revert "Automatically find menu.html templates" (45e4e598)
  • servershell: Fix commit (730bd576)
  • Remove dataset module from INSTALLED_APPS (7fbbb410)
  • Validate API methods (5e21aa77)
  • adminapi: Support GET params (7ab895f3)
  • Fix reverse attributes (7f1f6741)
  • Remove projects page (25d1b7ba)
  • Remove Colocation menu item (66584df3)
  • Fix order_by (415d7638)
  • Regenerate graphite migrations (27b72a46)
  • Merge pull request #26 from innogames/move_colo (665d5019)
  • Move colocation map to ignetworking (e27b1dd7)
  • Review the last commit (928de50e)
  • Also catch and retry on ssl.SSLError (96ea1613)
  • Merge pull request #24 from innogames/disable_apps (f7f128b7)
  • Merge pull request #21 from innogames/graphite (44502f7b)
  • Move test_dataset (a8554307)
  • Use 4-space indentation on .travis.yml (72ba6cc5)
  • Disable applications when the user is (5c7d4870)
  • Use receiver decorator on apps.models (ebaf4c61)
  • Remove "Nothing yet" text from servershell (c7335fd2)
  • Fix servershell (18834ed5)
  • Merge pull request #25 from HerrSpace/master (c20a05e0)
  • Add .travis.yml (6921b118)
  • Remove lock_timeout from pg connection settings (da186447)
  • Fix up dataset tests to work with up to date models (9c67fdc3)
  • Move handcrafted serverdb constraints into serverdb migrations (c16acdf5)
  • Add initial django migrations (0649bc84)
  • Fix new_object API endpoint (ff3b268c)
  • Fix the commit hooks (e54412c4)
  • Check new objects against the query (efb21b98)
  • Make get_results() method private (725bb175)
  • servershell: Expect ObjectDoesNotExist errors (3d50bff2)
  • Merge pull request #20 from innogames/new_object (c8ea2830)
  • Let created objects be committed (4e76b604)
  • Create pre commit signal (a18b1c7b)
  • Move free IP addr selection to adminapi (3297ba41)
  • adminapi: Allow generators to be set as attribute values (db60aa39)
  • Merge dataset create and commit modules (e74d02d8)
  • Remove commit and create options (511050f1)
  • Replace changes on commit API (c137e348)
  • Don't try to clean unchanged servers on commit (6c41c28b)
  • Make commit API validation nicer (3b8b60d4)
  • Fix "servertype does not exists" error (91fca9c2)
  • Add .commit_state() to DatasetObject class (6031a693)
  • Use IN on SQL queries (5ef1ef9f)
  • Isolate dataset and api modules (b581b933)
  • Prepare infrastructure for more RESTful API errors (db17445f)
  • Simplify api_view using Django exceptions (38cd7bd2)
  • Return 400 for some not expected API errors (624200ac)
  • Don't except ValueError on commit (8041d331)
  • Remove unused API method "echo" (26a01711)
  • Rename ServerObject to DatasetObject (487314ba)
  • Deprecated committing single servers (79627eb0)
  • Move new() method to Query object (a0f23b0e)
  • Allow empty Query() objects (84212ba5)
  • Fix MAC address format for "mac_unix" (eccc552c)
  • Fix netaddr compatibility (82b898d9)
  • Merge pull request #23 from innogames/mac_unix_expanded (72e70899)
  • Fix MAC address format (bdd482d2)
  • Merge pull request #22 from innogames/join_null_fix (03b6c55c)
  • Re-allow parentheses on string attributes (f825b184)
  • Fix crash on joining to empty attribute (53c32713)
  • Remove magic attribute section of the API documentation (6de60a35)
  • Quick-fix removing relation multi attribute values (0b38b012)
  • graphite: Support dynamic relations (8aca14ea)
  • graphite: Store numerics as attribute values (bc2b0cf4)
  • Fix multi attribute relations (d5b34c88)
  • Fix related via attributes (e90f8a92)
  • Fix typo on hooks.middleware (cfa01ef4)
  • Merge pull request #18 from innogames/joins (e4d7167a)
  • Support joins (27b7904e)
  • Default ordering on the database (c1aa2049)
  • Separate query materializer (17fd7245)
  • Don't filter servertypes by intern_ip (1f5d8a44)
  • Remove unused reduce() method (2597005c)
  • Rename querybuilder.py (a23ccbcf)
  • Get rid of dataset.queryset module (909f518e)
  • Deprecate .restrict() and .order_by() methods (16dfe28e)
  • Support multi column order by (2d101d04)
  • servershell: Show original Query() representation (63d97e51)
  • servershell: Fix autocompleting filters (3aa7cd2b)
  • adminapi: Don't return True on .commit() (ae65451f)
  • adminapi: Simplify transmitted errors (4d569fbd)
  • adminapi: Add a note to datatype module (0153dfc3)
  • adminapi: Remove the base module (797297c3)
  • adminapi: Remove unused Attribute class (03005236)
  • adminapi: Remove backlink from ServerObject (303b266e)
  • adminapi: Cast parsed values to datatypes (0656570f)
  • Merge pull request #19 from innogames/fix_cli_output (e53b40a0)
  • cli.py: Fix wrong output for integer fields (7dfec4a3)
  • adminapi: Update description and URL (1e521494)
  • Merge pull request #17 from innogames/adminapi (af1b9ed9)
  • api: Unify casting objects to JSON (92aa549c)
  • adminapi: Make authentication token and timeout global (675684c4)
  • adminapi: Re-try requests on all server errors (e26f7e7b)
  • Remove API methods of api module (0a175767)
  • adminapi: Fix utils module (7da70e5b)
  • Check for intern_ip being None (1ca63c13)
  • adminapi: Provide backwards compatibility for parse_query() (10b8fc89)
  • Merge pull request #16 from innogames/logging (48fc972a)
  • Log hook invocations (3dbc17bd)
  • Re-enable logging to console when DEBUG (b6fb8a74)
  • Add PID to log format (8dde9642)
  • Log API requests (3707aab5)
  • Improve API authentication error messages (9e3fa08d)
  • Fix casting attribute values to date (0a75b35a)
  • Fix IPv4 address regexp again (df6dd8e1)
  • Fix IPv4 address regexp (8082a150)
  • Merge pull request #15 from innogames/filter_datatype (181436a8)
  • Validate datatypes of filter values (21bcb081)
  • Validate string attribute values (cfcc1399)
  • adminapi: Improve datatype support (4922df99)
  • Merge pull request #13 from innogames/hooks (50079e8d)
  • Merge pull request #14 from innogames/any_optimization (3c0b9963)
  • Re-optimize Any() filter when all values are literals (373223a7)
  • hooks: Don't catch ValueErrors raised from user function (6b04066c)
  • hooks: Fix error reporting on Python 3 (efaf9fb0)
  • Fix backwards compatibility for network filters (42d1e4ea)
  • Fix query parsing with string and filters (1dbdfec9)
  • Merge pull request #12 from innogames/logging (dfd693d9)
  • Revert "Check datatypes of filter values" (a6d57f77)
  • Log import operations for hooks and api calls (aebe840c)
  • Perform verbose logging to a file (25456c88)
  • adminapi: Provide backwards compatibility only for existing filters (39a23682)
  • adminapi: Provide backwards compatibility for DatasetError (962e8368)
  • Merge pull request #11 from dreis2211/english-404-template (c9b4ac26)
  • Replace german string in 404 template (e3d0ac6a)
  • adminapi: Use isdigit() for Python 2 compatibility (39b286e3)
  • servershell: Prevent crash on bad autocomplete input (9d84f37b)
  • Replace occurrences of Startswith() filter (f39bb38c)
  • Merge pull request #9 from innogames/adminapi_unicode (c935a394)
  • adminapi: Allow unicode as filter value (dd47c104)
  • Fix ContainedOnlyBy() filter (30f399bb)
  • Fix cloning servers (8078faa7)
  • Fix casting to boolean attributes (15d6427f)
  • Revert "Rename top level executables" (427db745)
  • Don't accept None as filter value (ee6aabe0)
  • Fix graph popups (107454c1)
  • adminapi: Use setuptools (1bced03d)
  • Simplify multi attribute datatype validation (d4989f82)
  • Merge pull request #5 from innogames/dataset (eb1110f0)
  • Save old values of attributes unconditionally (c323a4ce)
  • Don't reset MultiAttr datatypes (e32601c1)
  • Don't define del family methods for Server (d02bea44)
  • Optimize servertype condition generation (aed6740a)
  • Check datatypes of filter values (6b6d82d1)
  • Utilize BaseFilter() for the literals (59bdcb76)
  • Add basic comparison filters (fad1f4e9)
  • Add All() filter to replace And() (845c4416)
  • Make Any() filter recursive (8e17b622)
  • Add StartsWith() filter to replace Startswith() (14a21164)
  • Add Contains() filter (21fd805b)
  • Add ContainedBy() filter to replace InsideNetwork() (a4e3fe19)
  • Rename InsideOnlyNetwork() filter (0fceab30)
  • Rename Overlap() filter (9c0da1d6)
  • Make network filters accept single argument (404a0d65)
  • Simplify filter serialization format (588aa009)
  • Remove Between() filter (bf48d5a6)
  • Use strtobool() on serverdb.models (bc1a9a0c)
  • docs: Remove outdated filter list (4e229d34)
  • servershell: Auto-generate the filter list (c7533c6e)
  • Get rid of server-side filters (8ad65c31)
  • Move querybuilder under serverdb (3fda49f3)
  • Move typecast to Attribute model (48e86bbf)
  • Use get_default_value() on dataset.create (90640cdd)
  • Merge pull request #8 from innogames/serveradmin_retry_requests (29fc65a5)
  • Deprecate query() function (b2cd7b99)
  • adminapi: Parse booleans and numbers in the queries (fa2ae207)
  • adminapi: Generalize ParseQueryError (0fc3fd71)
  • adminapi: Delay serializing filters (19dc74d9)
  • adminapi: Move get_auth_token() (2390daa4)
  • adminapi: Flatten .utils sub-module (3f0956ab)
  • Retry adminapi requests before failing hard (0870f2c8)
  • adminapi: Flatten .dataset sub-module (82bd9b89)
  • adminapi: Don't append domains (cb2361a6)
  • adminapi: Remove old executables (19d03592)
  • Rename igserver to adminapi (cff8b008)
  • Rename top level executables (9fbf9485)
  • Don't check same access groups multiple times (18f8e13e)
  • graphite: Fix collection names on resources (e3c1ff62)
  • graphite: Simplify collection identifier (160d82c8)
  • Allow default values on not-string attributes (30e24920)
  • Handle errors while proxying Graphite (be821c32)
  • Fix restoring deleted servers (435313f5)
  • Merge pull request #7 from innogames/serveradmin_base_url (62638988)
  • Add SERVERADMIN_BASE_URL environment variable (99bd884f)
  • igserver: Fix reset and update options (8a95f76b)
  • Fix create ACL (668d8455)
  • servershell: Improve server created message (34ca56d9)
  • servershell: Fix edit form (fcb490aa)
  • igserver: Fix appending domain to domain itself (918e3568)
  • igserver: Add hc to the domains (d8c9199e)
  • Require lookup object names to be at least 2 characters (c501a2fd)
  • Merge pull request #6 from innogames/igserver_exec (d8b2f8bd)
  • igserver: Improve argument usability (ca6ef674)
  • graphite: Fix formatting attribute values (82a6eb1c)
  • adminapi: Fix long_description (3a7d2835)
  • Eliminate dependency to django_urlauth (d38c0614)
  • Automatically find menu.html templates (06e9059c)
  • Document running migrations (7af74638)
  • Ignore virtual environment folder (1c81ee72)
  • Quickfix Not filter serialize() (a1af3faa)
  • igserver: Add acl and arpa to the domains (6ec3673c)
  • Quickfix quering by servertype (c933d19a)
  • Use plain python on run.py (34bb9489)
  • Prefer applications on changes view (0ab042d3)
  • Fix filtering servertypes based on intern_ip (ccab78b0)
  • Fix quering intern_ip (98fb08b4)
  • Quick fix boolean queries (6ee826ee)
  • Fix Not() filter with literals (4249a250)
  • Provide a new executable to rule them all (b65b34bf)
  • Enable access control for applications (7591a71a)
  • Rename application author to owner (b7784f9b)
  • Fix adminapi for unclassified filters (57e3d6e1)
  • Improve access_control admin view (d682a32d)
  • Merge pull request #2 from innogames/cleanup (6b1cde3f)
  • Support unclassified filters longer (305f05ff)
  • Remove QuerySetRepresentation (42c925a4)
  • Don't filter projects on backend (1be39852)
  • Don't typecast filter values (31fa1c52)
  • Remove outdated filters (63c9c29d)
  • adminapi: Deprecate explicit filter_classes (f3198dd7)
  • adminapi: Improve parse.py style (bfbdbf92)
  • adminapi: Improve interactive.py style (f726dc2e)
  • adminapi: Auto-populate filters list (25c35419)
  • adminapi: Remove never-implemented .count() (3dee113e)
  • Remove never-implemented augmentations (a335b541)
  • Merge pull request #1 from innogames/access_control (b737e401)
  • Enable access control (11f805f2)
  • Make Graphite sprite settings bigger (b07f49a6)
  • Update logging settings (ced57c54)
  • Update media settings (acb894e1)
  • Update language settings (1fba37e2)
  • Fix links on README (5e348db6)
  • Add a link to documentation on GitHub (5362690a)
  • Turn README to rst (35d4074f)
  • Remove docs app (fc57cac3)
  • Remove ideas page (3dd1760a)
  • servershell: Fix restore action (8ec38226)
  • Increase graph_sprite size (7fc351be)
  • apps: Disable delete on admin (4eb149af)
  • apps: Show disabled column on admin (d9c244b1)
  • Provide all attributes to the hooks (6b27e0bf)
  • Fix saving changes (73b24e27)
  • apps: Remove urls (1d042afd)
  • apps: Allow disabling tokens (cb08cf9c)
  • apps: Reverse readonly as superuser (3d641112)
  • apps: Remove ApplicationException (d613244b)
  • apps: Remove restriction feature (c0fb578f)
  • changes: Switch using server_id instead of hostname (76b03b83)
  • Remove ipranges app from settings (c1ed05db)
  • Fix TEMPLATES APP_DIRS on settings (731403e8)
  • Add missing context_processor to settings (95cb3c7c)
  • Support igrestlogin (5eddf7b3)
  • Support modules named with serveradmin_ (1ffe977b)
  • Loose hostname regexp (ace7c777)
  • servershell: Fix initial intern_ip type (01893af9)
  • servershell: Don't break the web interface after failed hook (df2cf78c)
  • servershell: Display error message not object (20719abf)
  • servershell: Fix creating new servers (e5de51f0)
  • Cast inet attributes appropriately (bc67c615)
  • Don't cast number attributes to Decimal (af3a9c4f)
  • Expect type casting errors on multi attributes (c9db93c8)
  • servershell: Fix type casting on edit (34545dc0)
  • servershell: Fix edit form action (f7e68b15)
  • Fix boolean attribute representation (1b8fdf05)
  • Add loaders to TEMPLATES setting (8e36c513)
  • Enable Jinja2 template system (866a198f)
  • Fix updating MultiAttrs on Python 3 (8c635f76)
  • colo: Draw all racks (fc901e71)
  • Make the menu modular (aa45cec3)
  • Upgrade TEMPLATES setting (a7884847)
  • Load URLs dynamically (1da71c0e)
  • Link the grafana detailed dashboard (beb7fcde)
  • Transparent proxy to communicate with graphite (8cfea152)
  • Add additional modules to gitignore (b17cb6e2)
  • Update gitignore with Python standards (779b73c2)
  • Add MIT License (2908f0d7)
  • Don't return results as dict (36241e50)
  • Split dataset.create:_get_ip_addr() (9e2c4cb7)
  • Stop sending attribute list to the clients (0cf5ab1b)
  • Rename list command on servershell help (7125231a)
  • Remove fetch_now() method of QuerySet (a1825641)
  • Change query.py shebang (e07ca2f2)
  • Remove dummy cmdline scripts (488a5624)
  • Expect casting to Decimal errors (f6af2dc9)
  • Don't let object_id to be edited on servershell (2b1964c2)
  • Fix server count on servershell (f84c40f8)
  • Fix adminapi when intern_ip is None (080cba12)
  • Fix Startswith() filter (f0bcf208)
  • Push adminapi QuerySet.order_by() to the backend (09b82146)
  • Remove unicode from QuerySet (7566dcd0)
  • Rename servershell list view (2bd8a857)
  • Try to fix crash on sending non-existing attributes (a577bb76)
  • Don't expect list of attributes on adminapi (4396231d)
  • Use 4 space indentation on innogames.css (1e20cd1c)
  • Fix new adminapi token generation (4ba6fc74)
  • Don't try to save empty booleans (81a29d0d)
  • Implement real booleans (8fed2006)
  • Don't validate servertype and project filter values (2e803ce8)
  • Split _add_attributes() (7d94a9c1)
  • Fix graph tables page (084ce6ce)
  • Make API Function page work on Python 3 (e53d0cc9)
  • Explain Python 3 requirement (5b8df2cc)
  • Improve style of api.views (8b1b0f7d)
  • Fix dataset.commit() Python 3 compatibility (81e4cd7b)
  • Fix ordering by project or servertype (dd02d452)
  • Merge branch 'segment' into 'master' (65ee5f78)
  • Remove segments (44bf19a6)
  • Remove iprange module (4b2d74f9)
  • dataset: Remove unused create() (17d5878a)
  • Fix apps.models for Python 3 (90c5b3fc)
  • Increase items on changes page (623e9b4e)
  • Fix validation multi attributes (3f855b00)
  • Fix Servershell (4f54fb2f)
  • Add flake8 configuration (e6a4f1f7)
  • Skip complexity check on graphite.views (3f91b470)
  • Fix initializing empty ServerObject (616f1407)
  • adminapi: Remove api module from setup.py (f9ceed48)
  • Re-implement create on Servershell (65c80721)
  • Don't cast booleans for display on Servershell (ac27443b)
  • Validate attributes on set() (15bb8a36)
  • Re-implement set methods of MultiAttr (311a6438)
  • Cast multi attributes on set() (f6543c20)
  • Make MultiAttr real set (874839d7)
  • Re-implement dict methods of BaseServerObject (6ca515b8)
  • Don't track dirty count on BaseQuerySet (95ffe3f5)
  • Remove adminapi logic to add or delete attributes (28f1862c)
  • Remove api directory from adminapi (8034f981)
  • Make Optional() filter actually optional (6b0e24f4)
  • Remove OptionalFilter (f5522d9e)
  • Cast db datatypes to text for Startswith() filter (fdd1abe4)
  • Forbid booleans on arbitrary filters (36c4d2c5)
  • Put end of row on the map (9f693f30)
  • Remove extra indentation of dicts on adminapi (69b0bd23)
  • Fix symbol of supernet attributes on Servershell (57f4b3b4)
  • Fix printing networks (dcc8128e)
  • Remove unused log2() from adminapi.utils (c04533aa)
  • Remove print methods from adminapi (6adba001)
  • Fix updating multi number attributes on Servershell (f4d379ee)
  • Fix Empty() filter on special attributes (4cd52b59)
  • Fix changing special attributes (e1cab861)
  • Remove unused comment field from Server (27a1c581)
  • Rely on attributes not being NULL on Empty() filter (643c5a93)
  • Move top-level requirements.txt (db381a48)
  • Defend against orphaned multi attributes (27ed1c26)
  • Go over servershell help (4f7fff85)
  • Add edit command to servershell (cba9d03f)
  • Fix deleting attribute values (7622de8f)
  • Don't set responsible_admin automatically (5967b74f)
  • Fix new server form (24afc30c)
  • Clean empty strings fields of ServertypeAttribute (c9890cbb)
  • Fix textarea on edit view (590d6b71)
  • Disallow leaving servertype empty on new server form (eb4980a6)
  • Escape % on filters (39c5ec09)
  • Cast db datatypes to text for Regexp() filter (efd8acae)
  • Fix textarea on edit view (badc26f0)
  • Make servershell.js style consistent (4534140b)
  • Add jscs configuration (f30a35f3)
  • Merge branch 'colomap' into 'master' (9ca00200)
  • Query for Blade Centers too (016684f3)
  • Merge branch 'adminapi_update' into 'master' (3bc3bb2c)
  • Use {}.get() wherever possible and use restricted querying (d1015a72)
  • Fix setting boolean attributes (58232d1d)
  • adminapi: Return True if everything is fine (ef501efa)
  • Make lint happy (010ce5b0)
  • Fix supernet attributes with mixed IP families (25c5456a)
  • Syntax fix (2d1f20c5)
  • Handle empty And() and Or() filters (662d674f)
  • Simplify list and edit view (f466546e)
  • Show special attributes on list view (91fd894c)
  • Handle Nones on servershell edit form (63935446)
  • Don't let default_value to be empty string (8090ebf4)
  • Fix Python 3 issue on commit() (074151bb)
  • Python 3 compatibility on app token creation (35e0dc90)
  • Fix Python 3 issue on hooks (d930f37b)
  • Don't expect ValueError on servershell commit() (ea419b1d)
  • Fix formatting multi attributes on servershell (6e607bde)
  • Revert "Don't cache_graphite when database is in recovery" (ce066f1d)
  • Don't cast types on dataset.commit() (1b28b912)
  • Don't handle removed and in the same time added attributes (1af93317)
  • Validate attribute values before saving (0353282a)
  • Initialize all attributes (f5d91091)
  • Remove old attribute types (302227bd)
  • Don't query deleted servers on dataset.commit() (8b9e743f)
  • Put regexp validators to serverdb (8c763a89)
  • Expect DataErrors on servershell query (e6eb52dd)
  • graphite: Collect sprites for all graph collections (dbe98ba6)
  • Fix servershell graph command (86cdc461)
  • Don't try to expect database in recovery (18374476)
  • Fix Comparison filter (21673b4e)
  • Fix current collection exception on resources view (445efb94)
  • Fix selecting IP address when multiple networks are passed to create() (91209c2b)
  • Test cache_graphite task on Python 3 (2e675909)
  • Remove --token argument of query.py (b64a4a26)
  • Fix permissions for update.py (95971e07)
  • Merge branch 'update' into 'master' (39dfe7c2)
  • Fix imports for PEP 8 (66e2511c)
  • Cosmetic fixes (52e35322)
  • Don't cast incoming IP addresses (17e13fef)
  • Remove -a option (8e08c825)
  • Don't expect ValueError on API create() (4dc24632)
  • adminapi: Implement update executable (42f04b98)
  • Fix ValueErrors on API method query() (b73852a2)
  • Simplify the Resources view (9cd5ffb9)
  • Mark virtual attributes as not available on Servershell (a43bfe1a)
  • Support sorting mixed-family IP addresses and multi attributes (e9648e8d)
  • Test API method query with Python 3 (e49f3a23)
  • Change intern_ip attribute type to inet (ecd2b1a9)
  • Decode the results on adminapi.request (1994736f)
  • Trim debug print statement on adminapi.request (cba13e1b)
  • Improve error message when network is not found on dataset.create() (e3add9a0)
  • Make pagination Python 3 compatible (1bae39c4)
  • Enable cleaning results when term changed on Servershell (ce4ebab4)
  • Focus to command bar after search on Servershell (870d1187)
  • Remove dead IP class on common.js (20677a79)
  • Remove Segments view (4b6221b0)
  • Use python3 binary on manage.py shebang (b987527a)
  • Quick fix quering by intern_ip (09359e43)
  • Fix updating not-special attributes (734553c4)
  • Disable automatic DB indexes on lookup models (bafbdb72)
  • Remove temporary target_servertype test (e95235c8)
  • Don't add ordered by column to the restrict list (066ed882)
  • Fix sorting servers (64639ee3)
  • Refresh data before every update on Servershell (a269a5f3)
  • Handle nulls on dataset.commit() (c33d8f99)
  • Cast inet-typed attributes on adminapi (db1bc7d3)
  • Don't require attribute to consume QuerySet()s (51534908)
  • Pull filtering by ip_addr_type logic to QuerySet() (06c27619)
  • Improve Python 3 compatibility (991a52b0)
  • Don't handle errors on query executable (d5e4f69e)
  • Don't validate servers when special attributes are not changed (dbe793e2)
  • Support the default Python 2 ipaddress port (ba04aab3)
  • Remove dependency to dateutil (15b27922)
  • Add psycopg2 to requirements.txt (505a49b1)
  • Remove python-memcached from requirements.txt (48ca63e0)
  • Add date time formatting to example settings (30570013)
  • Fix ordering by intern_ip (bdaa5f5d)
  • Fix queries related via attributes (aedae858)
  • Micro optimize _add_supernet_attribute() (2ff80067)
  • Fix ordering by special attributes (cdca45da)
  • Handle queries with no possible servertypes (57797d41)
  • Fix some filters (309522c9)
  • Don't push down servertype and project filters (ebe680e8)
  • Improve related via attribute filtering performance (21e6031b)
  • Optimize materializing attributes (7dc26062)
  • Filter relevant servertypes implicitly (8eae8126)
  • Fix logging changes (afb69fb8)
  • Expect none IP addresses on adminapi (ac6f9734)
  • Cast macaddr attributes correctly (f9ac5186)
  • Fix deleting servers (5041e0ae)
  • Fix exception names on dataset.create (6dbad936)
  • Check for db in_recovery on commit() and create() (e019d68c)
  • adminapi: Increase default timeout to 60 seconds (6572f54b)
  • Expect IntegrationErrors on Servershell (f13f4bd5)
  • Properly escape regexps on Postgres (825b4cb4)
  • Remove exception from example settings (08291cb4)
  • Remove unused get_num_rows() (24bbf6cd)
  • Fix error reporting on dataset.create (63df8d0b)
  • Correctly test empty string on servershell.js (5d19a6f4)
  • Improve choosing of free IP addresses (45005a2c)
  • Fix alignment on Servershell attributes (26674178)
  • Fix creating servers without intern_ip (83e2554d)
  • Call auth on client automatically (ede7b3b1)
  • Rip out limit and offset from dataset.queryset (f487cf57)
  • Do not query virtual attributes for clonning (7b0b2b32)
  • Handle no graph found on graph_popup view (e026c279)
  • Expect unicode characters on dataset.filters (c0bcddf9)
  • adminapi: Remove backup server URL (8a2438c1)
  • graphite: Add GRAPHITE_CACHE_URL for background downloading (80dae733)
  • Add Overlap() filter (d864fab5)
  • Handle nulls on cache_graphite command (e9a82512)
  • Make dataset.create() atomic (d229c913)
  • Handle nulls on dataset.create() (e832d58c)
  • Optimize dataset.create() (18db338d)
  • Handle re-setting empty attributes on Servershell (8145a06a)
  • Support re-multiadd on Servershell (4dd69e3a)
  • Support delattr on multi attributes on Servershell (48b3c7b1)
  • Merge branch 'ip_select' into 'master' (9d0d8a77)
  • Choose IP addresses on dataset.create() (84f27658)
  • docs: Add hint for extending (4461a7af)
  • Cast number attributes to basic types (bf0e40a1)
  • docs: Add requirements.txt (097088af)
  • Remove base property of attributes (b71d7681)
  • Merge branch 'fix_colocation' into 'master' (687e1676)
  • Merge branch 'fix_colocation' into 'master' (58663667)
  • Fix selecting racks in datacenters without Collocation (ce816165)
  • Micro optimise LookupManager.get() (58403131)
  • colo: Use new rack and datacenter servertypes (ca2a8ecf)
  • Don't read all servertype attributes (c55adfef)
  • Fix delattr on Servershell (2e0dc43b)
  • Order servers by hostname by default on Servershell (71d1abfc)
  • Hardcode provider_network for new IP address selection (a7175c9f)
  • Fix Servershell multiadd command (affb6fc8)
  • Fix clone function by ignoring supernet attributes (45769231)
  • Use networks to choose IP addresses on Servershell (8afc64dc)
  • Rip out ordering from Servershell (0b8ac4b9)
  • Move serverdb migration to another module (c0050fb1)
  • Don't validate servers when relevant attributes are the same (30aa8267)
  • Provide ip_addr_type null (fd5aa8b7)
  • Retire dataset.validation (56371265)
  • Remove database authentication options from example settings (8c2891f4)
  • Recommend creating a superuser on extending document (d341f9b6)
  • Add custom SQL migration for serverdb (5130b494)
  • Remove DB index on intern_ip (1e430393)
  • Don't check for network size for fixed project servertypes (c4e9bf89)
  • Add missing real attribute types (9c5ddd3b)
  • Don't cache_graphite when database is in recovery (943a6291)
  • Improve style of cache_graphite.py (c4db17df)
  • Mark multi attributes on Servershell (67fe55fa)
  • Update Django URLs on extending documentation (28d8756e)
  • Raise validation error for empty strings (7608eef8)
  • Add missing module "colo" to settings (ddaba7b1)
  • Fix validation on intern_ip attribute on commit (84f1d91a)
  • Move validation function to Commit object (e35e7938)
  • Fix creating servers (aa97c047)
  • Teach ExactMatch() to query hosts or networks (5167eef1)
  • Fix materialising supernet attributes (a116537b)
  • Don't query lookup tables when they are empty (e4c1eabc)
  • servershell: Don't try to delete attributes that doesn't exist (da9178d5)
  • dataset: Prevent changes in case of an error on commit (5b109bb7)
  • Rework IP address validation (0235b54c)
  • Fix new code blocks on extending document (db7b209d)
  • Format numbers on hardware resources page (fce2a5b0)
  • Don't assign segment on dataset.create (3cb6a3ba)
  • serverdb: Use Django __net_overlaps operator (ab52c74e)
  • Increase lock_timeout on settings.example.py (d3104a03)
  • dataset: Rework commit to avoid integrity errors (fb22cd4b)
  • adminapi: Handle networks (b76020ce)
  • docs: Make dump statement easier (acd9eff0)
  • serverdb: Set some columns of attribute lookup tables as not null (4a4279d2)
  • Merge branch 'extending' into 'master' (2aa43720)
  • iprange: Fix comparing IP ranges with Server addresses (f87bd268)
  • docs: Explain setting up a database (bf30086f)
  • graphite: Respect collection ordering on graph tables (70f77595)
  • docs: Improve style of extending page (8716e8cd)
  • iprange: Remove IP prefix lengths (12b4fb17)
  • Don't maintain last login time (392943ea)
  • Allow related-via-supernet attributes (791a17f6)
  • Allow supernet attributes (ba25486d)
  • Allow network objects on server (ded9d98f)
  • Revert "Remove unique key constraint on text column" (6e5ef6c2)
  • serverdb: Unify db table and column names (2553d1bf)
  • dataset: Use regexp operator of Postgres (a1dfcf90)
  • Change datatype of IP address fields (9277c3b4)
  • Use PostgreSQL connection on example settings (d86a9b8d)
  • dataset: Fix thinko for related-via-reversed attributes (e5683a34)
  • serverdb: Fix limit_choices_to properties on models (f00beb10)
  • servershell: Show R for reverse attributes (0348f0d2)
  • dataset: Fix regexp filter for reverse attributes (0b94952d)
  • dataset: Fix filtering by reverse attributes (a81a52bf)
  • dataset: Cast values to str on raw_sql_escape() (b2c0f3b3)
  • dataset: Split reverse attribute type (0722dc90)
  • dataset: Fix filtering materializing via reversed attributes (5b0a4490)
  • dataset: Fix filtering related via reversed attributes (97ea216e)
  • dataset: Properly cast values to string on filters (eb830fd7)
  • serverdb: Attempt to fix lookup cache invalidation (503ca321)
  • Remove serverdb views (c72ced8c)
  • Use hardware_model instead of arch for switches (11d82de4)
  • servershell: Fix get_values() view (26c1a07d)
  • adminapi: Make setup.py executable (de304762)
  • dataset: Provide error messages for invalid IP addresses (66ed96d5)
  • iprange: Fix Segment model queries (bdddc18b)
  • dataset: Fix related via multi attributes (a39b0bbd)
  • Remove dataset lookups (bbe9ed4a)
  • dataset: Escape { and } for regexp filter (5f0a0cce)
  • servershell: Expect validation errors on list_and_edit view (3697b2ed)
  • servershell: Show messages of validation errors (4a12c429)
  • dataset: Pay attention to Nones while sorting servers (bc0b1edd)
  • dataset: Fix cloning hosts with reverse attributes (866fe876)
  • serverdb: Preserve ordering on the lookup tables (06d3184b)
  • servershell: Hide related via attributes (e259df7b)
  • dataset: Fix multi reverse attributes (6026e710)
  • resources: Add projects view (0f379f02)
  • resources: Improve coding style (7bb99d82)
  • dataset: Expect error on InsideNetwork filter argument (2e0c4260)
  • dataset: Fix error reporting for extra attributes (13b9d277)
  • serverdb: Invalidate Django manager cache on every request (787adaca)
  • dataset: Raise ValidationErrors on validation (9f833a75)
  • adminapi: Raise expectable errors on parsing queries (6f213868)
  • dataset: Fix mixed special field names (bc8455d3)
  • Merge branch 'exceptions' into 'master' (ad21e0d2)
  • hooks: Don't raise ValueError (42eb3a85)
  • hooks: Improve coding style (90c3e20b)
  • Except ValidationErrors on query API (2b654589)
  • dataset: Raise ValidationErrors on typecast (bc343fe0)
  • Don't expect DoesNotExist errors on API (bf9781a1)
  • Replace backend DatasetError with ValidationError (3f95b1ae)
  • servershell: Remove link to search attributes in Wiki (fc8cac87)
  • api: Stop using deprecated RequestSite (9df5e80a)
  • serverdb: Fix servertype attribute form (b498e211)
  • serverdb: Fix delete servertype attribute view (bd62e918)
  • api: Don't search in error messages (57218dc7)
  • dataset: Fix regexp checking on API create() method (2761ace8)
  • servershell: Unconditionally query servertype (1c88cd46)
  • servershell: Fix sample values (7d23f3b9)
  • iprange: Add get_private_ranges() method to API (2fc4b729)
  • api: Except validation errors on commit (f40b5bcc)
  • iprange: Fix adding IP ranges (51a55550)
  • servershell: Fix server cloning (a7810c2f)
  • Revert "Make MultiAttr real set" (b0710a23)
  • serverdb: Allow reversed attributes (86908a87)
  • serverdb: Validate hostname attributes (4a2fc4a5)
  • dataset: Fix queryset order by (fc3e3690)
  • dataset: Check server IP addresses on commit (c41af329)
  • serverdb: Allow related attributes (520ca213)
  • serverdb: Add attribute type number (0b90a1d9)
  • serverdb: Transparently cache lookup models (dafa2e5d)
  • Spell attribute more coherently (4f3c5706)
  • serverdb: Rename attrib_default property (98ef0e33)
  • Spell regexp coherently (87c7316e)
  • dataset: Remove servertype attributes lookup (167053b6)
  • serverdb: Implicitly select related servers (f31aa621)
  • adminapi: Make MultiAttr real set (ed57bc63)
  • Rename ServerObject class (24824f89)
  • serverdb: Fix deleting attributes (b9deac41)
  • serverdb: Simplify view_servertype() (450f9eec)
  • serverdb: Reorder Segment model (9a4b4a93)
  • Spell servertype coherently (e33de1c5)
  • serverdb: Don't give different names to attribute types (17d75134)
  • servershell: Refresh the data on attribute checkbox (dcac072e)
  • servershell: Check for duplicate attributes (759a6a71)
  • docs: Fix and condition (12918059)
  • docs: Change servertypes on API documentation (2dbf35d3)
  • docs: Use 4 space indentation (b683db22)
  • dataset: Raise proper integrity error (21e79c3b)
  • servershell: Make state attribute shown by default (cc15d519)
  • servershell: Ask for only shown attributes (3fd0dd81)
  • dataset: Raise expectable errors on filters (31505718)
  • dataset: Inherit CommitError from DatasetError (ca800759)
  • Move exception classes of dataset modules (d7c8a1bd)
  • colo: Trim unnecessary imports (432bfdd7)
  • Use QuerySet() correctly on API method dataset_create (f5888fc2)
  • Remove get_raw_results() method from QuerySet (001a6d51)
  • dataset: Simplify SQL generation (eabc473e)
  • serverdb: Drop surrogate attrib id (db4a4a5b)
  • dataset: Don't generate SQL with DISTINCT and GROUP BY (ffdc034c)
  • dataset: Remove special attribute all_ips (6ee5a162)
  • Improve coding style (3caf9e46)
  • servershell: Correct import path (bdce0d0e)
  • Increase adminapi timeout to 20 seconds (931517e9)
  • serverdb: Fix servertype attribute deletion (76744eab)
  • dataset: Flatten the values for Any filter (d2902a7d)
  • Move forms to serverdb module (d5c1c0e5)
  • Improve code style of dataset.commit (376faa0d)
  • Use new bladecenter attributes (9f06c2b7)
  • Make hook messages pretty (9396b409)
  • Add missing exception variable (8dbbcc76)
  • Merge branch 'stelter_lbdowntime' into 'master' (b3fd2dcf)
  • Don't silently eat actualy errors during middleware import (a30ed8e7)
  • Downtime hosts in testtool when state changes (163ab266)
  • Improve error handling in hooks (c80033a2)
  • Allow empty old/new attribute values in commit hooks (d7b60f97)
  • Merge branch 'stelter_hook' into 'master' (3bc01be5)
  • Fix deleting servers depending on each other (cd7434c6)
  • Introduce commit hooks (525dddc3)
  • Remove serverdb.api (37b05580)
  • Remove unique key constraint on text column, it's incompatible with MySQL (70339a72)
  • Format test_dataset.json (96c7a5eb)
  • Add string representation to server attributes (b69decde)
  • Add colouring for State attribute (fe4f0933)
  • Return range vlan (f23727d8)
  • Format database indexes on serverdb.models (7c2d65e2)
  • Except wrong hostnames on graphite view (0cea84f5)
  • Except db integrity errors on commit (9cd98e9a)
  • Don't override segment on dataset.create (23793d7f)
  • Reformat graphite.views (cf8a7d1a)
  • Ignore the changes on the deleted servers on dataset.commit (b93f8389)
  • Remove special cases of attributes from dataset.base (29bf679c)
  • Don't dataset.typecast hostname attributes (c6919425)
  • Fix saving IPv6 addresses (6b2af003)
  • Format serverdb.models (a995b4d5)
  • Fix dataset.create for multi hostname attributes (9fea4c2a)
  • Don't use ipmi_ip attribute (a84c252b)
  • Drop surrogate servertype id (2329beb7)
  • Add missing parameter ATTRIBUTE_WIKI_LINK to settings (aea82394)
  • Add unique key to ServerHostnameAttribute (b1f9027a)
  • Fix returning hostname attributes on dataset queryset (52a5cd88)
  • Fix changes view (e1b3ee37)
  • Remove comments from the URLs (c627185d)
  • Cast hostname attributes on dataset.commit (f292ccf2)
  • Make fixed_project field optional (40b9eb6b)
  • Fix an error message on dataset.validation (00643ae1)
  • Rename db column of Server.segment (493a21d0)
  • Sort free IP set on choose IP view (bce0a93c)
  • Add all models of serverdb to admin (c660ef2a)
  • Rename model ServerTypeAttributes (5dbdc751)
  • Show different symbol for hostnames on servershell (0cb5dafc)
  • Add attribute type hostname (151f9e05)
  • Remove extra names from And Or filters (36e6ee82)
  • Validate attribute type for network filters (7db23a82)
  • Simplify logic on filter.Any (56aa5cc8)
  • dataset: Pass attribute objects to typecast (b3b16b3e)
  • servershell: Use Django objects on get_values() (95415b0a)
  • dataset: Don't use global lock on commit (831c3243)
  • dataset: Use Django objects on commit (d5534a8e)
  • dataset: Merge sqlhelpers to filters (fa97af83)
  • dataset: Use Django objects on create (ee296767)
  • Remove command addvalidations (371dcfe8)
  • Merge branch 'colo' (a5b93e2e)
  • Fix packing IP version 6 addresses (84e5f76a)
  • Update collocation map with data from Artfiles (91d5ec2e)
  • Merge branch 'colo' (5eab52d0)
  • Fix cidr properties of IPRanges (a83f0e17)
  • Rewrite colo app (b25b2c7b)
  • Remove not-used is_taken methods from iprange.models (7484e16c)
  • Show all errors on servershell commit (3b458561)
  • dataset: Improve coding style of typecast (2efeb20d)
  • serverdb: Set on_delete on models (8d8e9665)
  • Set ServerObject.hostname as unique (ad2a82ea)
  • Use ipaddress module (e732b173)
  • Fix return value of API method ip.get_free() (e22b66a7)
  • Catch all types on json_encode_extra() (4800011f)
  • Use explicit database transaction on cache_graphite command (67b12513)
  • adminapi: Change maintainer (5236ab41)
  • Let cache_graphite process continue for the host after an error (c03de08c)
  • adminapi: Improve style of setup.py (84836846)
  • Return IP objects on iprange.get_set() methods (71c9a055)
  • Document not working reserve_ip argument of API method ip.get_free() (934728d4)
  • iprange: Fix add() and edit() views (4159b1cc)
  • Fix API method iprange:get_free() (f8a54f97)
  • Cast filter arguments on QuerySet() (d5ffd65e)
  • Revert "Use ipaddress module" (3721ee12)
  • Use ipaddress module (c2981c45)
  • Don't accept named networks on InsideNetwork() filter (cc052a65)
  • Don't track free addresses of ipranges (4f8e72d3)
  • Remove PermissionDenied from adminapi.request (c8220f36)
  • Remove not used API methods from iprange (5b8bdeb4)
  • Don't use MySQL's escape_string() (ee964198)
  • Close database connection cursors on dataset module (85c3b810)
  • Don't use MySQL's LIMIT with offset (d38c2bbf)
  • Don't use MySQL's SQL_CALC_FOUND_ROWS (8fa145ba)
  • Remove dataset.cache (d1a63875)
  • Remove Filter class (bf6a1e4d)
  • Revert "Remove ip_range field from Segment" (70abbccb)
  • Clean partly implemented filter InsideNetwork6 (f5199781)
  • Remove ip_range field from Segment (5b562bb1)
  • Enable atomic requests on the main database (eabb25c4)
  • Rename settings.py.example (7081b31b)
  • iprange: Provide subnet name (b0b3edf4)
  • Simplify server history (df1b283b)
  • Increase default server count to 100 on servershell (70ea1bbc)
  • iprange: Include address type in returned dict (03f7ef5b)
  • servershell: Fix cloning servers (4bb47e1e)
  • Improve coding style of adminapi (0da6676d)
  • Remove deprecated Comparisim filter (e2a84619)
  • Remove ExtendedRegexp filter (f482cf81)
  • Don't validate regexps on database (625db801)
  • Add fixed project to servertypes (c5cc5f5e)
  • Turn segment into foreign key (ec6f6f4f)
  • Reorder classes on serverdb.models (a949aed0)
  • Provide links to servershell from the segments view (cd9fa9ae)
  • api: Improve coding style (277e85f6)
  • Improve coding style of dataset module (4c2f31ee)
  • Remove not implemented application statistics (e6cd91a6)
  • Put Django version to requirements.txt (c6bb9f6a)
  • Remove trilling spaces from adminapi.utils (60f210ad)
  • Remove servermonitor app (c99226f0)
  • Make adminapi_query CLI working without quotes (07b5528d)
  • Add argument -o to adminapi_query CLI (14140f1b)
  • Provide form defaults on clone (1033b065)
  • Replace segments page (a8ea4ea4)
  • Validate projects and segments on queries (cbd6bd49)
  • servershell: Make project attribute shown by default (de705a64)
  • Set fields readonly for readonly attributes on server edit (c0200ad8)
  • Check read-only attributes only when there is an existing value (1a620c39)
  • Add ER diagram of servertypes (5da2e79e)
  • Fix API method get_segments() (4b71d7ee)
  • Rename segment_id column of Segment (01f2ec94)
  • Remove database table SegmentUsage (abf7706e)
  • Order by segments by id (071055e5)
  • Fix deprecation warning on servershell (3dbbf15c)
  • Add readonly property to attributes (1fdc48f6)
  • Remove Servermonitor link (c8108936)
  • Add description to servertypes (693d82dc)
  • Fix creating new servers (59febbcc)
  • Rename departments to projects (7737acc0)
  • servershell: Don't clone attribute ssh_pubkey (aa5698a6)
  • Add responsible_admin to departments (6d380457)
  • Don't allow servertype and segment to be null (5a5c71da)
  • Order by servertypes by name by default (bd1f3455)
  • Add departments (5116f819)
  • Add API method to get Graphite NumericCache (c45f3677)
  • Turn Graphite NumericCache table value column to float (fbc0ed88)
  • Improve error message when type couldn't be found on API (d002d137)
  • Remove Servermonitor commands from Servershell (536eaeb0)
  • Copy template login_simulation.html from djangorestlogin (0564cf95)
  • Add README (a2bc0287)
  • Add django-extensions to requirements.txt (5d3e6925)
  • Put missing @login_required to the resources view (922f47df)
  • Do not use same collection twice (ea9f2d2e)
  • Add support for using graph collections (a21c60b1)
  • Fix handling of high and low netmasks of IPv4 (f77c1e71)
  • Rename prefixes for IPv6 (f37a56bb)
  • Merge branch 'prefix' (7ad8be83)
  • Add numeric prefix length (d0350d20)
  • Fix some mistages, add new AW colo (1289d818)
  • Don't use file names, they break during editing in vim (d9d2fb4d)
  • fix error after creating server (50004e41)
  • return segment as string and not as an object (998e801c)
  • Fix updating IP ranges (f1b0eb26)
  • Use graphite.js on resources page (1d9407f1)
  • Fix resources page title (b46c1039)
  • Add foreach functionality to Graphite templates (81e80d75)
  • Relocate buttons on Graphite graph table view (8c478e4f)
  • Fix style of table of contents on Graphite graph table view (19088f23)
  • Relocate table of contents on Graphite graph table view (a00c304a)
  • Add table of contents to Graphite graph table view (60b1fa90)
  • Fix resources page header (c15c122c)
  • Fix server ordering on resources module (c31422aa)
  • Fix QuerySet.order_by() (83b5b7cc)
  • Add examples to the Graphite time format (d30a4acf)
  • servershell: Fix hiding of attributes (32762c20)
  • servershell: Fix for jQuery 1.6 API change (5b18582a)
  • servershell: Fix all_ips disabled selection (d63d95cc)
  • servershell: Group attributes (06f2d49e)
  • dataset: Add group for base attributes (42bf5469)
  • serverdb: Custom help link for attributes (992ea18a)
  • serverdb: Kill cache after updating attribute (252b24e8)
  • serverdb: Add default to hovertext/group and make group editable (ec7f1688)
  • servershell: Show help for attrs only when available (f800acff)
  • servershell: Add help link and hovertext to attribute (9cc9115c)
  • Update jQuery and jQueryUI (5d3c96b5)
  • iprange: Display gateways in detailed view (3476b5ea)
  • serverdb: Order servertypes in Attribute.used_in (25eb37ad)
  • serverdb: Show servertypes on attributes (aec9f62e)
  • iprange: Query all_ips for IPRange.get_free (aeda2466)
  • Fix Graphite image reload on click (a2661689)
  • Preserve ordering of the hosts on the resources page (4d221781)
  • Change Servershell command graph (890cf01b)
  • Split graphite module to resources (090c0c4b)
  • Merge colocation pages (91d15274)
  • Remove documents index page (e05f735b)
  • Reorganize menu items (b5d98c3c)
  • Add summarize_interval to Graphite variations (84f05cad)
  • Except errors when Graphite response couldn't be parsed (e7855681)
  • Improve Graphite index view generation (0243e8dc)
  • Log slow requests to Graphite (47f60ccb)
  • Numerical value support on Graphite module (9bcc3942)
  • Rename models of the Graphite module (ed923f22)
  • graphite: Remove unique which breaks db (441937c3)
  • Replace IPAddressField with GenericIPAddressField (6f95f115)
  • api: Remove django importlib import, use stdlib instead (a3dcadcd)
  • Remove url tag import from future in templates (ebb8923d)
  • serverdb: Add app_label to all models (9be2102e)
  • Rename allow_syncdb to allow_migrate on db routers (7dc31ee7)
  • graphite: Use secret instead of a cookie (875698f8)
  • graphite: Make graph groups unique together with overview (617b1517)
  • graphite: Explain escaping brackets (2133c396)
  • graphite: Fix MultiAttr checking (74257ca1)
  • graphite: Show HTTP errors on gensprites job (38615d36)
  • servershell: Remove debug statements (5abb5457)
  • servershell: Put attributes into link (5f0f2854)
  • Reorder submit buttons on Graphite graph table (4de47ff0)
  • Add note for Graphite login (b1f01c32)
  • Use get for Graphite graph table parameters (00bef8ec)
  • graphite: Move sprite parameters to settings.py (146a4bc0)
  • iprange: Allow types private and public for get_ranges_by_type (2eaefa63)
  • iprange: Add get_ranges_by_type api function (5a94fa30)
  • graphite: Fix overview (95257086)
  • graphite: Replace bad characters depending on servertype (a915cbd5)
  • servershell: Fix bug with choose IP (69427809)
  • servershell: Remove some weird character in javascript (8d999b61)
  • Clean URL parameters on Graphite module (f892ff1e)
  • Clean URL parameters on Graphite module (34f30c06)
  • Use TextField on URL params of Graphite module (068befec)
  • Use ServerObjects instead of AttributeValue on Graphite module (323ec44f)
  • Replace dots on URL formatting for Graphite (e607db22)
  • Fix graph popup URL's (9accc82e)
  • Explain time format for Graphite (88accdaf)
  • graphite: Add link to graphlot (c56054b4)
  • Don't override the graphs on error (b2d8c05b)
  • Add description to graphite templates (ad572f02)
  • Support comparison on graphite (cdd9278f)
  • servershell: Don't allow setattr to change non-available attributes (e63d3ef0)
  • dataset: adminapi: Fix __iter__s key_fn (bf81b74a)
  • dataset: adminapi: Fix iter if keys are ordered (e004415e)
  • adminapi: dataset: Return self on order_by (94714f7c)
  • adminapi: dataset: Add order_by method (8d588a12)
  • dataset: remove printing of sql statement which looks like an accidential commit (995e17ca)
  • dataset: Add InsideNetwork6 function (e608105a)
  • adminapi: improve inside function of Network6 class (d3154755)
  • Increase graph params max length (617ffd32)
  • Add sort_order to graph groups (85d191a5)
  • Support multiple overview graph groups (cbbc2c5b)
  • Don't error out on graphite URL formatting (b5139be1)
  • Fix sum/average rows for graphite (740d8ee9)
  • Store graph sprites under MEDIA (84680c22)
  • Skip errors from Graphite on gensprites (c87916e3)
  • Support graph popups (cae4480d)
  • Start with IPv6 support (339dd680)
  • graphite: Generate sprites from Graphite (8169057f)
  • Support custom graphs (9e1d1e4b)
  • Add graphite module (eed0bc0b)
  • dataset: Queries to boolean with false will also return non-set values (466a9dce)
  • api: Check if user is active when using the API (1c1ae800)
  • adminapi: Implement IPv6.is_public/private (6fd258fa)
  • Update rack assign in colocation (b6092308)
  • adminapi: Order multi attributes when printing (058d0554)
  • adminapi: Use psutil only when there is no /proc (d658fa7c)
  • Include network (minimal) address in get_iprange_settings (25f841f8)
  • iprange: Add VLANs (17fb8c50)
  • Fix broadcast to be calculated from the highest parent (c49c4241)
  • Restore old 'return None' behaviour (18001e1b)
  • Get network settings for given IP or given IP Range (c60e2a9e)
  • dataset: Fix not filter with embodied empty filter (dcf3ceb1)
  • Revert "dataset: Use django app registry for initialization" (4fc9b9a9)
  • dataset: Use django app registry for initialization (bfffa23b)
  • Remove test templates and adapt to new testrunner (7ec4f636)
  • colo: Update maps after cleaning racks on 14.10.2014 (9683a24d)
  • adminapi: Restructure cmduser.py for Mac (f7a77a7e)
  • Fix Admintool/adminapi/utils/cmduser.py for mac (42a48527)
  • adminapi: Fix get uid and pid (dc30d60c)
  • servershell: Increase size of graph window (8efb24ca)
  • dataset: Load attributes via LEFT JOIN on Not filter (96936cbe)
  • servermonitor: Raise exception if servermonitor server returns ERR (5ce49902)
  • Update colo plan for AF - missed office rack (f9fc5d1c)
  • dataset: Fix sql helper sql conversion (b105cdd9)
  • Add aw19 to the racks it shares with aw32 (0bc50eff)
  • colo: Add co-location app (f9dddf48)
  • servershell: Fix handling of uncomitted multi attribute changes (95e97fba)
  • servershell: Rename history->shell_history in javascript (446cfdf6)
  • Add django_markup_deprecated for newer Django versions (3ea1b132)
  • adminapi: Add precise log2 function to utils, remove use of math.log (7bea1d63)
  • dataset: Cast boolean in SQL, add attrib_id check in EXISTS (e00c9ce8)
  • api: Compare tokens in constant time (bb1a60c1)
  • apps: Use random_alnum_string for auth token (382f923c)
  • Add random_alnum_string (fd64bca0)
  • api: Fix markup in api method "get_attribute_info" (7082cfdb)
  • api: Readonly tokens can also call methods (e68b7d2d)
  • apps/api: Possibility to restrict apikeys to methods (1897f0a4)
  • Rename mimetype to content_type (d1c463a5)
  • dataset: Do some more checks on restrict (5757dc81)
  • iprange: Improve get_gateway (db3844fd)
  • iprange: Handle error if ip is in no range (d2482693)
  • serverdb: Delete cache for addvalidations command (5551a408)
  • serverdb: Addvalidations command (c41f79a3)
  • servershell: Add clone to autocompletion (33272cf9)
  • Make jQuery UI dialog draggable outside the viewpoint (35f8ff25)
  • adminapi: Give even better parse feedback on garbled hostnames (65afe664)
  • adminapi: Give better parse feedback on garbled hostnames (47bc4035)
  • servershell: Editing a server will show correctly formatted values (f36e351d)
  • dataset: Add new displaycast function (5b41b502)
  • iprange: Remove unneeded imports (2e1dad97)
  • api: Fix some input validation on insidenetwork (fbcd6a61)
  • dataset: Reject empty Or/And filter (34a24cf0)
  • servershell: Remove unused import (3070a825)
  • servershell: Trim whitespaces for multi value (32fc3853)
  • api: Fix some input validation (fbb7c655)
  • iprange: Save belongs_to field on add (750d4cfb)
  • Fix returning of netmask for iprange (dfc3df7d)
  • Add sending netmask for gateways (138683fb)
  • Fix errors in get_gateways, so it works finally (5408a1c4)
  • iprange: Fix get_gateways (ed7953d9)
  • servershell: Split multi attrs only on newline and comma (1e500805)
  • Add finding gateways for given IP (b8bc77dd)
  • Add method to get gateway for given ip (ba5f1901)
  • servershell: Remove empty values on multi attributes (07864d4e)
  • iprange: Add internal gateway (38dc8cb8)
  • iprange: Gateway should not be required (63a2b0b3)
  • Add custom graph and custom compare (4a3f3cc1)
  • serverdb: Show "Internal code" for changes without app/user (a75edcfa)
  • dataset: Quickfix for datetime to sql (813a35b6)
  • servermonitor: Allow html markup in graph description (1880b362)
  • servermonitor: Add help icon for graph descriptions (7bcf2b8e)
  • adminapi: Just ask backup server once (c1a97a93)
  • adminapi: Fix network calculations (aed23faf)
  • adminapi_query: Order result by hostname (d8346379)
  • serverdb: Provide link to full history when looking at a commit (57a6a40e)
  • dataset: Commit cleaning: remove same add/remove value (7995fc6b)
  • serverdb: Implement mac datatype (93657d79)
  • servershell: Fix autocompletion (wrong value autocompletion) (efb853c2)
  • serverdb: Show newest entries in history first (38b3722c)
  • servershell: Implement history command (61f49625)
  • serverdb: Change history storage and history pages (23d83ede)
  • servershell: Use different row color for cancelled servers (526e179b)
  • servermonitor: Better datetime checking in custom graph (b2124a12)
  • servershell: Implement choose ip for new server (813bffae)
  • iprange: Remove unused imports (72285903)
  • dataset: Add uniqueness information about hostname (ad67e40e)
  • api: Better exception message handling (04bea1e6)
  • adminapi: Extend search path for user homedirs (cd20f61f)
  • servermonitor: Remove custom buffering (7ee60621)
  • servermonitor: Workaround for python bug with buffering (e3bc1f8f)
  • servermonitor: Filter for valid output from servermonitor (8292a781)
  • dataset: Fix unicode handling in sql values (2169f931)
  • servermonitor: Remove debug output (e5c7143b)
  • servershell: Fix clean method for hostname in create server (eaec30ca)
  • servershell: Improve new server form validation (36fc0e1b)
  • Only allow login on secondary when primary is down (27cd0f39)
  • Add failover login (246bb10f)
  • Add favicon (0662852a)
  • Add warning logo for secondary serveradmin (3ed76673)
  • Add warning logo (99542aee)
  • servershell: Add regexp column in edit table (fffcee97)
  • servershell: Show regexp/default when editing attribute (04f2a70d)
  • Add javascript utility function to escape html (e84ec0b3)
  • serverdb: Improve docs for API functions (0da0cc44)
  • serverdb: Add two methods for attribute info to API (f6d0e228)
  • adminapi: Give timeout to QuerySet when creating server (8e08cb71)
  • adminapi: Allow custom timeouts (1fa8fb88)
  • adminapi: Correct str implementation on BaseServer (0c625b0a)
  • adminapi: Implement get_attribute_info on server (48d00dd4)
  • dataset: Fix raw_sql_escape once and for all (bd9e1db0)
  • dataset: Fix raw_sql_escape (ae6d6839)
  • servermonitor: Fix graph url (272d1b53)
  • dataset: Fix sqlhelpers value_to_sql (32b56dcb)
  • dataset: Fix duplicated sql escaping (21949394)
  • dataset: Improve typecasting and sql convertion (fix clone bug) (6ab2d7f0)
  • dbfields: Add metaclass for Subfield (ed8a8581)
  • iprange: Fix wrong ip added to taken set (f76abfd3)
  • adminapi: Import create in adminapi.interactive (12c22347)
  • api: Remove debug print statement (a2271678)
  • servermonitor: Add drawing of a custom graph (85f5fdfe)
  • adminapi: Add timeout of 10 seconds to requests (647667e8)
  • serverdb: Fix changes listing (6ba241e3)
  • servershell: Document clone command (a86a265f)
  • servershell: Implement clone command (fa2cb930)
  • Split dataset into dataset and serverdb (f40fc757)
  • servershell: Fix setattr with empty string (0e872a52)
  • Remove many unnecessary admin.autodiscover() (58074ea3)
  • adminapi: Don't add interactive file as module (23d38cfd)
  • adminapi: Add interactive module for interactive shell (e19eb002)
  • apps: Show readonly flag in admin interface (eb9f7c5e)
  • api: Implement readonly for applications (01084b20)
  • apps: Add readonly field (8ad53279)
  • servershell: Fix history (f190079c)
  • servershell: Implement command history (83e48c5c)
  • Add /media serving in debug mode (d3984342)
  • iprange: Add get_taken_set/get_free_set to API (b1c414cb)
  • iprange: Refactoring: Move get taken ips to models.py (fb7ebf21)
  • dataset: Fix ExtendedRegexp (906aa018)
  • dataset: Extend regexp ranges support (36004c48)
  • parsequery: Allow "hostname attr=somevalue" (25caf48d)
  • dataset: Remove debug statements (ea5996ae)
  • parsequery: Add support for extended regexp (bfa43d32)
  • dataset: Add ExtendedRegexp filter (eb4c0a02)
  • servershell: Multiadd/del don't touch non existing attributes (04aaaf8a)
  • servershell: Fix toggling of attributes (4f93f740)
  • adminapi: Retry request 3 times on error (af0e8895)
  • adminapi: Allow delayed authentication (e398df30)
  • servershell: Add OK button to error messages (e1d79561)
  • servermonitor: Fix period splitting (565771b1)
  • servermonitor: Filter custom timespans (941aa7cc)
  • dataset: Fix count() method (023ab5eb)
  • Add eq to MultiAttr (45d1f6a2)
  • Use new URL syntax which will be mandatory in Django 1.5 (ef8c6b60)
  • servershell: Command to open dataset changes (ff1c6c89)
  • api: Log changes to dataset via API (01bbabd6)
  • dataset: Treat empty string as None for default values (6fd98955)
  • dataset: Log created servers (d14a968c)
  • dataset: Improve server restore error handling (d5d740c0)
  • dataset: Implement server restore (fc48a340)
  • dataset: Change "Change" method "changes" to a property (0ecdcbd6)
  • dataset: Add pagination to changes (657e416b)
  • servershell: Fix typo in javascript (a237a3e0)
  • servershell: Don't add commit entry if multi was not changed (4b96c6a4)
  • dataset: Improve changes styles (fc49325f)
  • dataset: Add missing templatetags for changelog (44973c54)
  • dataset: Implement changelog (5a021858)
  • Remove debug statement which resulted in empty changes log (d89e33de)
  • iprange: Fix bug with free ip search (e447919a)
  • dataset: Work around oursql raising OperationalError (68ca9702)
  • dataset: Automatically find segment in create_server (54c4c0cb)
  • iprange: Better way to check for taken IP (c8fa3f3a)
  • dataset: IPv6 attribute (999fc619)
  • adminapi: Add support for IPv6 field (f903d25e)
  • servershell: Remove debug statement (9f19a5de)
  • Implement user/app propagation of changes (817b7e74)
  • Implement change logging (9a3f6f3a)
  • adminapi: Add parameterless authorization in adminapi using .adminapirc (28d3f3ea)
  • servermonitor: Correctly renamed "stop" to "end" in get_rrd_data (bde27ce0)
  • servermonitor: Implement API to get rrd data (6e08df24)
  • servermonitor: Use generic comments app in segments view (84c06c5a)
  • servermonitor: Cycle rows in segments info (60bd6e2d)
  • servermonitor: Avg CPU usage / 0.7 and link to servermonitor in segments info (b176df7f)
  • servermonitor: Exclude loadbalancer from segment view (dde6a2ab)
  • iprange: Fix typo in ip reservation (db67dfd8)
  • iprange: Fix ip reservation at the end of an iprange (2fdf6133)
  • servermonitor: Add segments information (ed07fccb)
  • dataset: Add segment usage to models.py and segment(usage) to admins.py (4edf961b)
  • servermonitor: Refactor servermonitor view (extraced informating fetching) (73e26c74)
  • adminapi: Fix empty filter in api (4c466568)
  • iprange: Fix bug with belongs_to in API (b43bf36e)
  • iprange: Add belongs_to to the api (1ea36a53)
  • iprange: Implement "belongs_to" on iprange (9bb4647c)
  • iprange: Remove unused import in models (fa7ef82d)
  • iprange: Remove route from admin.py (9687ac40)
  • iprange: Remove route thingy, it is not needed anymore (7f0a1c09)
  • iprange: Commented out routes (bc64e744)
  • iprange: Implement routes for ipranges (3c6fd1be)
  • Add CIDR field (bf90af1e)
  • iprange: Add missing login_required decorator (c46f2dc2)
  • Fix IPv4Field handling with empty string (32522813)
  • dataset: Increase form field size for regex (4b7fd537)
  • servermonitor: Fix io aggregates (30912674)
  • servershell: Remove pipe as separator (697371af)
  • livegraph: Fix typo (3c6dd746)
  • servershell: Fix bug with deselecting attributes when used in search (7a282a88)
  • livegraph: Add better time handling based on request time (0df4640e)
  • servershell: Fix new check (8dd537d2)
  • servershell: Implement IP check for "new" command (1a7c36d8)
  • livegraph: Disable shadows (6215ebb7)
  • livegraph: Fill lines for better visual stacking (353dbc61)
  • livegraph: Fix typo (91aab2e2)
  • livegraph: Add IO to the admin interface (a8990a27)
  • flot: Add makefile to generate minimized js (0d8e0a1c)
  • flot: Add flot.stack to create stacked graphs (910aee28)
  • livegraph: Fix poll restarting (8fc761b9)
  • livegraph: Only do one HTTP request per host (bf8b18c6)
  • livegraph: Add options to usage graph (5f9843b4)
  • livegraph: Add usage graph (d2fc8175)
  • livegraph: New protocol for livegraph which is more flexible (748fb1b0)
  • livegraph: Move parsing to models, also query dom0 (2bcd611f)
  • livegraph: Use new SSH command protocol instead of NRPE (be19550e)
  • iprange: Fix network/broadcast address in get_free (04a446ba)
  • iprange: Fix network/broadcast address in iprange details (df67a6a1)
  • apps: Fix location of sysadmin office (9df29487)
  • Add error style in CSS file (73387c85)
  • apps: Implement auth token restriction (b797a526)
  • servermonitor: Fix ordering of "-1 day" in average (f7d4f57d)
  • livegraph: Remove debug statement (9df16d03)
  • livegraph: Remove reference to NUM_POINTS (7d67ecd2)
  • livegraph: Fix parsing of sources (971ae2da)
  • livegraph: Fix type error (b325bb16)
  • livegraph: Works on several servers now (0a5ac44c)
  • livegraph: Improve code. Handles multiple servers now (a827b311)
  • dataset: Improve servertype copying (72b28f5a)
  • dataset: Implement servertype copying (3d6f18a4)
  • iprange: Fix referencing bug in get_free (49c5385d)
  • iprange: Add method get_multiple_free to API (24f949f6)
  • servershell: Save per_page setting in session (ab573d2f)
  • servershell: Show attributes which are not available on a servertype (392d2f30)
  • dataset: Export special attributes on lookups (c2a6369d)
  • Add style for disabled table cells (db5d0abd)
  • servershell: Prevent default action for tab in command (a9b8789f)
  • iprange: Ensure that next_free is always within range (504b8d7f)
  • iprange: Fix determination of taken IPs (a0dcb823)
  • iprange: Use all all_ips fields to find taken ips (8b060bf9)
  • livegraph: Remove commented debug output (f9e1a50c)
  • servershell: Fix closing of livegraphs (5b4a014c)
  • livegraph: Make it ajax compatible (b920ef8a)
  • livegraph: Make it compatible with servershell (3044fd17)
  • servershell: Implement livegraph command (f58679c5)
  • livegraph: Increase size of the load graph (60b32a6b)
  • livegraph: Fix data parsing (66c74830)
  • livegraph: Add missing typecasting (87615255)
  • livegraph: Initial implementation (c732e326)
  • Add flot plotting library (e6ae715b)
  • servershell: Add comma as separator for multi values (0e08caee)
  • servershell: Parse empty string as null (8f01abeb)
  • dataset: Fix missing typecast when removing attributes (d4a96be8)
  • dataset: Disallow empty values (aka. None) (2695952a)
  • dataset: Better validation of regular expressions (e193078b)
  • Add ipmi_ip to list virtual attribute all_ips (82102e8f)
  • Fix syntax error in settings.py.example (07e1becd)
  • Fix ui-innogames based on le-frog (02aad7b5)
  • Update to jquery 1.8.21 and jquery ui to 1.9.1 (692e1dd7)
  • Add commaseperatedoptionfield (4035cb85)
  • servershell: Minimize for attributes (b910331f)
  • Add cleanup signal that should be called regulary (2beea3b8)
  • iprange: Improve API documentation (b608cc42)
  • dataset: Implement get_segments API (48969ba0)
  • servermonitor: Add explicit ordering (43cb9c17)
  • dataset: Remove ordering due weird error (26042b36)
  • servermonitor: Add servertype to quick select (fcd31ea4)
  • dataset: Add ordering in servertype and segment (4a46aebf)
  • valign-top should also affect th (569ea3fd)
  • servermonitor: Provide segments to overview (199b266b)
  • servermonitor: Add segment GUI stuff for klickebunti users (26bd0589)
  • servermonitor: Change ordering of Daily/Yesterdaily (1f1de75d)
  • servermonitor: Fix display of daily cpu usage (7185175c)
  • servermonitor: Fix another division by zero (5b63a808)
  • servermonitor: Fix division by zero (b13e1265)
  • servermonitor: Fix format_percent (1b8ae025)
  • servermonitor: Some colors for average cpu/io (6ee591e7)
  • servermonitor: Implement sum and averages for everything (44aca192)
  • servermonitor: Extract graph popup to own function (ba12ecfc)
  • dataset: Add template for servertype adding (d6393444)
  • servershell: Rename (un)select to (un)selectall (13ac77f9)
  • dataset: Implement "Add servertype" (f891bc61)
  • dataset: Ensure that all servertypes has attribute "attributes" (9b2d3613)
  • dataset: Add API to get available servertypes (8d2d2933)
  • servershell: Remove limitation of per_page (624829d7)
  • iprange: Fix segment selection on ordering (5f019881)
  • dataset: Set default to None if it's empty and not a string (03920e34)
  • dataset: Fix typcast error message (fe0457a2)
  • dataset: Fix creation of server with datetime attributes (7034f5ed)
  • servershell: Do not parse empty multi value as single value (2efe7a93)
  • servermonitor: Fix unit of free memory (33050c7c)
  • servermonitor: Fix ordering of disk/memory sum (fa678829)
  • servermonitor: Add total memory/disk space (27d78fac)
  • iprange: Fix segment bug in iprange deletion (e60df1df)
  • servermonitor: Add lun_usage to ServerData (b598ca88)
  • dataset: Fix typecasting in filters (6bdd873c)
  • dataset: Workaround for weird typecasting. (25133a14)
  • dataset: Fix bug with typecasting in Any filter (9fb6a942)
  • servershell: Catch and display CommitNewerData error (667d327a)
  • servershell: Fix bug in edit with invalid values (f6995d69)
  • dataset: Typecast will now handle multi attributes (a997adac)
  • dataset: Don't typecast None (10c2df66)
  • dataset: Fix add_select in querybuilder (4ef57940)
  • servermonitor: Highlight matching server, message if no servers match (cee0ac76)
  • servershell: Error message setattr when no servers are selected (ab07ced8)
  • iprange: Add missing template (d443fa63)
  • iprange: Redirect to right segment after editing ipranges (7dbc2bd9)
  • iprange: Add buttons for ordering (e2fb4086)
  • dataset: Fix commit with multi attributes (254779d8)
  • iprange: Fix bug "duplicate iprange after edit" (d93d30a5)
  • servershell: Save result of the search in session (8077c969)
  • iprange: Save gateway if iprange is added (9882cc33)
  • servershell: Display error if user uses setattr on multi attributes (2de0e701)
  • dataset: Fix editing of servertype attributes (34ecc58e)
  • servershell: Improve documentation (00fcc111)
  • servershell: Remove duplicated autocompletion entry (2963ac71)
  • dataset: Some performance improvements (3e5f97bd)
  • dataset: Add commit typecast to fix "newer data" bug (d8c45832)
  • servershell: Fix exception caused by non-existing attributes (ff37e8b6)
  • iprange: Fix initial data in form (c5e70bb9)
  • iprange: Fix saving of the gateway (d8ada458)
  • Handle None in IPv4Field (083c3a02)
  • iprange: Add gateways field (4a673763)
  • servershell: Implement multi multiadd (9db19083)
  • servershell: Revert number of displayed servers (3b1d04df)
  • servershell: Increase number of displayed servers to 50 (ee56fb11)
  • servershell: Increase default for number of displayed servers (0d29be8c)
  • servershell: Always show multi attributes when in search (8e529a76)
  • servershell: Implement delete command (d25817d1)
  • dataset: Implement Empty filter (0b57c641)
  • adminapi: Fix Private/PublicIP in filters (e1eb80b5)
  • servershell: Fix bug when sorting unset attributes (b930021f)
  • servershell: Remove debug console.log (a14e045f)
  • servershell: Implement creation of servers (3d02437a)
  • dataset: Add unicode to ServerType (5a7b8dc0)
  • dataset: Accept IP objects in create_server (c9c54d12)
  • servershell: Implement server editing page (d9998bc4)
  • dataset: Refactoring: Extracted typecast into own module (4312d011)
  • base: Special attributes (intern_ip etc.) are required by default (a59cd2ff)
  • adminapi: Fix bug with multi IP attributes (244c83a9)
  • servershell: Fix "false" deleting attribute bug (85c330dd)
  • servershell: Fix bug with setattr command (fbcd0872)
  • More beautiful success/error messages (0d1fcf82)
  • servershell: Add documentation for search (55ba138b)
  • servermonitor: Fix serious performance problem (6de2dd71)
  • Revert "servermonitor: Some performance improvements" (ce6738aa)
  • servermonitor: Some performance improvements (ccfc994b)
  • Improve SSH helper (8c0e0142)
  • Add SSH helper (d0db75f2)
  • servershell: Escape T in datetime object display (a70c0be5)
  • servershell: Fix date formatting of dist. values (e2f515e1)
  • servershell: Increase number of distinguished values (07fd3aca)
  • servershell: Remove debug console.log (d1a38fdd)
  • servershell: Implement distinguished values (7ae4fd20)
  • servershell: Start implementation of attribute values (6cadc8d0)
  • dataset: function to get distinguished values for attr (b4abed5c)
  • dataset: Implement own typecast function (a6740f10)
  • servershell: Implement periods in compare (5f72a25c)
  • servershell: Multiadd won't add value if it already exists (9f1fc82d)
  • dataset: Add title to attributes (2acb58d7)
  • dataset: Add confirm checkbot in attribute deletion (32f5242e)
  • iprange: Add cancel link to iprange editing (e91cc3b2)
  • iprange: Implement check for existing ip range (eb6ab20e)
  • iprange: Implement CRUD (f873e648)
  • Fix IPv4 form field (5908b6c1)
  • Move menu item "Admin" to the bottom (57eeed63)
  • dataset: Better button description on stype attr deletion (0db24606)
  • dataset: Add editing/deleting/adding of servertype attributes (2b621abe)
  • iprange: Fix reserve ip (4e0b2844)
  • dataset: Implement adding attributes (89d7275c)
  • docs: Fix api reserve ip call example (ce924c77)
  • dataset: Implement attribute list (3945b3f6)
  • dataset: Cleanup of attribute model (f340b528)
  • dataset: Hide servertype deletion in template (7fd56850)
  • dataset: Fix permissions for servertype views (5245263d)
  • dataset: Implement deletion of servertypes (12fcb69a)
  • servershell: Empty command after commit (ad11ef25)
  • dataset: Make commit accept datetime objects (45187de8)
  • servershell: Implement datetime type, fix editing (50ac1803)
  • dataset: Do not cast datetime to datetime (c08fb06e)
  • dataset: Better error message on datetime conversion (1d7c308d)
  • dataset: Call .timetuple() on filter instance (6a6a89c4)
  • dataset: Yet another bug in datetime conversion (05efd9cc)
  • dataset: Fix group numbers in datetime conversion (85fde9ed)
  • dataset: Fix conversion to datetime (1cbf5a42)
  • dataset: Implement datetime type (36a57e54)
  • dataset: Fix startswith filter for type != 'string' (c311acb3)
  • servershell: Fix multiadd/multidel (846239ea)
  • servershell: Fix autocomplete on multi(add|del) (a778d8bd)
  • servershell: Fix bugs with cell editing (3a3252b5)
  • servershell: Implement editing by double click, error handling (9949c1b0)
  • servershell: Reload search after commit (a15921f9)
  • Implement initial version of commit (817deabb)
  • servershell: Apply attribute checkboxes to new server search (f90b6218)
  • adminapi: Better error handling on empty auth token (e6b73426)
  • adminapi: Implement proper exception on HTTP 403 (ca13cb37)
  • iprange: Add row cycling on index (f8b7c22a)
  • CSS definition for linkbutton/inline form (fa52dec1)
  • Restructure and fix syntax error on CSS (dc92b56c)
  • iprange: Remove template at wrong location (be3f3361)
  • servershell: Add checkboxes to attributes (74cf87d2)
  • Implement details for IPRange (50056989)
  • dataset: Easier interface for QueryBuilder (f84a602e)
  • dataset: Remove unneccessary import in queryset (d28b9d61)
  • dataset: Change intern_ip to IPv4Field (9f254298)
  • dataset: Sane implementation of CombinedSpecial (98ffb602)
  • iprange: Rewritten to use new IPv4Field (03392d1c)
  • adminapi: IP now supports add/sub with integers (96a7c99f)
  • Add model/form fields for IPv4 objects (f24656d9)
  • dataset: Remove debug print in QueryBuilder (ced79dc5)
  • Implement query generation through new QueryBuilder (6f2edfa0)
  • parse_query: Remove [ ] as function opener (f8c3f5d7)
  • Fix commit error message (again) (b4398e93)
  • Fix error message on commit (91f9385b)
  • adminapi: Better error message on failed validations (bae855cd)
  • Fix search term parsing on client (3a8d6d53)
  • iprange: Remove debug print statement (cbfed82f)
  • iprange: Implement index view, start details view (02a365dc)
  • adminapi: Rename IP.is_internal to IP.is_private (131b2556)
  • servershell: Remove change event on search for buggy Opera (10d7012f)
  • adminapi: Rename request_results() to fetch_now() (b3d3ed41)
  • adminapi: Return queryset on delete/rollback (20c3749c)
  • dataset.filters: Remove not, since it's not a special operator (f34ef29c)
  • adminapi: Fix saving of old values (fdc53816)
  • adminapi filters: Add common base class with some magic methods (9dde0e54)
  • adminapi: Fix printing of changes (ca7e7bb8)
  • adminapi: Only log change if the value is different (ff491cc4)
  • api: Add exception message to raise_random_exception (1294400b)
  • api: Fix raise_random_exception (ed9682b3)
  • api: Implement a random exception thrower API function (122991d6)
  • dataset: Implement views for servertypes (c5f5d909)
  • dataset.base: Improve lookups building (ebd45ff9)
  • servershell: Make XHTML valid (3befb159)
  • servermonitor: Fix reload in graph table (ed9cb46b)
  • servershell: Fix bug with empty results (25dd9811)
  • servershell: Always check if we are still inside page range (501bc559)
  • servershell: Fix tabs->spaces in template (f96232c4)
  • servershell: Document list command (9e0e3226)
  • servershell: Document cmp command (f790a95c)
  • servershell: Add link to non-AJAX version (73350c81)
  • servershell: Limit width of attributes (84612e1c)
  • servershell: Implement list command (cf5f19b4)
  • Fix bordered_table (23fc4228)
  • servershell: Implement listing of attributes (caf55c76)
  • Add style for a bordered table (276f17e9)
  • servershell: Add login required to export (3136fcc7)
  • servershell: Fix reloading of graphs in graph command (0099ecca)
  • servermonitor: Implement graph reloading in graph_table (50616e12)
  • servermonitor: Display unknown values correctly (fa0ba3d8)
  • servermonitor: Always wrap formatted numbers in divs (2a2406a5)
  • servermonitor: Remove margin under the servertype in overview (8105dc84)
  • servermonitor: Add "understood" to search in overview (986332f2)
  • Abstract autocomplete and add it to servermonitor (510d643d)
  • servermonitor: Load sprite images in overview on demand (0dec45fb)
  • servermonitor: Highlight CPU/IO values in overview (ba7eb24b)
  • adminapi: Die with exit 1 after invalid search term (a0e8fc37)
  • adminapi: Catch parse errors and display them (b3791312)
  • adminapi: Fix deprecation warning (6a6cd843)
  • adminapi: query did not propagate exception to the user (1d5a8c9b)
  • adminapi: Fix attributes without arguments on parsing (5290081e)
  • servermonitor: Some performance improvements (3f8917f5)
  • servermonitor: Fix bug in search (af182330)
  • dataset: Fix really dirty hack on Not filter (2a854057)
  • servermonitor: hourly/daily in overview: explicit linebreaks (a655a7f0)
  • servermonitor: Save some space in the overview (50944e1d)
  • servermonitor: Change hardware condition physical_server=True (6968e2a3)
  • dataset: Really really dirty hack to support NOT on multi attrs (b511a625)
  • servermonitor: Fix handling of non-guests in search results (685981f1)
  • servermonitor: Better auto reloading in overview (339ae106)
  • servermonitor: Fix graphs in overview. Changes on auto-reload (3b1fbd7d)
  • servermonitor: Handle socket errors in reload_graph (12e198cc)
  • servermonitor: Implement graph popup in overview (144208db)
  • servermonitor: Add links to graph_table in overview (0a9f57ad)
  • servermonitor: Simple error handling of invalid search terms (923e0c0c)
  • servermonitor: graph_table will use GET param instead of url (9703846c)
  • Add servermonitor to menu (06227624)
  • servermonitor: Implement overview of hardware servers (28e8068c)
  • servermonitor: Fix bug with multiple graph displays per host (34716245)
  • servermonitor: ensure_csrf_cookie on graph/compare (6f436738)
  • adminapi: utils.parse.parse_query will accept empty term (e5ab73dd)
  • servermonitor: Add database router and models (aeb395c6)
  • servermonitor: Add login_required to compare/graph (3a0ea28a)
  • servermonitor: Add title tag to the "link to this page" links (247a918d)
  • servershell: Add search link to the search (1b75bf89)
  • servermonitor: Add non-ajax-callabilty of views (6238899a)
  • Icon for links, empty base template for ajax dialogs (d35745f9)
  • servermonitor: Implement compare with 3 period columns (c4f5ad37)
  • servermonitor: Add PERIOD constant with available periods (bfe777d2)
  • adminapi: Restricted keys on parsing (321ec0b7)
  • adminapi: adding missing validation to utils.parse.parse_query (f71fd40a)
  • dataset: Implement network name support in insidenetwork filter (875e9964)
  • dataset: Import exceptions from adminapi to have consistent interface (c4b09844)
  • servermonitor: Add spinner to reload (591e8df5)
  • Add spinner (8fc73883)
  • Revert "servermonitor: Add random ids to compare for multiple windows" (840d3a90)
  • servermonitor: Add random ids to compare for multiple windows (a4a5064a)
  • servershell: Add ensure_csrf_cookie decorator (d7fa9e0a)
  • servershell/monitor: Implement reloading of graphs in compare (891c9e84)
  • servermonitor: Fix reload_graphs (26974b69)
  • servershell: Fix displaying of attributes (dc23933f)
  • dataset: Fix AND/OR filter's from_obj method (04fc525a)
  • Remove black color for links (1ac0f781)
  • servershell/common: Extracted common configuration for serversearch (1508d7c7)
  • servershell/common: Rename autocomplete_search to _serversearch (72862d62)
  • servershell: Move autocomplete for search into common (7f09bb6c)
  • servermonitor: Move split_graph_name, implemented reload (9256cd7a)
  • adminapi: Do regexp matching when $ or ^ is used (65882819)
  • servershell: Rename compare command to cmp (7ccb16c3)
  • servershell/monitor: Compare without arguments compares all graphs (757ed209)
  • servershell/monitor: Implement compare command (8a077fa6)
  • servershell: Add documentation for graph command (f48f463c)
  • servershell: Add autocomplete for graph (78d74b4b)
  • servershell: Improve displaying of non-existing graphs (3d8847f8)
  • servershell: Fixes show first server on graph is none is selected (cd3c927f)
  • servershell: Add graph command (490c650b)
  • Start with servermonitor app (85562549)
  • docs: Add InsideNetwork and Public/PrivateIP (9209f50b)
  • Adminapi: Fix repr of Network (06e97241)
  • Adminapi dataset: Add InsideNetwork/PublicIP/PrivateIP filters (628bd6ba)
  • dataset: Use ducktyping for filters instead of instance checking (b639d5cc)
  • docs: Start secinfo example app tutorial (5090ae52)
  • dataset: Fix as_code of Private/PublicIP filter (e4eddb27)
  • dataset: Add Public/PrivateIP filter (2eb3bd17)
  • Raise ValueError if Network object can't be created (78974101)
  • JSOnify Network objects (7f3c4ac7)
  • dataset: Add InsideNetwork filter (b9e680bd)
  • Adminapi: Add Network class (2e4fec22)
  • dataset: Fix Regexp filtering on IP (e010ff0c)
  • Implement template tag for pagination (ba08e9a9)
  • servershell: Don't empty results when typing (08861202)
  • docs: Make all python examples valid python (d91b3cc7)
  • docs: Document permissions (b49d4f3c)
  • docs: Make terminology in extending clearer (52d42517)
  • docs: Add documentation how to add API functions (4de053a8)
  • docs: Finish with the terminology (dbc1cf4f)
  • docs: few words about memcache (37400718)
  • docs: Add documentation for virtualenvwrappers postactivate hook (e69a3586)
  • docs: Fix typos and improve style of extending page (9051122f)
  • Separate docs app from api (78e52969)
  • docs: Add name/email configuration for git in extending (47841060)
  • docs: Extend documentation for extending (59441996)
  • docs: Start with extending documentation (7f619f32)
  • Add requirements (47088d5e)
  • Add export and separator option to adminapi_query (fd480ad7)
  • Add docs (a45548d8)
  • Fix bug when parsing auth token (acd96227)
  • Add resources and some icons (46d9a8d7)
  • Add shebang to query commandline script (6e491df7)
  • Fix range selection in servershell (5e760a42)
  • servershell: Improve shown attributes (a2e2ffdb)
  • servershell: Document perpage command (6074ee1d)
  • servershell: Add perpage command (9f08dd0f)
  • Show attributes also on next page (ee4a9acd)
  • servershell: Fix autocomplete for attr command (e3b2d71d)
  • adminapi: Make query.py executable, add cmdline module to setup.py (eacce7b6)
  • adminapi: Symlink Makefile (4660fb73)
  • Fix unit tests (47978d90)
  • adminapi: Force evaluation of query (6214df9c)
  • Also print error on ValueError (b0c2b53a)
  • Initial implementation of commandline tools (just query yet) (b8af253e)
  • Add Queryset.request_results for non-lazy evaluation (2727f90f)
  • Implement QuerySet.get_lookup (81f03580)
  • Remove special chars on auth token (helps when using token on cmdline) (78db7889)
  • Add filter_classes to adminapi filters (8e943b83)
  • Add typecasting for filters (26a2e5f3)
  • adminapi Extract build_query_args (1ba9d6a9)
  • Add *.pyc to .gitignore (0b99aee8)
  • Use messages framework (501e80e3)
  • Add tabular styling (126c478e)
  • Set content-type to application/x-json for json response (f30fd09f)
  • servershell: Start implementing commit (af6ebfac)
  • Fix minor bug in Comparison filter (7796327a)
  • More backward compat (8b2ee9d6)
  • Fix typo in filter name (007c5e40)
  • Add utility function to find user who issued a command (35577951)
  • api: Move functions to apps and load them via middleware (32524834)
  • Add total ordering on IP (73b5ef69)
  • serverdb: Add Segment model (19c90d8c)
  • Fix weird mysql bug (0167a09d)
  • Implement faster cache pruning (9bbb4708)
  • Dataset filters: Fix database escaping (4f2ecd4b)
  • dataset: Fix default on multi attributes (0780d6e7)
  • Dataset create: Do right typecasting (dd45a444)
  • Dataset create: Fix typ conversion (bade49c6)
  • dataset: Fix type casting for default values (efa80e93)
  • Add json fixtures for tests (1f809648)
  • Add cache flushing to tests (dc81fc1b)
  • Dataset test cleanup (11f87973)
  • Fix comitting (acb1f690)
  • dataset: Rename AdminTableSpecial to ServerTableSpecial (1d6585c0)
  • dataset: Move Optional SQL to filter class (1a0ad709)
  • Start better handling of special attributes (7f6ea61e)
  • Add many unit tests for dataset (bd9a2447)
  • dataset: Bypass cache when checking for updated data (61431cbc)
  • dataset: Better validation (3bb1694d)
  • Put validation into own file, renamed for_export to bypass_cache (00174dc4)
  • dataset: Fix bug when deleting an attribute (0d99a5df)
  • Add ne to IP (eeda4701)
  • Add error messages for undefined attributes (5e5d73f7)
  • Even better error messages (fa03f75d)
  • Better error messages (7322f173)
  • Dataset create: Skip attributes if the default is None (6ccf26c3)
  • Dataset create: Do only check regexp on strings. (ef4f7d67)
  • Dataset create: Do not fill defaults if default is None (c2ae4545)
  • Dataset create: Fix multi attributes (4bab00c8)
  • Dataset create: Fix defaults for multi attributes (ea034611)
  • dataset: Fix creating of servers with multi attributes (38785de8)
  • dataset: Remove combined primary keys (2639ebd6)
  • Add tests for dataset queries (2d215bab)
  • dataset: Fix Optional filter (5ec2ae9f)
  • dataset: Fix bug in startswith filter on servertype (05a9b68d)
  • iprange: Fix multiple get_free() calls on same object (dc45f79a)
  • iprange: Don't return .0 and .255 for free IPs (30a6e5cd)
  • Fix cyclic import in adminapi (89ef6af2)
  • servershell: Fix error with undefined attributes (24f71996)
  • Fix workaround for hostname update (01342cc5)
  • Dirty fix to support hostname updates (66a77306)
  • Fix bug with special attributes (ddc819f5)
  • Add help icon (0fb0d8fa)
  • servershell: More natural order for command docs (6ec3c7fc)
  • servershell: Documentation for command, Disallowed "attr all_ips" (079276b3)
  • Add more complete jquery ui (b4c42175)
  • servershell: Start documenting command help (48fda17c)
  • servershell: all_ip will add intern_ip and additional_ips (ca482a89)
  • Help icon, Quickfix for all_ips (03f46a19)
  • servershell: Hide bookmarked icon via CSS (96b33cf0)
  • servershell: Add focus for hostname export box (bedb5fa8)
  • servershell: Add export (e29d0125)
  • servershell: Use query_repr.as_code for "Understood" (b02a43db)
  • servershell: Fix sorting (1432612d)
  • Implement as_code for good query representation (2e6ae163)
  • servershell: Autocomplete Startswith filter (b97e473c)
  • Add startswith filter to adminapi (5b5749fb)
  • servershell: Do not show columns twice (7ad4f3d7)
  • dataset: Add regexp validation to regexp filter (14614119)
  • Disallow changing of servertype (503a8b62)
  • servershell: Order multi attributes (7c948dc3)
  • servershell: Also show attributes with non-constant filtering (9aeffaa9)
  • Remove debug print statement (897fd576)
  • servershell: Empty command field after orderby (d881e7db)
  • servershell: Add ordering (7e72d884)
  • Add support for ordering (9411f85c)
  • dataset: Fix OR/AND's as_sql_expression (309a8dd7)
  • servershell: Fix multi sets (and multi ip sets) (ace86b13)
  • Refactor servershell javascript (c4549f3a)
  • Restructure servershell javascript (55f2b635)
  • servershell: Move javascript in own directory (83531931)
  • servershell: Add '=' after attribute in search, ' ' after attr in command (ee3a52f5)
  • Fix autocomplete with hostname only (75199414)
  • servershell: Improve autocomplete, search command, hostname search (e5696002)
  • servershell: Fix "attr nonexistingattr" (d0c1e5ca)
  • Queryset representation: Fix representation of Not (c63e2d85)
  • Hide startswith until it's available at the adminapi (098bc654)
  • Fix typo at filter class registration (b3f6a240)
  • servershell: autocompletion for all filters (bf01fdd6)
  • servershell: Add better error displaying (6bbf9fbf)
  • Implement servertype checking (5ddd841a)
  • Add login_required to servershell (9d7ca1e7)
  • servershell: search command which focuses search field (486efbce)
  • Some styling for attributes (fcfde845)
  • Implement goto page (7ed0ff13)
  • Rename all/none to select/unselect (17f93316)
  • servershell: Implement simple pagination (826025b6)
  • Possibility to get number of rows, Do not cache queries with LIMIT (bb5c27d3)
  • Clear command after attr command (1c2347a8)
  • Index redirects to servershell (6955e8e0)
  • Add servershell to menu (e5995ae5)
  • Many improvements to servershell (a7dc6cb6)
  • Another hack: Always use lowercase attributes at MAC (f2a25e44)
  • CSS class for td { vertical-align: middle } (90d5daf6)
  • Add offset/limit to QuerySet representation (fb10e1a4)
  • Add row coloring (6945591b)
  • Add common JS functions (IP, Array.remove) (56cce843)
  • Fix attribute checking in the dataset API (51abadaf)
  • Fix as_string of query set representation (b70f98fb)
  • Use unicode strings in dataset (06e13a77)
  • adminapi: Add modules to setup.py (6906e2f3)
  • dataset: Move repr to base QuerySet class (fe58743e)
  • Fix startwith filter (43f3947f)
  • Improve autocompletion for servers (9d40febe)
  • Implement skip_validation/force_changes on remote api (7077e91f)
  • Add forgotten files for documentation (d5bb8860)
  • Implement documentation view (f8638357)
  • Fix exception refactoring (23196003)
  • Fix bug in filters when using invalid comparism operator (379fb616)
  • Add missing exception classes (fa268a42)
  • Refactor dataset exceptions (979a2530)
  • servershell: Add beginnings of result view (26e20ec4)
  • Fix bug with incomplete hostname autocompletion (74dfee10)
  • Fix typo (b77ec19f)
  • Add common javascript (Django-CSRF for jQuery) (5aeff307)
  • Fix autocomplete: Don't replace but append (2206b61a)
  • Add InnoGames-style to jquery (9908b326)
  • Start servershell implementation (87308fab)
  • Add jquery, jquery ui and json to base template (a05fb7f0)
  • Add .limit on queryset, DatasetError in namespace dataset (8b1e2b70)
  • Add Logout (a72ee3f0)
  • Add igrestlogin URL (e75b122c)
  • Fix bug in the documentation of get_range (7ab4b977)
  • Add more ip range related api functions (8ed71cfc)
  • Use new cache invalidate method (396f56d9)
  • dataset: Add wrapper for server creation (c1a26be0)
  • Implement server creation (and code to invalidate cache) (ae189d24)
  • Increases entropy of auth token (925edf04)
  • dataset: Don't skip checking for attributes (ea861587)
  • JSONify datetime/date as unix timestamp and timedelta as int (number of seconds) (50c2d610)
  • Add init.py for common module (5dffc65e)
  • Index redirects to api function listing (e677dce7)
  • Improve docstrings with examples (7ec2f387)
  • Remove "Group:" in front the group name (5c154bf1)
  • Improve docstring of debug.raise_exception (0d11eb25)
  • Implement base template with CSS and logo (0f540f7d)
  • Improve docstring rendering and available docstrings (7556fc96)
  • Implement listing of available API functions (112dfa6b)
  • Add base template and 404 error page (087379e3)
  • Add option to get_free to increment the pointer or not (a5806f64)
  • Rename get_next_free to get_free (IP) (4292d3a0)
  • Change BASE_URL for API requests (69c5ed3d)
  • Add iprange app (0e600340)
  • Move ServerTypeAttributes from commit to lookups (a890c7e9)
  • Fix unnecessary queries (0c20a4d3)
  • Add special attr for all_ip, Fixed filter to accept IP objects (3555fa11)
  • Add bool on MultiAttr (0b21c454)
  • Use simplejson (with c speedups) if possible (414d4b5c)
  • Add bool on queryset (f564cfe6)
  • Get number of servers before modifying it via post_fetch (d7912110)
  • Do not cache again if it was read from cache (f366c211)
  • Change filename of cached files (cb810b8e)
  • Add versioning for lookups (7ac6e6ae)
  • Increase cache timeout to 7 days (d68723fa)
  • Fix cache pruning on commit (ce10e038)
  • dataset: Add forgotten cache class (9f685e51)
  • adminapi: Modify utils structure (f98d40b3)
  • Implement advanced and performant caching (6072edff)
  • Implement contains on multiattr (eeeecf60)
  • Add intelligent caching, data structure changes (d0ea107b)
  • Add function to describe functions (0ce4911e)
  • Make IP objects pickable (7f2febf7)
  • Change http status code if application is not found (0d1bf5f3)
  • Fix bug when printing a table with multiattr of integers (44062db3)
  • Increase performance by bypassing Django ORM (e47b47b2)
  • Fix bug with non-existing empty multi attributes (f1cc8923)
  • Add ApiError (d54ba7d9)
  • Add magic to support and/or and not (da1f5553)
  • Add remote function call API (e8ba1b52)
  • Implement API calls (768d6998)
  • Implement remote commits (fc1a5162)
  • Unified attribute interface, attributes attribute on queryset (66389d16)
  • Fix typos (d8a4fc7b)
  • Some refactoring (27a897bc)
  • Fix multi attribute changes (9f22e9c2)
  • Move the serialization of the changes to base (13293a86)
  • Validation for attribute names (0d923b50)
  • Fix NOT filter again (65e420ea)
  • Fix NOT filter (31ceb755)
  • Use explicit mutex locking, because mysql's table locking sucks (eb9c0697)
  • Add equals and hash to IP objects (a2afd526)
  • Several fixes to dataset commit (cb31e003)
  • Add primary key for ServerTypeAttributes (be8a5111)
  • Add object_id as special attribute (78fef174)
  • Remove simple check - it broke ip conversation of numeric strings (35900be5)
  • Make comment a little clearer (19b016e4)
  • Fix missing exception replacements (e83e895a)
  • Add simple IP validation (8cc11581)
  • Finish commit implementation (3bfb31ce)
  • Start implementation of commits (28a6c51e)
  • Refactor exceptions (ef69c4a9)
  • Change way to serialize changes (b0c95b3e)
  • Allowed querying for object id (37223618)
  • Add model for available attributes on a server (a35a8f73)
  • Fix Any filter (a95d0bc8)
  • Add QuerySet.iterattrs, improved QuerySet.print_changes (8e85b33a)
  • Raise exception on invalid server object item assignment (957a2b1c)
  • Fix NOT filter (59f39cd4)
  • Extend application name to 80 chars (09a3f1a3)
  • Remove partial Python 2.5 compatibility (92366212)
  • Improve Python 2.5 compatibility (e3ad8a35)
  • Fix bug in type conversion (7413baf2)
  • Skeleton for servershell application (a35f54e4)
  • Use HTTPS for API requests (1e5a832f)
  • query: Return all attributes with type/multi. Type conversion for IP (ce936a4d)
  • Change URL to the API (ee816106)
  • Add MANIFEST file to gitignore (5bbb8cdd)
  • Add Makefile to build debian package (a867928c)
  • Add all_ips, Fixed Optional, Used MultiAttr instead of set (b0601ce5)
  • Implement MultiAttr, Fixed NotImplemented -> NotImplementedError (d5b3e2fc)
  • Add Not filter, small bugfix for Optional (54bce93f)
  • Fix query representation, Used MultiAttr instead of set (af264bbb)
  • Use unicode string for attr names (a7a25ee4)
  • Fix typo in attribute name: internal_ip -> intern_ip (e1cce5f5)
  • Implement from_obj methods on filters (addb0f78)
  • Implement more advanced version of restrictions (2e53a208)
  • Finish dataset query api view (4a114509)
  • API on serverside will now also encode additional types in json (c04580a8)
  • adminapi: Store restrictions and augmentations as set (3b89af54)
  • Bugfixes and attribute conversion in dataset remote api (b1b25da2)
  • adminapi: Encode additional types to json (cf5ac956)
  • Add skeleton to parse filters from json objects (383ed306)
  • Fix query for servertype attribute (1c451feb)
  • Fix several bugs in dataset query result parsing (d68896b7)
  • Add attr_name to filter.as_sql_expr (2bf73cbe)
  • Add db_table option to AttributeValue (27f6b38b)
  • Modifier on attributes is nullable (e00bff13)
  • Add special cases for hostname/servertype/internal_ip (d9bd4f92)
  • Add gitignore (b1406f50)
  • Initial commit (345160c1)