Improved resources and orders apps

This commit is contained in:
Marc 2014-07-16 15:20:16 +00:00
parent 121e1a4b1c
commit d15d5dc249
25 changed files with 2305 additions and 79 deletions

View File

@ -53,11 +53,13 @@ def get_accounts():
users.append(items.MenuItem(_("Tokens"), tokens)) users.append(items.MenuItem(_("Tokens"), tokens))
accounts.append(items.MenuItem(_("Users"), url, children=users)) accounts.append(items.MenuItem(_("Users"), url, children=users))
if isinstalled('orchestra.apps.prices'): if isinstalled('orchestra.apps.prices'):
url = reverse('admin:prices_price_changelist') url = reverse('admin:prices_pack_changelist')
accounts.append(items.MenuItem(_("Prices"), url)) accounts.append(items.MenuItem(_("Packs"), url))
if isinstalled('orchestra.apps.orders'): if isinstalled('orchestra.apps.orders'):
url = reverse('admin:orders_order_changelist') url = reverse('admin:orders_order_changelist')
accounts.append(items.MenuItem(_("Orders"), url)) accounts.append(items.MenuItem(_("Orders"), url))
url = reverse('admin:orders_service_changelist')
accounts.append(items.MenuItem(_("Services"), url))
return accounts return accounts
@ -76,6 +78,8 @@ def get_administration_models():
administration_models.append('orchestra.apps.issues.*') administration_models.append('orchestra.apps.issues.*')
if isinstalled('orchestra.apps.resources'): if isinstalled('orchestra.apps.resources'):
administration_models.append('orchestra.apps.resources.*') administration_models.append('orchestra.apps.resources.*')
if isinstalled('orchestra.apps.miscellaneous'):
administration_models.append('orchestra.apps.miscellaneous.models.MiscService')
return administration_models return administration_models

View File

@ -5,6 +5,7 @@ from django.utils.translation import ugettext_lazy as _
ACCOUNTS_TYPES = getattr(settings, 'ACCOUNTS_TYPES', ( ACCOUNTS_TYPES = getattr(settings, 'ACCOUNTS_TYPES', (
('INDIVIDUAL', _("Individual")), ('INDIVIDUAL', _("Individual")),
('ASSOCIATION', _("Association")), ('ASSOCIATION', _("Association")),
('CUSTOMER', _("Customer")),
('COMPANY', _("Company")), ('COMPANY', _("Company")),
('PUBLICBODY', _("Public body")), ('PUBLICBODY', _("Public body")),
)) ))

View File

@ -74,5 +74,34 @@ class MySQLPermissionBackend(ServiceController):
class MysqlDisk(ServiceMonitor): class MysqlDisk(ServiceMonitor):
model = 'database.Database' model = 'database.Database'
resource = ServiceMonitor.DISK
verbose_name = _("MySQL disk") verbose_name = _("MySQL disk")
def exceeded(self, db):
context = self.get_context(obj)
self.append("mysql -e '"
"UPDATE db SET Insert_priv=\"N\", Create_priv=\"N\""
" WHERE Db=\"%(db_name)s\";'" % context
)
def recovery(self, db):
context = self.get_context(obj)
self.append("mysql -e '"
"UPDATE db SET Insert_priv=\"Y\", Create_priv=\"Y\""
" WHERE Db=\"%(db_name)s\";'" % context
)
def monitor(self, db):
context = self.get_context(obj)
self.append(
"echo %(db_id)s $(mysql -B -e '"
" SELECT sum( data_length + index_length ) \"Size\"\n"
" FROM information_schema.TABLES\n"
" WHERE table_schema=\"gisp\"\n"
" GROUP BY table_schema;' | tail -n 1)" % context
)
def get_context(self, db):
return {
'db_name': db.name,
'db_id': db.pk,
}

View File

View File

@ -0,0 +1,34 @@
from django.contrib import admin
from django.core.urlresolvers import reverse
from django.db import models
from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _
from orchestra.apps.accounts.admin import AccountAdminMixin
from .models import MiscService, Miscellaneous
class MiscServiceAdmin(admin.ModelAdmin):
list_display = ('name', 'num_instances')
def num_instances(self, misc):
""" return num slivers as a link to slivers changelist view """
num = misc.instances.count()
url = reverse('admin:miscellaneous_miscellaneous_changelist')
url += '?service={}'.format(misc.pk)
return mark_safe('<a href="{0}">{1}</a>'.format(url, num))
num_instances.short_description = _("Instances")
num_instances.admin_order_field = 'instances__count'
def get_queryset(self, request):
qs = super(MiscServiceAdmin, self).queryset(request)
return qs.annotate(models.Count('instances', distinct=True))
class MiscellaneousAdmin(AccountAdminMixin, admin.ModelAdmin):
list_display = ('service', 'amount', 'account_link')
admin.site.register(MiscService, MiscServiceAdmin)
admin.site.register(Miscellaneous, MiscellaneousAdmin)

View File

@ -0,0 +1,36 @@
from django.db import models
from django.utils.translation import ugettext_lazy as _
from orchestra.core import services
class MiscService(models.Model):
name = models.CharField(_("name"), max_length=256)
description = models.TextField(blank=True)
is_active = models.BooleanField(default=True,
help_text=_("Whether new instances of this service can be created "
"or not. Unselect this instead of deleting services."))
def __unicode__(self):
return self.name
class Miscellaneous(models.Model):
service = models.ForeignKey(MiscService, verbose_name=_("service"),
related_name='instances')
account = models.ForeignKey('accounts.Account', verbose_name=_("account"),
related_name='miscellaneous')
description = models.TextField(_("description"), blank=True)
amount = models.PositiveIntegerField(_("amount"), default=1)
is_active = models.BooleanField(default=True,
help_text=_("Designates whether this service should be treated as "
"active. Unselect this instead of deleting services."))
class Meta:
verbose_name_plural = _("miscellaneous")
def __unicode__(self):
return "{0}-{1}".format(str(self.service), str(self.account))
services.register(Miscellaneous)

View File

@ -130,4 +130,6 @@ class ServiceController(ServiceBackend):
@classmethod @classmethod
def get_backends(cls): def get_backends(cls):
""" filter controller classes """ """ filter controller classes """
return [ plugin for plugin in cls.plugins if ServiceController in plugin.__mro__ ] return [
plugin for plugin in cls.plugins if ServiceController in plugin.__mro__
]

View File

@ -1,15 +1,49 @@
from django import forms
from django.contrib import admin from django.contrib import admin
from django.utils.translation import ugettext_lazy as _
from .models import Order, QuotaStorage from orchestra.core import services
from .models import Service, Order, MetricStorage
class ServiceAdmin(admin.ModelAdmin):
fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('description', 'model', 'match', 'is_active')
}),
(_("Billing options"), {
'classes': ('wide',),
'fields': ('billing_period', 'billing_point', 'delayed_billing',
'is_fee')
}),
(_("Pricing options"), {
'classes': ('wide',),
'fields': ('metric', 'pricing_period', 'rate_algorithm',
'orders_effect', ('on_cancel', 'on_disable', 'on_register'),
'payment_style', 'trial_period', 'refound_period', 'tax',)
}),
)
def formfield_for_dbfield(self, db_field, **kwargs):
""" Improve performance of account field and filter by account """
if db_field.name == 'model':
models = [model._meta.model_name for model in services.get().keys()]
kwargs['queryset'] = db_field.rel.to.objects.filter(model__in=models)
if db_field.name in ['match', 'metric']:
kwargs['widget'] = forms.TextInput(attrs={'size':'160'})
return super(ServiceAdmin, self).formfield_for_dbfield(db_field, **kwargs)
class OrderAdmin(admin.ModelAdmin): class OrderAdmin(admin.ModelAdmin):
pass pass
class QuotaStorageAdmin(admin.ModelAdmin): class MetricStorageAdmin(admin.ModelAdmin):
pass pass
admin.site.register(Service, ServiceAdmin)
admin.site.register(Order, OrderAdmin) admin.site.register(Order, OrderAdmin)
admin.site.register(QuotaStorage, QuotaStorageAdmin) admin.site.register(MetricStorage, MetricStorageAdmin)

View File

@ -6,13 +6,151 @@ from django.utils.translation import ugettext_lazy as _
from . import settings from . import settings
class Service(models.Model):
NEVER = 'NEVER'
MONTHLY = 'MONTHLY'
ANUAL = 'ANUAL'
TEN_DAYS = 'TEN_DAYS'
ONE_MONTH = 'ONE_MONTH'
ALWAYS = 'ALWAYS'
ON_REGISTER = 'ON_REGISTER'
FIXED_DATE = 'ON_FIXED_DATE'
BILLING_PERIOD = 'BILLING_PERIOD'
REGISTER_OR_RENEW = 'REGISTER_OR_RENEW'
CONCURRENT = 'CONCURRENT'
NOTHING = 'NOTHING'
DISCOUNT = 'DISCOUNT'
REFOUND = 'REFOUND'
PREPAY = 'PREPAY'
POSTPAY = 'POSTPAY'
BEST_PRICE = 'BEST_PRICE'
PROGRESSIVE_PRICE = 'PROGRESSIVE_PRICE'
MATCH_PRICE = 'MATCH_PRICE'
description = models.CharField(_("description"), max_length=256, unique=True)
model = models.ForeignKey(ContentType, verbose_name=_("model"))
match = models.CharField(_("match"), max_length=256)
is_active = models.BooleanField(_("is active"), default=True)
# Billing
billing_period = models.CharField(_("billing period"), max_length=16,
help_text=_("Renewal period for recurring invoicing"),
choices=(
(NEVER, _("One time service")),
(MONTHLY, _("Monthly billing")),
(ANUAL, _("Anual billing")),
),
default=ANUAL)
billing_point = models.CharField(_("billing point"), max_length=16,
help_text=_("Reference point for calculating the renewal date "
"on recurring invoices"),
choices=(
(ON_REGISTER, _("Registration date")),
(FIXED_DATE, _("Fixed billing date")),
),
default=FIXED_DATE)
delayed_billing = models.CharField(_("delayed billing"), max_length=16,
help_text=_("Period in which this service will be ignored for billing"),
choices=(
(NEVER, _("No delay (inmediate billing)")),
(TEN_DAYS, _("Ten days")),
(ONE_MONTH, _("One month")),
),
default=ONE_MONTH)
is_fee = models.BooleanField(_("is fee"), default=False,
help_text=_("Designates whether this service should be billed as "
" membership fee or not"))
# Pricing
metric = models.CharField(_("metric"), max_length=256, blank=True,
help_text=_("Metric used to compute the pricing rate. "
"Number of orders is used when left blank."))
tax = models.IntegerField(_("tax"), choices=settings.ORDERS_SERVICE_TAXES,
default=settings.ORDERS_SERVICE_DEFAUL_TAX)
pricing_period = models.CharField(_("pricing period"), max_length=16,
help_text=_("Period used for calculating the metric used on the "
"pricing rate"),
choices=(
(BILLING_PERIOD, _("Same as billing period")),
(MONTHLY, _("Monthly data")),
(ANUAL, _("Anual data")),
),
default=BILLING_PERIOD)
rate_algorithm = models.CharField(_("rate algorithm"), max_length=16,
help_text=_("Algorithm used to interprete the rating table"),
choices=(
(BEST_PRICE, _("Best price")),
(PROGRESSIVE_PRICE, _("Progressive price")),
(MATCH_PRICE, _("Match price")),
),
default=BEST_PRICE)
orders_effect = models.CharField(_("orders effect"), max_length=16,
help_text=_("Defines the lookup behaviour when using orders for "
"the pricing rate computation of this service."),
choices=(
(REGISTER_OR_RENEW, _("Register or renew events")),
(CONCURRENT, _("Active at every given time")),
),
default=CONCURRENT)
on_cancel = models.CharField(_("on cancel"), max_length=16,
help_text=_("Defines the cancellation behaviour of this service"),
choices=(
(NOTHING, _("Nothing")),
(DISCOUNT, _("Discount")),
(REFOUND, _("Refound")),
),
default=DISCOUNT)
on_disable = models.CharField(_("on disable"), max_length=16,
help_text=_("Defines the behaviour of this service when disabled"),
choices=(
(NOTHING, _("Nothing")),
(DISCOUNT, _("Discount")),
(REFOUND, _("Refound")),
),
default=DISCOUNT)
on_register = models.CharField(_("on register"), max_length=16,
help_text=_("Defines the behaviour of this service on registration"),
choices=(
(NOTHING, _("Nothing")),
(DISCOUNT, _("Discount (fixed BP)")),
),
default=DISCOUNT)
payment_style = models.CharField(_("payment style"), max_length=16,
help_text=_("Designates whether this service should be paid after "
"consumtion (postpay/on demand) or prepaid"),
choices=(
(PREPAY, _("Prepay")),
(POSTPAY, _("Postpay (on demand)")),
),
default=PREPAY)
trial_period = models.CharField(_("trial period"), max_length=16,
help_text=_("Period in which no charge will be issued"),
choices=(
(NEVER, _("No trial")),
(TEN_DAYS, _("Ten days")),
(ONE_MONTH, _("One month")),
),
default=NEVER)
refound_period = models.CharField(_("refound period"), max_length=16,
help_text=_("Period in which automatic refound will be performed on "
"service cancellation"),
choices=(
(NEVER, _("Never refound")),
(TEN_DAYS, _("Ten days")),
(ONE_MONTH, _("One month")),
(ALWAYS, _("Always refound")),
),
default=ONE_MONTH)
def __unicode__(self):
return self.description
class Order(models.Model): class Order(models.Model):
account = models.ForeignKey('accounts.Account', verbose_name=_("account"), account = models.ForeignKey('accounts.Account', verbose_name=_("account"),
related_name='orders') related_name='orders')
content_type = models.ForeignKey(ContentType) content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField(null=True) object_id = models.PositiveIntegerField(null=True)
price = models.ForeignKey(settings.ORDERS_PRICE_MODEL, service = models.ForeignKey(Service, verbose_name=_("price"),
verbose_name=_("price"), related_name='orders') related_name='orders')
registered_on = models.DateTimeField(_("registered on"), auto_now_add=True) registered_on = models.DateTimeField(_("registered on"), auto_now_add=True)
cancelled_on = models.DateTimeField(_("cancelled on"), null=True, blank=True) cancelled_on = models.DateTimeField(_("cancelled on"), null=True, blank=True)
billed_on = models.DateTimeField(_("billed on"), null=True, blank=True) billed_on = models.DateTimeField(_("billed on"), null=True, blank=True)
@ -26,7 +164,7 @@ class Order(models.Model):
return self.service return self.service
class QuotaStorage(models.Model): class MetricStorage(models.Model):
order = models.ForeignKey(Order, verbose_name=_("order")) order = models.ForeignKey(Order, verbose_name=_("order"))
value = models.BigIntegerField(_("value")) value = models.BigIntegerField(_("value"))
date = models.DateTimeField(_("date")) date = models.DateTimeField(_("date"))

View File

@ -2,4 +2,10 @@ from django.conf import settings
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
ORDERS_PRICE_MODEL = getattr(settings, 'ORDERS_PRICE_MODEL', 'prices.Price') ORDERS_SERVICE_TAXES = getattr(settings, 'ORDERS_SERVICE_TAXES', (
(0, _("Duty free")),
(7, _("7%")),
(21, _("21%")),
))
ORDERS_SERVICE_DEFAUL_TAX = getattr(settings, 'ORDERS_SERVICE_DFAULT_TAX', 0)

View File

@ -1,23 +1,20 @@
from django.contrib import admin from django.contrib import admin
from orchestra.core import services from orchestra.admin.utils import insertattr
from orchestra.apps.orders.models import Service
from .models import Pack, Price, Rate from .models import Pack, Rate
class PackAdmin(admin.ModelAdmin):
pass
admin.site.register(Pack, PackAdmin)
class RateInline(admin.TabularInline): class RateInline(admin.TabularInline):
model = Rate model = Rate
ordering = ('pack', 'quantity')
class PriceAdmin(admin.ModelAdmin): insertattr(Service, 'inlines', RateInline)
inlines = [RateInline]
def formfield_for_dbfield(self, db_field, **kwargs):
""" Improve performance of account field and filter by account """
if db_field.name == 'service':
models = [model._meta.model_name for model in services.get().keys()]
kwargs['queryset'] = db_field.rel.to.objects.filter(model__in=models)
return super(PriceAdmin, self).formfield_for_dbfield(db_field, **kwargs)
admin.site.register(Price, PriceAdmin)

View File

@ -2,6 +2,8 @@ from django.db import models
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from orchestra.core import services
from . import settings from . import settings
@ -16,27 +18,18 @@ class Pack(models.Model):
return self.pack return self.pack
class Price(models.Model):
description = models.CharField(_("description"), max_length=256, unique=True)
service = models.ForeignKey(ContentType, verbose_name=_("service"))
expression = models.CharField(_("match"), max_length=256)
tax = models.IntegerField(_("tax"), choices=settings.PRICES_TAXES,
default=settings.PRICES_DEFAUL_TAX)
active = models.BooleanField(_("is active"), default=True)
def __unicode__(self):
return self.description
class Rate(models.Model): class Rate(models.Model):
price = models.ForeignKey('prices.Price', verbose_name=_("price")) service = models.ForeignKey('orders.Service', verbose_name=_("service"))
pack = models.CharField(_("pack"), max_length=128, blank=True, pack = models.CharField(_("pack"), max_length=128, blank=True,
choices=(('', _("default")),) + settings.PRICES_PACKS) choices=(('', _("default")),) + settings.PRICES_PACKS)
quantity = models.PositiveIntegerField(_("quantity"), null=True, blank=True) quantity = models.PositiveIntegerField(_("quantity"), null=True, blank=True)
value = models.DecimalField(_("price"), max_digits=12, decimal_places=2) value = models.DecimalField(_("value"), max_digits=12, decimal_places=2)
class Meta: class Meta:
unique_together = ('price', 'pack', 'quantity') unique_together = ('service', 'pack', 'quantity')
def __unicode__(self): def __unicode__(self):
return self.price return "{}-{}".format(str(self.value), self.quantity)
services.register(Pack, menu=False)

View File

@ -8,12 +8,3 @@ PRICES_PACKS = getattr(settings, 'PRICES_PACKS', (
)) ))
PRICES_DEFAULT_PACK = getattr(settings, 'PRICES_DEFAULT_PACK', 'basic') PRICES_DEFAULT_PACK = getattr(settings, 'PRICES_DEFAULT_PACK', 'basic')
PRICES_TAXES = getattr(settings, 'PRICES_TAXES', (
(0, _("Duty free")),
(7, _("7%")),
(21, _("21%")),
))
PRICES_DEFAUL_TAX = getattr(settings, 'PRICES_DFAULT_TAX', 0)

View File

@ -7,7 +7,7 @@ from djcelery.humanize import naturaldate
from orchestra.admin import ExtendedModelAdmin from orchestra.admin import ExtendedModelAdmin
from orchestra.admin.filters import UsedContentTypeFilter from orchestra.admin.filters import UsedContentTypeFilter
from orchestra.admin.utils import insertattr, get_modeladmin from orchestra.admin.utils import insertattr, get_modeladmin, link
from orchestra.core import services from orchestra.core import services
from orchestra.utils import running_syncdb from orchestra.utils import running_syncdb
@ -17,7 +17,7 @@ from .models import Resource, ResourceData, MonitorData
class ResourceAdmin(ExtendedModelAdmin): class ResourceAdmin(ExtendedModelAdmin):
list_display = ( list_display = (
'name', 'verbose_name', 'content_type', 'period', 'ondemand', 'id', 'name', 'verbose_name', 'content_type', 'period', 'ondemand',
'default_allocation', 'disable_trigger', 'crontab', 'default_allocation', 'disable_trigger', 'crontab',
) )
list_filter = (UsedContentTypeFilter, 'period', 'ondemand', 'disable_trigger') list_filter = (UsedContentTypeFilter, 'period', 'ondemand', 'disable_trigger')
@ -26,8 +26,8 @@ class ResourceAdmin(ExtendedModelAdmin):
'fields': ('name', 'content_type', 'period'), 'fields': ('name', 'content_type', 'period'),
}), }),
(_("Configuration"), { (_("Configuration"), {
'fields': ('verbose_name', 'default_allocation', 'ondemand', 'fields': ('verbose_name', 'unit', 'scale', 'ondemand',
'disable_trigger', 'is_active'), 'default_allocation', 'disable_trigger', 'is_active'),
}), }),
(_("Monitoring"), { (_("Monitoring"), {
'fields': ('monitors', 'crontab'), 'fields': ('monitors', 'crontab'),
@ -65,16 +65,27 @@ class ResourceAdmin(ExtendedModelAdmin):
class ResourceDataAdmin(admin.ModelAdmin): class ResourceDataAdmin(admin.ModelAdmin):
list_display = ('id', 'resource', 'used', 'allocated', 'last_update', 'content_type') # TODO content_object list_display = (
'id', 'resource', 'used', 'allocated', 'last_update', 'content_object_link'
)
list_filter = ('resource',) list_filter = ('resource',)
readonly_fields = ('content_object_link',)
def content_object_link(self, data):
return link('content_object')(self, data)
content_object_link.allow_tags = True
content_object_link.short_description = _("Content object")
class MonitorDataAdmin(admin.ModelAdmin): class MonitorDataAdmin(admin.ModelAdmin):
list_display = ('id', 'monitor', 'date', 'value', 'ct', 'object_id') # TODO content_object list_display = ('id', 'monitor', 'date', 'value', 'content_object_link')
list_filter = ('monitor',) list_filter = ('monitor',)
readonly_fields = ('content_object_link',)
def ct(self, i): def content_object_link(self, data):
return i.content_type_id return link('content_object')(self, data)
content_object_link.allow_tags = True
content_object_link.short_description = _("Content object")
admin.site.register(Resource, ResourceAdmin) admin.site.register(Resource, ResourceAdmin)
@ -102,8 +113,10 @@ def resource_inline_factory(resources):
form = ResourceForm form = ResourceForm
formset = ResourceInlineFormSet formset = ResourceInlineFormSet
can_delete = False can_delete = False
fields = ('verbose_name', 'used', 'display_last_update', 'allocated',) fields = (
readonly_fields = ('used', 'display_last_update',) 'verbose_name', 'used', 'display_last_update', 'allocated', 'unit'
)
readonly_fields = ('used', 'display_last_update')
class Media: class Media:
css = { css = {
@ -114,9 +127,9 @@ def resource_inline_factory(resources):
""" Hidde add another """ """ Hidde add another """
return False return False
def display_last_update(self, log): def display_last_update(self, data):
return '<div title="{0}">{1}</div>'.format( return '<div title="{0}">{1}</div>'.format(
escape(str(log.last_update)), escape(naturaldate(log.last_update)), escape(str(data.last_update)), escape(naturaldate(data.last_update)),
) )
display_last_update.short_description = _("last update") display_last_update.short_description = _("last update")
display_last_update.allow_tags = True display_last_update.allow_tags = True

View File

@ -14,7 +14,7 @@ class ServiceMonitor(ServiceBackend):
CPU = 'cpu' CPU = 'cpu'
# TODO UNITS # TODO UNITS
actions = ('monitor', 'resource_exceeded', 'resource_recovery') actions = ('monitor', 'exceeded', 'recovery')
@classmethod @classmethod
def get_backends(cls): def get_backends(cls):
@ -47,15 +47,19 @@ class ServiceMonitor(ServiceBackend):
return self.current_date - datetime.timedelta(days=1) return self.current_date - datetime.timedelta(days=1)
return data.date return data.date
def process(self, line):
""" line -> object_id, value """
return line.split()
def store(self, log): def store(self, log):
""" object_id value """ """ stores montirod values from stdout """
from .models import MonitorData from .models import MonitorData
name = self.get_name() name = self.get_name()
app_label, model_name = self.model.split('.') app_label, model_name = self.model.split('.')
ct = ContentType.objects.get(app_label=app_label, model=model_name.lower()) ct = ContentType.objects.get(app_label=app_label, model=model_name.lower())
for line in log.stdout.splitlines(): for line in log.stdout.splitlines():
line = line.strip() line = line.strip()
object_id, value = line.split() object_id, value = self.process(line)
MonitorData.objects.create(monitor=name, object_id=object_id, MonitorData.objects.create(monitor=name, object_id=object_id,
content_type=ct, value=value, date=self.current_date) content_type=ct, value=value, date=self.current_date)

View File

@ -12,15 +12,17 @@ class ResourceForm(forms.ModelForm):
used = forms.IntegerField(label=_("Used"), widget=ShowTextWidget(), used = forms.IntegerField(label=_("Used"), widget=ShowTextWidget(),
required=False) required=False)
allocated = forms.IntegerField(label=_("Allocated")) allocated = forms.IntegerField(label=_("Allocated"))
unit = forms.CharField(label=_("Unit"), widget=ShowTextWidget(), required=False)
class Meta: class Meta:
fields = ('verbose_name', 'used', 'last_update', 'allocated',) fields = ('verbose_name', 'used', 'last_update', 'allocated', 'unit')
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
self.resource = kwargs.pop('resource', None) self.resource = kwargs.pop('resource', None)
super(ResourceForm, self).__init__(*args, **kwargs) super(ResourceForm, self).__init__(*args, **kwargs)
if self.resource: if self.resource:
self.fields['verbose_name'].initial = self.resource.verbose_name self.fields['verbose_name'].initial = self.resource.verbose_name
self.fields['unit'].initial = self.resource.unit
if self.resource.ondemand: if self.resource.ondemand:
self.fields['allocated'].required = False self.fields['allocated'].required = False
self.fields['allocated'].widget = ReadOnlyWidget(None, '') self.fields['allocated'].widget = ReadOnlyWidget(None, '')

View File

@ -9,7 +9,7 @@ from orchestra.models.utils import get_model_field_path
from .backends import ServiceMonitor from .backends import ServiceMonitor
def get_used_resource(data): def compute_resource_usage(data):
""" Computes MonitorData.used based on related monitors """ """ Computes MonitorData.used based on related monitors """
MonitorData = type(data) MonitorData = type(data)
resource = data.resource resource = data.resource
@ -65,4 +65,4 @@ def get_used_resource(data):
msg = "%s support not implemented" % data.period msg = "%s support not implemented" % data.period
raise NotImplementedError(msg) raise NotImplementedError(msg)
return result if has_result else None return result/resource.scale if has_result else None

View File

@ -26,14 +26,14 @@ class Resource(models.Model):
(MONTHLY_AVG, _("Monthly Average")), (MONTHLY_AVG, _("Monthly Average")),
) )
name = models.CharField(_("name"), max_length=32, unique=True, name = models.CharField(_("name"), max_length=32,
help_text=_('Required. 32 characters or fewer. Lowercase letters, ' help_text=_('Required. 32 characters or fewer. Lowercase letters, '
'digits and hyphen only.'), 'digits and hyphen only.'),
validators=[validators.RegexValidator(r'^[a-z0-9_\-]+$', validators=[validators.RegexValidator(r'^[a-z0-9_\-]+$',
_('Enter a valid name.'), 'invalid')]) _('Enter a valid name.'), 'invalid')])
verbose_name = models.CharField(_("verbose name"), max_length=256, unique=True) verbose_name = models.CharField(_("verbose name"), max_length=256)
content_type = models.ForeignKey(ContentType, content_type = models.ForeignKey(ContentType,
help_text=_("Model where this resource will be hooked")) help_text=_("Model where this resource will be hooked."))
period = models.CharField(_("period"), max_length=16, choices=PERIODS, period = models.CharField(_("period"), max_length=16, choices=PERIODS,
default=LAST, default=LAST,
help_text=_("Operation used for aggregating this resource monitored" help_text=_("Operation used for aggregating this resource monitored"
@ -45,7 +45,12 @@ class Resource(models.Model):
null=True, blank=True, null=True, blank=True,
help_text=_("Default allocation value used when this is not an " help_text=_("Default allocation value used when this is not an "
"on demand resource")) "on demand resource"))
is_active = models.BooleanField(_("is active"), default=True) unit = models.CharField(_("unit"), max_length=16,
help_text=_("The unit in which this resource is measured. "
"For example GB, KB or subscribers"))
scale = models.PositiveIntegerField(_("scale"),
help_text=_("Scale in which this resource monitoring resoults should "
"be prorcessed to match with unit."))
disable_trigger = models.BooleanField(_("disable trigger"), default=False, disable_trigger = models.BooleanField(_("disable trigger"), default=False,
help_text=_("Disables monitors exeeded and recovery triggers")) help_text=_("Disables monitors exeeded and recovery triggers"))
crontab = models.ForeignKey(CrontabSchedule, verbose_name=_("crontab"), crontab = models.ForeignKey(CrontabSchedule, verbose_name=_("crontab"),
@ -55,9 +60,16 @@ class Resource(models.Model):
monitors = MultiSelectField(_("monitors"), max_length=256, blank=True, monitors = MultiSelectField(_("monitors"), max_length=256, blank=True,
choices=ServiceMonitor.get_choices(), choices=ServiceMonitor.get_choices(),
help_text=_("Monitor backends used for monitoring this resource.")) help_text=_("Monitor backends used for monitoring this resource."))
is_active = models.BooleanField(_("is active"), default=True)
class Meta:
unique_together = (
('name', 'content_type'),
('verbose_name', 'content_type')
)
def __unicode__(self): def __unicode__(self):
return self.name return "{}-{}".format(str(self.content_type), self.name)
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
super(Resource, self).save(*args, **kwargs) super(Resource, self).save(*args, **kwargs)
@ -126,7 +138,7 @@ class ResourceData(models.Model):
allocated=resource.default_allocation) allocated=resource.default_allocation)
def get_used(self): def get_used(self):
return helpers.get_used(self) return helpers.compute_resource_usage(self)
class MonitorData(models.Model): class MonitorData(models.Model):
@ -135,8 +147,8 @@ class MonitorData(models.Model):
choices=ServiceMonitor.get_choices()) choices=ServiceMonitor.get_choices())
content_type = models.ForeignKey(ContentType) content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField() object_id = models.PositiveIntegerField()
date = models.DateTimeField(auto_now_add=True) date = models.DateTimeField(_("date"), auto_now_add=True)
value = models.PositiveIntegerField() value = models.DecimalField(_("value"), max_digits=16, decimal_places=2)
content_object = GenericForeignKey() content_object = GenericForeignKey()

View File

@ -7,7 +7,7 @@ class OpenVZTraffic(ServiceMonitor):
model = 'vps.VPS' model = 'vps.VPS'
resource = ServiceMonitor.TRAFFIC resource = ServiceMonitor.TRAFFIC
def process(self, line, obj): def process(self, line):
""" diff with last stored value """ """ diff with last stored value """
object_id, value = line.split() object_id, value = line.split()
last = self.get_last_data(object_id) last = self.get_last_data(object_id)

View File

@ -78,6 +78,7 @@ INSTALLED_APPS = (
'orchestra.apps.issues', 'orchestra.apps.issues',
'orchestra.apps.prices', 'orchestra.apps.prices',
'orchestra.apps.orders', 'orchestra.apps.orders',
'orchestra.apps.miscellaneous',
# Third-party apps # Third-party apps
'django_extensions', 'django_extensions',
@ -139,7 +140,8 @@ FLUENT_DASHBOARD_APP_GROUPS = (
'orchestra.apps.contacts.models.Contact', 'orchestra.apps.contacts.models.Contact',
'orchestra.apps.users.models.User', 'orchestra.apps.users.models.User',
'orchestra.apps.orders.models.Order', 'orchestra.apps.orders.models.Order',
'orchestra.apps.prices.models.Price', 'orchestra.apps.orders.models.Service',
'orchestra.apps.prices.models.Pack',
), ),
'collapsible': True, 'collapsible': True,
}), }),
@ -170,11 +172,13 @@ FLUENT_DASHBOARD_APP_ICONS = {
'databases/database': 'database.png', 'databases/database': 'database.png',
'databases/databaseuser': 'postgresql.png', 'databases/databaseuser': 'postgresql.png',
'vps/vps': 'TuxBox.png', 'vps/vps': 'TuxBox.png',
'miscellaneous/miscellaneous': 'Misc-Misc-Box-icon.png',
# Accounts # Accounts
'accounts/account': 'Face-monkey.png', 'accounts/account': 'Face-monkey.png',
'contacts/contact': 'contact.png', 'contacts/contact': 'contact.png',
'orders/order': 'basket.png', 'orders/order': 'basket.png',
'prices/price': 'price.png', 'orders/service': 'price.png',
'prices/pack': 'pack.png',
# Administration # Administration
'users/user': 'Mr-potato.png', 'users/user': 'Mr-potato.png',
'djcelery/taskstate': 'taskstate.png', 'djcelery/taskstate': 'taskstate.png',

View File

@ -0,0 +1,614 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:export-ydpi="90.000000"
inkscape:export-xdpi="90.000000"
inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
width="48"
height="48"
id="svg11300"
sodipodi:version="0.32"
inkscape:version="0.43+devel"
sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/categories"
sodipodi:docname="applications-office.svg"
version="1.0"
inkscape:r_cx="true"
inkscape:r_cy="true">
<defs
id="defs3">
<linearGradient
inkscape:collect="always"
id="linearGradient9952">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop9954" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop9956" />
</linearGradient>
<linearGradient
id="linearGradient9920">
<stop
id="stop9922"
offset="0"
style="stop-color:#5b90c8;stop-opacity:1;" />
<stop
style="stop-color:#8fb0d1;stop-opacity:1;"
offset="0.31578946"
id="stop9924" />
<stop
id="stop9926"
offset="1"
style="stop-color:#34679d;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient9910">
<stop
style="stop-color:#729fcf;stop-opacity:1;"
offset="0"
id="stop9912" />
<stop
id="stop9918"
offset="0.31578946"
style="stop-color:#a5bfda;stop-opacity:1;" />
<stop
style="stop-color:#376ca4;stop-opacity:1;"
offset="1"
id="stop9914" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient6395">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop6397" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop6399" />
</linearGradient>
<linearGradient
id="linearGradient2994">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop2996" />
<stop
style="stop-color:#c9c9c9;stop-opacity:1;"
offset="1"
id="stop2998" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient2984">
<stop
style="stop-color:#e7e2b8;stop-opacity:1;"
offset="0"
id="stop2986" />
<stop
style="stop-color:#e7e2b8;stop-opacity:0;"
offset="1"
id="stop2988" />
</linearGradient>
<linearGradient
id="linearGradient2974">
<stop
style="stop-color:#c1c1c1;stop-opacity:1;"
offset="0"
id="stop2976" />
<stop
style="stop-color:#acacac;stop-opacity:1;"
offset="1"
id="stop2978" />
</linearGradient>
<linearGradient
id="linearGradient2966">
<stop
style="stop-color:#ffd1d1;stop-opacity:1;"
offset="0"
id="stop2968" />
<stop
id="stop3006"
offset="0.5"
style="stop-color:#ff1d1d;stop-opacity:1;" />
<stop
style="stop-color:#6f0000;stop-opacity:1;"
offset="1"
id="stop2970" />
</linearGradient>
<linearGradient
id="linearGradient5068">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop5070" />
<stop
id="stop5078"
offset="0.32894737"
style="stop-color:#ffffff;stop-opacity:0.69;" />
<stop
id="stop5076"
offset="0.65789473"
style="stop-color:#c2c2c2;stop-opacity:0.34;" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop5072" />
</linearGradient>
<linearGradient
id="linearGradient5058">
<stop
style="stop-color:#959791;stop-opacity:1;"
offset="0"
id="stop5060" />
<stop
id="stop5066"
offset="0.5"
style="stop-color:#f8f8f8;stop-opacity:1;" />
<stop
style="stop-color:#8c8c8c;stop-opacity:1;"
offset="1"
id="stop5062" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5048">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop5050" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop5052" />
</linearGradient>
<linearGradient
id="linearGradient5036">
<stop
style="stop-color:#f5f5f5;stop-opacity:0.09;"
offset="0"
id="stop5038" />
<stop
id="stop5044"
offset="0.2631579"
style="stop-color:#ffffff;stop-opacity:0.89999998;" />
<stop
style="stop-color:#c7c7c7;stop-opacity:0.46000001;"
offset="0.74792242"
id="stop5088" />
<stop
style="stop-color:#ffffff;stop-opacity:0.78039217;"
offset="1"
id="stop5040" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5036"
id="linearGradient5042"
x1="15.375"
y1="26.0846"
x2="34.250416"
y2="26.0846"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0,5.625)" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5048"
id="radialGradient5054"
cx="23.25"
cy="37.75"
fx="23.25"
fy="37.75"
r="14.875"
gradientTransform="matrix(1,0,0,0.420168,0,21.88866)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5058"
id="linearGradient5064"
x1="30.875"
y1="19.4596"
x2="15.625"
y2="19.0846"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0,5.625)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5068"
id="linearGradient5074"
x1="11.75"
y1="14.1875"
x2="37.625"
y2="14.1875"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2966"
id="linearGradient6343"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(5.259571e-3,0.999987,0.999987,-5.259571e-3,42.9955,-2.496241)"
x1="48.90625"
y1="17.376184"
x2="50.988335"
y2="22.250591" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2974"
id="linearGradient6345"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(5.259571e-3,0.999987,0.999987,-5.259571e-3,42.99552,-2.496241)"
x1="46"
y1="19.8125"
x2="47.6875"
y2="22.625" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2984"
id="radialGradient6347"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.53767e-2,2.923527,2.029691,-1.067544e-2,20.39098,-69.72665)"
cx="29.053354"
cy="27.640751"
fx="29.053354"
fy="27.640751"
r="3.2408545" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2994"
id="linearGradient6349"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(5.259571e-3,0.999987,0.999987,-5.259571e-3,48.6929,-14.14491)"
x1="25.71875"
y1="31.046875"
x2="25.514589"
y2="30.703125" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5048"
id="radialGradient6353"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.420168,8.187895e-16,21.88866)"
cx="23.25"
cy="37.75"
fx="23.25"
fy="37.75"
r="14.875" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6395"
id="linearGradient6401"
x1="20.064156"
y1="27.140348"
x2="20.682873"
y2="44.110912"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient9952"
id="linearGradient9961"
gradientUnits="userSpaceOnUse"
x1="55.876038"
y1="62.401989"
x2="38.061356"
y2="62.827091"
gradientTransform="matrix(-0.493304,-0.716654,0.716654,-0.493304,-9.26781,79.4192)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient9910"
id="linearGradient9965"
gradientUnits="userSpaceOnUse"
x1="28.244684"
y1="60.445503"
x2="28.244684"
y2="68.224884"
gradientTransform="matrix(-0.493304,-0.716654,0.716654,-0.493304,-9.26781,79.4192)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient9920"
id="linearGradient9968"
gradientUnits="userSpaceOnUse"
x1="28.244684"
y1="60.445503"
x2="28.244684"
y2="68.224884"
gradientTransform="matrix(-0.493304,-0.716654,0.716654,-0.493304,-9.26781,79.4192)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient9910"
id="linearGradient9972"
gradientUnits="userSpaceOnUse"
x1="28.244684"
y1="60.445503"
x2="28.244684"
y2="68.224884"
gradientTransform="matrix(-0.493304,-0.716654,0.716654,-0.493304,-9.26781,79.4192)" />
</defs>
<sodipodi:namedview
stroke="#ef2929"
fill="#eeeeec"
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="0.25490196"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8284271"
inkscape:cx="84.339618"
inkscape:cy="48.984988"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:showpageshadow="false"
inkscape:window-width="1136"
inkscape:window-height="1061"
inkscape:window-x="2359"
inkscape:window-y="0"
width="48px"
height="48px"
objecttolerance="1"
inkscape:object-nodes="false"
inkscape:has_abs_tolerance="false" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:creator>
<cc:Agent>
<dc:title>Jakub Steiner</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>http://jimmac.musichall.cz</dc:source>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
<dc:title>Office Applications</dc:title>
<dc:subject>
<rdf:Bag>
<rdf:li>office</rdf:li>
<rdf:li>applications</rdf:li>
<rdf:li>category</rdf:li>
</rdf:Bag>
</dc:subject>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Notice" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Attribution" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
<cc:requires
rdf:resource="http://web.resource.org/cc/ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer"
inkscape:r_cx="true"
inkscape:r_cy="true">
<path
sodipodi:type="arc"
style="opacity:0.31868131;color:#000000;fill:url(#radialGradient5054);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="path5046"
sodipodi:cx="23.25"
sodipodi:cy="37.75"
sodipodi:rx="14.375"
sodipodi:ry="5.75"
d="M 37.625 37.75 A 14.375 5.75 0 1 1 8.875,37.75 A 14.375 5.75 0 1 1 37.625 37.75 z"
inkscape:r_cx="true"
inkscape:r_cy="true"
transform="translate(1,4)" />
<path
sodipodi:type="arc"
style="opacity:0.6978022;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="path5056"
sodipodi:cx="24.9375"
sodipodi:cy="36.8125"
sodipodi:rx="8.5625"
sodipodi:ry="2.9375"
d="M 33.5 36.8125 A 8.5625 2.9375 0 1 1 16.375,36.8125 A 8.5625 2.9375 0 1 1 33.5 36.8125 z"
inkscape:r_cx="true"
inkscape:r_cy="true"
transform="translate(-0.125,4.75)" />
<path
transform="matrix(0.573913,0,0,0.573913,10.90652,19.58478)"
inkscape:r_cy="true"
inkscape:r_cx="true"
d="M 37.625 37.75 A 14.375 5.75 0 1 1 8.875,37.75 A 14.375 5.75 0 1 1 37.625 37.75 z"
sodipodi:ry="5.75"
sodipodi:rx="14.375"
sodipodi:cy="37.75"
sodipodi:cx="23.25"
id="path6351"
style="opacity:0.78571424;color:#000000;fill:url(#radialGradient6353);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="opacity:1;color:#000000;fill:url(#linearGradient5074);fill-opacity:1;fill-rule:evenodd;stroke:#8c8c8c;stroke-width:0.99749684;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="path5030"
sodipodi:cx="24.6875"
sodipodi:cy="14.1875"
sodipodi:rx="12.4375"
sodipodi:ry="5.6875"
d="M 37.125 14.1875 A 12.4375 5.6875 0 1 1 12.25,14.1875 A 12.4375 5.6875 0 1 1 37.125 14.1875 z"
inkscape:r_cx="true"
inkscape:r_cy="true"
transform="matrix(1.005025,0,0,1,-0.186558,5.625)" />
<g
id="g6334"
transform="translate(-40.25,-7.5)"
inkscape:r_cx="true"
inkscape:r_cy="true">
<path
sodipodi:nodetypes="cccccc"
id="path2960"
d="M 81.189325,8.8512115 L 75.593983,14.505723 L 60.324794,46.150492 C 59.091904,49.407024 63.727034,51.320174 65.336892,48.436664 L 80.231414,16.856367 L 81.189325,8.8512115 z "
style="color:#000000;fill:#cb9022;fill-opacity:1;fill-rule:evenodd;stroke:#5c410c;stroke-width:1.00000083;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
inkscape:r_cx="true"
inkscape:r_cy="true" />
<path
style="color:#000000;fill:url(#linearGradient6343);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 63.226659,41.398 C 63.226659,41.398 63.327968,42.834989 64.580911,43.390907 C 65.871703,43.963619 67.237126,43.376936 67.237126,43.376936 L 64.794871,48.421105 C 64.794871,48.421105 63.921152,49.877754 61.954609,49.092304 C 60.014929,48.317582 60.784239,46.41092 60.784239,46.41092 L 63.226659,41.398 z "
id="path2964"
sodipodi:nodetypes="czcczcc"
inkscape:r_cx="true"
inkscape:r_cy="true" />
<path
sodipodi:nodetypes="czcczcc"
id="path2962"
d="M 63.226659,41.398 C 63.226659,41.398 63.327968,42.834989 64.580911,43.390907 C 65.871703,43.963619 67.237126,43.376936 67.237126,43.376936 L 66.247658,45.38217 C 66.247658,45.38217 64.933158,46.216127 63.561344,45.615052 C 62.151825,44.997456 62.237191,43.403234 62.237191,43.403234 L 63.226659,41.398 z "
style="color:#000000;fill:url(#linearGradient6345);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
inkscape:r_cx="true"
inkscape:r_cy="true" />
<path
sodipodi:nodetypes="cccc"
id="path2982"
d="M 80.47809,10.282021 L 76.001816,14.805631 C 76.822195,16.301338 78.170037,17.07551 79.730379,16.661047 L 80.47809,10.282021 z "
style="color:#000000;fill:url(#radialGradient6347);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
inkscape:r_cx="true"
inkscape:r_cy="true" />
<path
sodipodi:nodetypes="cccc"
id="path2992"
d="M 79.078925,11.63315 L 80.664108,9.9997888 L 80.363939,12.345152 C 79.646349,12.567679 79.300467,12.163243 79.078925,11.63315 z "
style="color:#000000;fill:url(#linearGradient6349);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
inkscape:r_cx="true"
inkscape:r_cy="true" />
<path
sodipodi:nodetypes="ccccc"
id="path3002"
d="M 75.970567,14.805795 L 77.228768,16.3617 L 64.439998,43.316362 C 63.581628,42.876439 63.348884,42.080316 63.26774,41.419121 L 75.970567,14.805795 z "
style="color:#000000;fill:#ffffff;fill-opacity:0.36363639;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
inkscape:r_cx="true"
inkscape:r_cy="true" />
<path
sodipodi:nodetypes="ccccc"
id="path3004"
d="M 79.792879,16.660719 L 79.043875,16.852161 L 66.494476,43.620552 C 66.494476,43.620552 67.107516,43.507166 67.242681,43.400734 L 79.792879,16.660719 z "
style="color:#000000;fill:#000000;fill-opacity:0.36363639;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
inkscape:r_cx="true"
inkscape:r_cy="true" />
</g>
<path
sodipodi:nodetypes="ccccc"
inkscape:r_cy="true"
inkscape:r_cx="true"
id="path6403"
d="M 35.590974,22.336294 L 33.477152,40.669163 C 32.634089,45.449016 16.730857,45.501261 15.772831,40.669163 L 13.570621,22.398108 C 15.678392,27.628519 34.583355,26.853544 35.590974,22.336294 z "
style="opacity:0.53846154;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
style="color:#000000;fill:#e7e7e7;fill-opacity:1;fill-rule:evenodd;stroke:#7d7d7d;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 23.876644,29.502754 C 24.759055,28.895352 27.257458,31.087465 29.508623,34.357876 C 31.759788,37.628287 32.227456,41.218243 32.03304,41.352068 C 31.816362,41.501217 28.652226,39.767357 26.40106,36.496946 C 24.149895,33.226535 22.994232,30.110156 23.876644,29.502754 z "
id="path9903"
sodipodi:nodetypes="cszsc"
inkscape:r_cx="true"
inkscape:r_cy="true" />
<g
id="g9975"
transform="matrix(0.796014,8.258057e-2,-8.258057e-2,0.796014,1.530712,-0.729968)"
inkscape:r_cx="true"
inkscape:r_cy="true">
<path
transform="matrix(-0.56251,-0.817194,0.825069,-0.567931,-15.22056,83.88674)"
sodipodi:open="true"
sodipodi:end="6.067175"
sodipodi:start="4.0433671"
inkscape:r_cy="true"
inkscape:r_cx="true"
d="M 32.085889,57.685642 A 13.0625,5.5 0 0 1 52.946432,60.821161"
sodipodi:ry="5.5"
sodipodi:rx="13.0625"
sodipodi:cy="62"
sodipodi:cx="40.1875"
id="path9905"
style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#3465a4;stroke-width:1.25350261;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:type="arc" />
<path
transform="matrix(-0.56251,-0.817194,0.825069,-0.567931,-14.28556,81.45324)"
sodipodi:end="9.0633414"
sodipodi:start="5.9815064"
inkscape:r_cy="true"
inkscape:r_cx="true"
d="M 36.364517,54.473244 A 3,1.5625 0 0 1 30.693831,55.490029 L 33.5,54.9375 z"
sodipodi:ry="1.5625"
sodipodi:rx="3"
sodipodi:cy="54.9375"
sodipodi:cx="33.5"
id="path9907"
style="color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#3465a4;stroke-width:1.25350261;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:type="arc" />
</g>
<path
style="color:#000000;fill:url(#linearGradient9972);fill-opacity:1;fill-rule:evenodd;stroke:#3465a4;stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 18.309496,27.045877 C 21.251305,31.200587 24.142325,34.798884 26.528053,37.384546 L 30.395567,34.722368 C 28.634238,31.171969 25.891142,26.577557 22.565009,21.745473 C 16.561094,13.023205 10.607438,6.3782909 8.2525006,5.5900119 C 8.1802296,5.5671084 8.0833128,5.5369591 8.0181135,5.5255274 C 7.9722757,5.5185456 7.9043654,5.5209196 7.8622441,5.5199063 C 7.7960537,5.5202124 7.7111891,5.5338786 7.6548077,5.5497821 C 7.6410248,5.5542514 7.5988177,5.5542796 7.5856625,5.5597406 C 7.5728231,5.5656972 7.5463,5.5882804 7.5340957,5.5952363 C 7.5281538,5.598964 7.5140946,5.6090039 7.5083126,5.6129839 C 7.5025306,5.6169639 7.488133,5.6265121 7.4825295,5.6307315 C 7.4716748,5.6396481 7.4411107,5.6563605 7.4309627,5.6662272 C 7.4211649,5.6765657 7.4060698,5.7159812 7.3969742,5.7272601 C 7.3619901,5.7742473 7.3189255,5.8486404 7.2950089,5.9103589 C 7.2809165,5.9500664 7.2544536,6.0126537 7.2446102,6.0579632 C 7.2320109,6.122947 7.225572,6.2242406 7.2211638,6.2999257 C 7.1167301,8.7810968 11.19814,16.714759 17.202055,25.437027 C 17.575632,25.979746 17.93728,26.520196 18.309496,27.045877 z "
id="path9898"
inkscape:r_cx="true"
inkscape:r_cy="true" />
<path
style="color:#000000;fill:url(#linearGradient9968);fill-opacity:1;fill-rule:evenodd;stroke:#3465a4;stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 13.743778,20.854607 C 14.490825,21.902176 15.264732,22.908717 15.999685,23.855883 L 21.414206,20.128834 C 20.528967,18.671321 19.545881,17.138574 18.484475,15.596602 C 13.418672,8.2371884 8.1915815,2.7719285 5.9415208,2.2879093 C 5.9217547,2.284001 5.8740908,2.2754466 5.8547972,2.2723305 C 5.8357406,2.2696111 5.7866513,2.2586727 5.7680735,2.2567517 C 5.7222289,2.2529485 5.654997,2.249885 5.6122042,2.2511306 C 5.5953336,2.2520365 5.5594304,2.259366 5.543059,2.2610891 C 5.4946952,2.2674897 5.4227683,2.2848985 5.3789847,2.298754 C 5.3646479,2.3037905 5.3236556,2.3028367 5.3098395,2.3087125 C 5.2895077,2.3181575 5.2516346,2.3506057 5.2324896,2.3619558 C 5.2262404,2.3659521 5.212821,2.3754945 5.2067058,2.3797039 C 5.2005906,2.3839132 5.1868861,2.3930414 5.1809227,2.3974515 C 5.1634848,2.4112831 5.1196543,2.435075 5.1035721,2.4506952 C 5.093151,2.461503 5.0794067,2.5001343 5.0695837,2.5117282 C 5.0410096,2.5476796 4.9990687,2.6086509 4.975823,2.6515421 C 4.9683686,2.6662195 4.9487039,2.6971398 4.9418346,2.7125751 C 4.9253931,2.752103 4.9042515,2.8159978 4.8914366,2.8601789 C 4.8865983,2.8782182 4.8792899,2.9279775 4.8750265,2.9467491 C 4.871049,2.9658837 4.8620226,3.0134605 4.8586165,3.0333193 C 4.5074188,5.3078973 7.7463172,12.141716 12.812121,19.50113 C 13.127326,19.959048 13.428214,20.412099 13.743778,20.854607 z "
id="path9893"
inkscape:r_cx="true"
inkscape:r_cy="true" />
<path
style="color:#000000;fill:url(#linearGradient9965);fill-opacity:1;fill-rule:evenodd;stroke:#3465a4;stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 6.2003444,8.0188112 L 10.016292,5.3921292 C 7.9914232,3.1273553 6.1637351,1.7285397 5.1772693,1.7848891 C 5.1709747,1.7853731 5.1469802,1.7864435 5.1407557,1.7870493 C 5.1346027,1.7877759 5.1103261,1.7883613 5.1042428,1.7892089 C 5.0982308,1.7901786 5.0736694,1.7902766 5.0677287,1.7913684 C 5.0325207,1.7986523 4.9757109,1.8194528 4.9431348,1.8311831 C 4.93778,1.8332626 4.922632,1.8467262 4.9173517,1.8489307 C 4.9121466,1.8512599 4.8859682,1.8486359 4.8808393,1.8510911 C 4.8757854,1.8536722 4.8600332,1.8661321 4.8550555,1.8688392 C 4.850154,1.8716723 4.8340961,1.8836267 4.8292725,1.8865868 C 4.8245243,1.8896735 4.8081584,1.9011205 4.8034887,1.9043349 C 4.798819,1.9075493 4.7822833,1.9187498 4.7777056,1.9220825 C 4.7732177,1.9255319 4.7563182,1.9362636 4.7519218,1.9398306 C 4.747616,1.9435138 4.7303534,1.9537793 4.7261388,1.9575782 C 4.7220135,1.961493 4.7151184,1.986883 4.7110844,1.9909135 C 4.7071399,1.9950587 4.6891555,2.0044016 4.6853013,2.0086611 C 4.6627137,2.0349023 4.6230017,2.080542 4.6036271,2.1108296 C 4.6004871,2.1159885 4.5916266,2.1388962 4.5885744,2.1441658 C 4.5856107,2.1495456 4.5763966,2.1720133 4.5735205,2.1775019 C 4.5707331,2.1830994 4.5611667,2.2051304 4.5584673,2.2108374 C 4.1536425,3.1121735 4.807748,5.3188169 6.2003444,8.0188112 z "
id="path9888"
inkscape:r_cx="true"
inkscape:r_cy="true" />
<path
inkscape:r_cy="true"
inkscape:r_cx="true"
style="opacity:0.35714285;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient9961);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 15.417724,21.244088 C 15.60655,21.511403 15.795857,21.760461 15.983434,22.02224 L 19.733027,19.438212 C 19.219874,18.65987 18.496328,17.390277 17.956782,16.581053 C 11.744978,7.2644337 5.6568524,2.6091151 5.4030398,2.7829476 C 5.1238436,2.9741649 7.567532,10.260041 13.900362,19.06121 C 14.272182,19.577953 15.059948,20.737597 15.417724,21.244088 z "
id="path9930"
sodipodi:nodetypes="cccszsc" />
<path
style="opacity:1;color:#000000;fill:url(#linearGradient5042);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient5064);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 37.125,20 L 34.25,41.375 C 33.333333,46.572159 16.041667,46.628965 15,41.375 L 12.036612,20.007583 C 13.877231,26.876868 36.029411,27.218151 37.125,20 z "
id="path5034"
inkscape:r_cx="true"
inkscape:r_cy="true"
sodipodi:nodetypes="ccccc" />
<path
style="opacity:0.72527473;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 40.481863,2.524195 L 35.708893,7.3855542 L 27.400388,24.665476 L 36.10664,7.8716901 L 40.481863,2.524195 z "
id="path6355"
inkscape:r_cx="true"
inkscape:r_cy="true" />
<path
style="opacity:0.41758242;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 40.349281,2.524195 L 39.465397,9.2417095 L 32.703689,23.64901 L 39.244426,9.1975153 L 38.714096,9.2859036 L 40.349281,2.524195 z "
id="path6357"
inkscape:r_cx="true"
inkscape:r_cy="true" />
<path
style="opacity:1;color:#000000;fill:url(#linearGradient6401);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 18.473165,25.284195 L 19.445437,44.199301 L 22.715805,44.729631 L 22.892582,25.814525 L 18.473165,25.284195 z "
id="path6393"
inkscape:r_cx="true"
inkscape:r_cy="true" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -0,0 +1,894 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
width="48"
height="48"
sodipodi:docname="Misc-Misc-Box-icon.svg"
inkscape:export-filename="/home/glic3rinu/orchestra/django-orchestra/orchestra/static/orchestra/icons/Misc-Misc-Box-icon.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<metadata
id="metadata8">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs6" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="640"
inkscape:window-height="480"
id="namedview4"
showgrid="false"
inkscape:zoom="2.6074563"
inkscape:cx="9.9373405"
inkscape:cy="26.673145"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" />
<image
width="47.427719"
height="47.427719"
xlink:href="data:image/png;base64,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
rkJggg==
"
id="image10"
x="0.15054667"
y="0.22997534" />
</svg>

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,418 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="Package-x-generic.svg"
inkscape:version="0.48.3.1 r9886"
sodipodi:version="0.32"
id="svg2963"
height="48px"
width="48px"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.1"
inkscape:export-filename="/home/glic3/orchestra/django-orchestra/orchestra/static/orchestra/icons/Package-x-generic.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs3">
<linearGradient
inkscape:collect="always"
id="linearGradient2884">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop2886" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop2888" />
</linearGradient>
<linearGradient
id="linearGradient2869">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop2871" />
<stop
style="stop-color:#cccccc;stop-opacity:1.0000000;"
offset="1.0000000"
id="stop2873" />
</linearGradient>
<linearGradient
id="linearGradient4995">
<stop
id="stop4997"
offset="0"
style="stop-color:#de9523;stop-opacity:1;" />
<stop
id="stop4999"
offset="1.0000000"
style="stop-color:#a36d18;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
id="linearGradient4987"
inkscape:collect="always">
<stop
id="stop4989"
offset="0"
style="stop-color:#a0670c;stop-opacity:1;" />
<stop
id="stop4991"
offset="1"
style="stop-color:#a0670c;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient4979">
<stop
id="stop4981"
offset="0.0000000"
style="stop-color:#fbf0e0;stop-opacity:1.0000000;" />
<stop
id="stop4983"
offset="1.0000000"
style="stop-color:#f0ce99;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
id="linearGradient4946"
inkscape:collect="always">
<stop
id="stop4948"
offset="0"
style="stop-color:#000000;stop-opacity:1;" />
<stop
id="stop4950"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient4222">
<stop
id="stop4224"
offset="0"
style="stop-color:#ffffff;stop-opacity:1;" />
<stop
id="stop4226"
offset="1.0000000"
style="stop-color:#ffffff;stop-opacity:0.68639052;" />
</linearGradient>
<linearGradient
id="linearGradient4210">
<stop
id="stop4212"
offset="0.0000000"
style="stop-color:#eaba6f;stop-opacity:1.0000000;" />
<stop
id="stop4214"
offset="1.0000000"
style="stop-color:#b97a1b;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
id="linearGradient4192">
<stop
id="stop4194"
offset="0"
style="stop-color:#e9b96e;stop-opacity:1;" />
<stop
id="stop4196"
offset="1.0000000"
style="stop-color:#f1d19e;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
id="linearGradient4182">
<stop
id="stop4184"
offset="0.0000000"
style="stop-color:#a36d18;stop-opacity:1.0000000;" />
<stop
id="stop4186"
offset="1.0000000"
style="stop-color:#d79020;stop-opacity:1.0000000;" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4946"
id="radialGradient2252"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.000000,0.000000,0.000000,0.333333,2.658463e-16,23.58206)"
cx="22.930462"
cy="35.373093"
fx="22.930462"
fy="35.373093"
r="17.576654" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4979"
id="linearGradient2269"
gradientUnits="userSpaceOnUse"
x1="30.062469"
y1="13.444801"
x2="17.696169"
y2="12.333632" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4995"
id="linearGradient2274"
gradientUnits="userSpaceOnUse"
x1="36.288929"
y1="14.661557"
x2="47.065835"
y2="15.267649" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4192"
id="linearGradient2277"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.000000,0.000000,0.000000,0.986355,0.000000,0.316638)"
x1="25.381256"
y1="24.720648"
x2="24.119167"
y2="16.170370" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4182"
id="linearGradient2280"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.000000,0.000000,0.000000,1.039184,0.000000,-4.057054e-2)"
x1="16.148972"
y1="12.636667"
x2="34.193642"
y2="12.636667" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4987"
id="linearGradient2282"
gradientUnits="userSpaceOnUse"
x1="21.906841"
y1="9.7577486"
x2="22.071806"
y2="16.020695" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4222"
id="linearGradient2285"
gradientUnits="userSpaceOnUse"
x1="18.706615"
y1="19.912336"
x2="30.014812"
y2="47.388485" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4210"
id="linearGradient2288"
gradientUnits="userSpaceOnUse"
x1="24.990499"
y1="34.004856"
x2="24.990499"
y2="22.585211" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2884"
id="radialGradient2896"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.353283,5.468101e-16,-1.144754e-13,0.635968,-8.458890,3.413470)"
cx="23.943670"
cy="20.800287"
fx="23.943670"
fy="20.800287"
r="6.4286140" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2869"
id="radialGradient2898"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.749420,0.000000,0.000000,0.394055,6.226925,10.09253)"
cx="21.578989"
cy="9.0255041"
fx="21.578989"
fy="9.0255041"
r="9.5862970" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2884"
id="radialGradient2906"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.353283,5.468101e-16,-1.144754e-13,0.635968,-8.458890,3.413470)"
cx="23.943670"
cy="20.800287"
fx="23.943670"
fy="20.800287"
r="6.4286140" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2869"
id="radialGradient2908"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.749420,0.000000,0.000000,0.394055,6.226925,10.09253)"
cx="21.578989"
cy="9.8105707"
fx="21.578989"
fy="9.8105707"
r="9.5862970" />
</defs>
<sodipodi:namedview
inkscape:window-y="27"
inkscape:window-x="0"
inkscape:window-height="1024"
inkscape:window-width="1920"
stroke="#c17d11"
fill="#e9b96e"
inkscape:showpageshadow="false"
inkscape:document-units="px"
inkscape:grid-bbox="true"
showgrid="false"
inkscape:current-layer="layer1"
inkscape:cy="16.010305"
inkscape:cx="17.013906"
inkscape:zoom="2.8284271"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="0.16470588"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
inkscape:window-maximized="1" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Package</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Jakub Steiner</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>http://jimmac.musichall.cz/</dc:source>
<dc:subject>
<rdf:Bag>
<rdf:li>package</rdf:li>
<rdf:li>archive</rdf:li>
<rdf:li>tarball</rdf:li>
<rdf:li>tar</rdf:li>
<rdf:li>bzip</rdf:li>
<rdf:li>gzip</rdf:li>
<rdf:li>zip</rdf:li>
<rdf:li>arj</rdf:li>
<rdf:li>tar</rdf:li>
<rdf:li>jar</rdf:li>
</rdf:Bag>
</dc:subject>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Notice" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Attribution" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
<cc:requires
rdf:resource="http://web.resource.org/cc/ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
inkscape:label="Layer 1"
id="layer1">
<path
transform="matrix(1.247126,0.000000,0.000000,1.247126,-5.363677,-9.549748)"
d="M 40.507116 35.373093 A 17.576654 5.8588848 0 1 1 5.3538074,35.373093 A 17.576654 5.8588848 0 1 1 40.507116 35.373093 z"
sodipodi:ry="5.8588848"
sodipodi:rx="17.576654"
sodipodi:cy="35.373093"
sodipodi:cx="22.930462"
id="path4944"
style="opacity:0.56962025;color:#000000;fill:url(#radialGradient2252);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible"
sodipodi:type="arc" />
<rect
ry="2.3944440"
rx="2.4241352"
y="15.275433"
x="7.4623847"
height="23.112879"
width="31.978371"
id="rect3115"
style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2288);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#a0670c;stroke-width:1.0000007;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible" />
<rect
style="opacity:0.48101267;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#linearGradient2285);stroke-width:1.0000011;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible"
id="rect4220"
width="29.804138"
height="21.075352"
x="8.4989996"
y="16.243698"
rx="1.2846882"
ry="1.2846882" />
<path
sodipodi:nodetypes="ccccc"
id="path4162"
d="M 8.7697819,16.547178 L 13.819731,9.7363408 L 32.615291,9.6353255 L 37.835264,16.408941 L 8.7697819,16.547178 z "
style="fill:url(#linearGradient2280);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2282);stroke-width:1.0000008;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000" />
<path
sodipodi:nodetypes="ccccc"
id="path4164"
d="M 38.276321,16.325703 L 43.469269,23.520364 L 3.9609455,23.520364 L 8.6250143,16.320763 L 38.276321,16.325703 z "
style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2277);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#a0670c;stroke-width:1.0000005;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible" />
<path
sodipodi:nodetypes="ccccc"
id="path4178"
d="M 32.849333,9.6141009 L 37.532219,16.536370 L 46.565835,20.921197 L 38.451329,12.008545 L 32.849333,9.6141009 z "
style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2274);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#a0670c;stroke-width:1.0000005;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible" />
<path
sodipodi:nodetypes="ccccc"
style="opacity:1.0000000;color:#000000;fill:#f8e8cf;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#a0670c;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible"
d="M 13.617702,9.7151161 L 9.6419233,16.435355 L 0.50729183,20.820182 L 8.6217973,11.907530 L 13.617702,9.7151161 z "
id="path4180" />
<path
style="opacity:1.0000000;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#f4e3ca;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible"
d="M 37.024959,16.436050 L 41.478871,22.493011 L 5.6482792,22.493011 L 9.7892982,16.312694 L 37.024959,16.436050 z "
id="path4954"
sodipodi:nodetypes="ccccc" />
<g
id="g2892"
transform="matrix(0.676538,0.000000,0.000000,1.000000,3.994869,0.000000)">
<path
style="opacity:1.0000000;color:#000000;fill:url(#radialGradient2896);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:2.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
d="M 23.926073,12.101621 C 18.588065,12.101621 14.282569,14.129809 14.282569,16.641813 L 33.604773,16.641813 C 33.604773,14.129809 29.264081,12.101621 23.926073,12.101621 z "
id="path2882" />
<path
id="path2141"
d="M 23.931961,12.861168 C 20.379986,12.861168 17.515057,14.210748 17.515057,15.882266 L 30.372285,15.882266 C 30.372285,14.210748 27.483936,12.861168 23.931961,12.861168 z "
style="opacity:1.0000000;color:#000000;fill:url(#radialGradient2898);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:2.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
</g>
<g
transform="matrix(0.676538,0.000000,0.000000,1.000000,10.49487,0.000000)"
id="g2900">
<path
id="path2902"
d="M 23.926073,12.101621 C 18.588065,12.101621 14.282569,14.129809 14.282569,16.641813 L 33.604773,16.641813 C 33.604773,14.129809 29.264081,12.101621 23.926073,12.101621 z "
style="opacity:1.0000000;color:#000000;fill:url(#radialGradient2906);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:2.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
<path
style="opacity:1.0000000;color:#000000;fill:url(#radialGradient2908);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:2.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
d="M 23.931961,12.861168 C 20.379986,12.861168 17.515057,14.210748 17.515057,15.882266 L 30.372285,15.882266 C 30.372285,14.210748 27.483936,12.861168 23.931961,12.861168 z "
id="path2904" />
</g>
<path
style="opacity:0.87974685;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2269);stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
d="M 9.6523127,16.371803 L 13.036643,10.593020 L 33.514841,10.517799 L 37.356782,16.369880 L 9.6523127,16.371803 z "
id="path4966"
sodipodi:nodetypes="ccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB